@@ -5,7 +5,7 @@ class TestCompass: XCTestCase {
55
66 override func setUp( ) {
77 Compass . scheme = " compassTests "
8- Compass . routes = [ " profile:{user} " , " login " ]
8+ Compass . routes = [ " profile:{user} " , " login " , " callback " ]
99 }
1010
1111 func testScheme( ) {
@@ -14,7 +14,7 @@ class TestCompass: XCTestCase {
1414
1515 func testRoutes( ) {
1616 XCTAssert ( !Compass. routes. isEmpty)
17- XCTAssert ( Compass . routes. count == 2 )
17+ XCTAssert ( Compass . routes. count == 3 )
1818 XCTAssertEqual ( Compass . routes [ 0 ] , " profile:{user} " )
1919 XCTAssertEqual ( Compass . routes [ 1 ] , " login " )
2020 }
@@ -36,10 +36,32 @@ class TestCompass: XCTestCase {
3636 }
3737
3838 func testParseWithoutArguments( ) {
39- let url = NSURL ( string: " compassTest ://login" ) !
39+ let url = NSURL ( string: " compassTests ://login" ) !
4040 Compass . parse ( url) { route, arguments in
4141 XCTAssertEqual ( " login " , route)
4242 XCTAssert ( arguments. isEmpty)
4343 }
4444 }
45+
46+ func testParseRegularURLWithFragments( ) {
47+ let url = NSURL ( string: " compassTests://callback/#access_token=IjvcgrkQk1p7TyJxKa26rzM1wBMFZW6XoHK4t5Gkt1xQLTN8l7ppR0H3EZXpoP0uLAN49oCDqTHsvnEV&token_type=Bearer&expires_in=3600 " ) !
48+ Compass . parse ( url) { route, arguments in
49+ XCTAssertEqual ( route, " callback " )
50+ XCTAssertEqual ( arguments. count, 3 )
51+ XCTAssertEqual ( arguments [ " access_token " ] , " IjvcgrkQk1p7TyJxKa26rzM1wBMFZW6XoHK4t5Gkt1xQLTN8l7ppR0H3EZXpoP0uLAN49oCDqTHsvnEV " )
52+ XCTAssertEqual ( arguments [ " expires_in " ] , " 3600 " )
53+ XCTAssertEqual ( arguments [ " token_type " ] , " Bearer " )
54+ }
55+ }
56+
57+ func testParseRegularURLWithQuery( ) {
58+ let url = NSURL ( string: " compassTests://callback/?access_token=Yo0OMrVZbRWNmgA6BT99hyuTUTNRGvqEEAQyeN1eslclzhFD0M8AidB4Z7Vs2NU8WoSNW0vYb961O38l&token_type=Bearer&expires_in=3600 " ) !
59+ Compass . parse ( url) { route, arguments in
60+ XCTAssertEqual ( route, " callback " )
61+ XCTAssertEqual ( arguments. count, 3 )
62+ XCTAssertEqual ( arguments [ " access_token " ] , " Yo0OMrVZbRWNmgA6BT99hyuTUTNRGvqEEAQyeN1eslclzhFD0M8AidB4Z7Vs2NU8WoSNW0vYb961O38l " )
63+ XCTAssertEqual ( arguments [ " expires_in " ] , " 3600 " )
64+ XCTAssertEqual ( arguments [ " token_type " ] , " Bearer " )
65+ }
66+ }
4567}
0 commit comments