#import #import "NSUserActivity+WMFExtensions.h" @interface NSUserActivity_WMFExtensions_wmf_activityForWikipediaScheme_Test : XCTestCase @end @implementation NSUserActivity_WMFExtensions_wmf_activityForWikipediaScheme_Test - (void)testURLWithoutWikipediaSchemeReturnsNil { NSURL *url = [NSURL URLWithString:@"http://www.foo.com"]; NSUserActivity *activity = [NSUserActivity wmf_activityForWikipediaScheme:url]; XCTAssertNil(activity); } - (void)testInvalidArticleURLReturnsNil { NSURL *url = [NSURL URLWithString:@"wikipedia://en.wikipedia.org/Foo"]; NSUserActivity *activity = [NSUserActivity wmf_activityForWikipediaScheme:url]; XCTAssertNil(activity); } - (void)testArticleURL { NSURL *url = [NSURL URLWithString:@"wikipedia://en.wikipedia.org/wiki/Foo"]; NSUserActivity *activity = [NSUserActivity wmf_activityForWikipediaScheme:url]; XCTAssertEqual(activity.wmf_type, WMFUserActivityTypeLink); XCTAssertEqualObjects(activity.webpageURL.absoluteString, @"https://en.wikipedia.org/wiki/Foo"); } - (void)testExploreURL { NSURL *url = [NSURL URLWithString:@"wikipedia://explore"]; NSUserActivity *activity = [NSUserActivity wmf_activityForWikipediaScheme:url]; XCTAssertEqual(activity.wmf_type, WMFUserActivityTypeExplore); } - (void)testHistoryURL { NSURL *url = [NSURL URLWithString:@"wikipedia://history"]; NSUserActivity *activity = [NSUserActivity wmf_activityForWikipediaScheme:url]; XCTAssertEqual(activity.wmf_type, WMFUserActivityTypeHistory); } - (void)testSavedURL { NSURL *url = [NSURL URLWithString:@"wikipedia://saved"]; NSUserActivity *activity = [NSUserActivity wmf_activityForWikipediaScheme:url]; XCTAssertEqual(activity.wmf_type, WMFUserActivityTypeSavedPages); } - (void)testSearchURL { NSURL *url = [NSURL URLWithString:@"wikipedia://en.wikipedia.org/w/index.php?search=dog"]; NSUserActivity *activity = [NSUserActivity wmf_activityForWikipediaScheme:url]; XCTAssertEqual(activity.wmf_type, WMFUserActivityTypeLink); XCTAssertEqualObjects(activity.webpageURL.absoluteString, @"https://en.wikipedia.org/w/index.php?search=dog&title=Special:Search&fulltext=1"); } @end