deep-linking-sample/Apps/Wikipedia/WikipediaUnitTests/Code/NSUserActivity+WMFExtensionsTest.m
Javier Cicchelli 9bcdaa697b [Setup] Basic project structure (#1)
This PR contains all the work related to setting up this project as required to implement the [Assignment](https://repo.rock-n-code.com/rock-n-code/deep-linking-assignment/wiki/Assignment) on top, as intended.

To summarise this work:
- [x] created a new **Xcode** project;
- [x] cloned the `Wikipedia` app and inserted it into the **Xcode** project;
- [x] created the `Locations` app and also, its `Libraries` package;
- [x] created the `Shared` package to share dependencies between the apps;
- [x] added a `Makefile` file and implemented some **environment** and **help** commands.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: rock-n-code/deep-linking-assignment#1
2023-04-08 18:37:13 +00:00

57 lines
2.2 KiB
Objective-C

#import <XCTest/XCTest.h>
#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