@@ -364,35 +364,41 @@ class TestNSRegularExpression : XCTestCase {
364
364
XCTAssertEqual ( regex!. replaceMatches ( in: str, range: range, withTemplate: " $1-$2-$3 " ) , 1 )
365
365
}
366
366
367
- func test_badPattern( ) {
367
+ func test_badPattern( ) throws {
368
368
do {
369
369
_ = try NSRegularExpression ( pattern: " ( " , options: [ ] )
370
370
XCTFail ( )
371
371
} catch {
372
- let err = String ( describing: error)
373
- XCTAssertEqual ( err, " Error Domain=NSCocoaErrorDomain Code=2048 \" (null) \" UserInfo={NSInvalidValue=(} " )
372
+ let err = try XCTUnwrap ( error as? NSError )
373
+ XCTAssertEqual ( err. domain, NSCocoaErrorDomain)
374
+ XCTAssertEqual ( err. code, CocoaError . formatting. rawValue)
375
+ XCTAssertEqual ( err. userInfo [ " NSInvalidValue " ] as? String , " ( " )
374
376
}
375
377
}
376
378
377
- func test_unicodeNamedGroup( ) {
379
+ func test_unicodeNamedGroup( ) throws {
378
380
let patternString = " (?<りんご>a) "
379
381
do {
380
382
_ = try NSRegularExpression ( pattern: patternString, options: [ ] )
381
383
XCTFail ( " Building regular expression for pattern with unicode group name should fail. " )
382
384
} catch {
383
- let err = String ( describing: error)
384
- XCTAssertEqual ( err, " Error Domain=NSCocoaErrorDomain Code=2048 \" (null) \" UserInfo={NSInvalidValue=(?<りんご>a)} " )
385
+ let err = try XCTUnwrap ( error as? NSError )
386
+ XCTAssertEqual ( err. domain, NSCocoaErrorDomain)
387
+ XCTAssertEqual ( err. code, CocoaError . formatting. rawValue)
388
+ XCTAssertEqual ( err. userInfo [ " NSInvalidValue " ] as? String , patternString)
385
389
}
386
390
}
387
391
388
- func test_conflictingNamedGroups( ) {
392
+ func test_conflictingNamedGroups( ) throws {
389
393
let patternString = " (?<name>a)(?<name>b) "
390
394
do {
391
395
_ = try NSRegularExpression ( pattern: patternString, options: [ ] )
392
396
XCTFail ( " Building regular expression for pattern with identically named groups should fail. " )
393
397
} catch {
394
- let err = String ( describing: error)
395
- XCTAssertEqual ( err, " Error Domain=NSCocoaErrorDomain Code=2048 \" (null) \" UserInfo={NSInvalidValue=(?<name>a)(?<name>b)} " )
398
+ let err = try XCTUnwrap ( error as? NSError )
399
+ XCTAssertEqual ( err. domain, NSCocoaErrorDomain)
400
+ XCTAssertEqual ( err. code, CocoaError . formatting. rawValue)
401
+ XCTAssertEqual ( err. userInfo [ " NSInvalidValue " ] as? String , patternString)
396
402
}
397
403
}
398
404
0 commit comments