summaryrefslogtreecommitdiff
path: root/platform/darwin/test/MGLRendererConfigurationTests.mm
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/test/MGLRendererConfigurationTests.mm')
-rw-r--r--platform/darwin/test/MGLRendererConfigurationTests.mm197
1 files changed, 0 insertions, 197 deletions
diff --git a/platform/darwin/test/MGLRendererConfigurationTests.mm b/platform/darwin/test/MGLRendererConfigurationTests.mm
deleted file mode 100644
index 6483aa3587..0000000000
--- a/platform/darwin/test/MGLRendererConfigurationTests.mm
+++ /dev/null
@@ -1,197 +0,0 @@
-#import <Mapbox/Mapbox.h>
-#import <XCTest/XCTest.h>
-#import "MGLRendererConfiguration.h"
-
-static NSString * const MGLRendererConfigurationTests_collisionBehaviorKey = @"MGLCollisionBehaviorPre4_0";
-
-@interface MGLRendererConfiguration (Tests)
-- (instancetype)initWithPropertyDictionary:(nonnull NSDictionary*)bundle;
-- (mbgl::optional<std::string>)_localFontFamilyNameWithPropertyDictionary:(nonnull NSDictionary *)properties;
-@end
-
-
-@interface MGLRendererConfigurationTests : XCTestCase
-@end
-
-@implementation MGLRendererConfigurationTests
-- (void)setUp {
- [[NSUserDefaults standardUserDefaults] removeObjectForKey:MGLRendererConfigurationTests_collisionBehaviorKey];
-}
-
-- (void)tearDown {
- [[NSUserDefaults standardUserDefaults] removeObjectForKey:MGLRendererConfigurationTests_collisionBehaviorKey];
-}
-
-// Emulate what would happen with an Info.plist.
-- (void)testSettingMGLCollisionBehaviorPre40WithEmptyDictionary
-{
- MGLRendererConfiguration *config = [[MGLRendererConfiguration alloc] initWithPropertyDictionary:@{}];
- XCTAssertFalse(config.perSourceCollisions);
-}
-
-- (void)testSettingMGLCollisionBehaviorPre40WithYESDictionary
-{
- MGLRendererConfiguration *config = [[MGLRendererConfiguration alloc] initWithPropertyDictionary:@{MGLRendererConfigurationTests_collisionBehaviorKey:@(NO)}];
- XCTAssertFalse(config.perSourceCollisions);
-}
-
-- (void)testSettingMGLCollisionBehaviorPre40WithNODictionary
-{
- MGLRendererConfiguration *config = [[MGLRendererConfiguration alloc] initWithPropertyDictionary:@{MGLRendererConfigurationTests_collisionBehaviorKey:@(YES)}];
- XCTAssert(config.perSourceCollisions);
-}
-
-- (void)testSettingMGLCollisionBehaviorPre40InNSUserDefaults {
- {
- XCTAssertNil([[NSUserDefaults standardUserDefaults] objectForKey:MGLRendererConfigurationTests_collisionBehaviorKey]);
- MGLRendererConfiguration *config = [MGLRendererConfiguration currentConfiguration];
- XCTAssertFalse(config.perSourceCollisions);
- }
-
- [[NSUserDefaults standardUserDefaults] setObject:@(NO) forKey:MGLRendererConfigurationTests_collisionBehaviorKey];
- {
- XCTAssertNotNil([[NSUserDefaults standardUserDefaults] objectForKey:MGLRendererConfigurationTests_collisionBehaviorKey]);
- MGLRendererConfiguration *config = [MGLRendererConfiguration currentConfiguration];
- XCTAssertFalse(config.perSourceCollisions);
- }
-
- [[NSUserDefaults standardUserDefaults] setObject:@(YES) forKey:MGLRendererConfigurationTests_collisionBehaviorKey];
- {
- XCTAssertNotNil([[NSUserDefaults standardUserDefaults] objectForKey:MGLRendererConfigurationTests_collisionBehaviorKey]);
- MGLRendererConfiguration *config = [MGLRendererConfiguration currentConfiguration];
- XCTAssert(config.perSourceCollisions);
- }
-}
-
-- (void)testSettingMGLCollisionBehaviorPre40PListValueUsingString {
- // Dictionary = "NO"
- {
- MGLRendererConfiguration *config = [[MGLRendererConfiguration alloc] initWithPropertyDictionary:@{MGLRendererConfigurationTests_collisionBehaviorKey:@"NO"}];
- XCTAssertFalse(config.perSourceCollisions);
- }
-
- // Dictionary = "YES"
- {
- MGLRendererConfiguration *config = [[MGLRendererConfiguration alloc] initWithPropertyDictionary:@{MGLRendererConfigurationTests_collisionBehaviorKey:@"YES"}];
- XCTAssert(config.perSourceCollisions);
- }
-}
-
-- (void)testOverridingMGLCollisionBehaviorPre40 {
- // Dictionary = NO, NSUserDefaults = YES
- {
- [[NSUserDefaults standardUserDefaults] setObject:@(YES) forKey:MGLRendererConfigurationTests_collisionBehaviorKey];
- MGLRendererConfiguration *config = [[MGLRendererConfiguration alloc] initWithPropertyDictionary:@{MGLRendererConfigurationTests_collisionBehaviorKey:@(NO)}];
- XCTAssert(config.perSourceCollisions);
- }
- // Dictionary = YES, NSUserDefaults = NO
- {
- [[NSUserDefaults standardUserDefaults] setObject:@(NO) forKey:MGLRendererConfigurationTests_collisionBehaviorKey];
- MGLRendererConfiguration *config = [[MGLRendererConfiguration alloc] initWithPropertyDictionary:@{MGLRendererConfigurationTests_collisionBehaviorKey:@(YES)}];
- XCTAssertFalse(config.perSourceCollisions);
- }
-}
-
-- (void)testDefaultLocalFontFamilyName {
-
- MGLRendererConfiguration *config = [[MGLRendererConfiguration alloc] init];
- std::string localFontFamilyName = config.localFontFamilyName.value();
-
- std::string systemFontFamilyName;
-#if TARGET_OS_IPHONE
- systemFontFamilyName = std::string([[UIFont systemFontOfSize:0 weight:UIFontWeightRegular].familyName UTF8String]);
-#else
- systemFontFamilyName = std::string([[NSFont systemFontOfSize:0 weight:NSFontWeightRegular].familyName UTF8String]);
-#endif
-
- XCTAssertEqual(localFontFamilyName, systemFontFamilyName, @"Default local font family name should match default system font");
-}
-
-- (void)testSettingMGLIdeographicFontFamilyNameWithPlistValue {
-
- MGLRendererConfiguration *config = [[MGLRendererConfiguration alloc] init];
- NSDictionary *dic;
-
- // `MGLIdeographicFontFamilyName` set to bool value `YES`
- {
- dic = @{@"MGLIdeographicFontFamilyName": @(YES)};
- std::string localFontFamilyName = ([config _localFontFamilyNameWithPropertyDictionary:dic]).value();
-
- std::string systemFontFamilyName;
-#if TARGET_OS_IPHONE
- systemFontFamilyName = std::string([[UIFont systemFontOfSize:0 weight:UIFontWeightRegular].familyName UTF8String]);
-#else
- systemFontFamilyName = std::string([[NSFont systemFontOfSize:0 weight:NSFontWeightRegular].familyName UTF8String]);
-#endif
- XCTAssertEqual(localFontFamilyName, systemFontFamilyName, @"Local font family name should match default system font name when setting `YES`");
- }
-
- // `MGLIdeographicFontFamilyName` set to bool value `NO`
- {
- dic = @{@"MGLIdeographicFontFamilyName": @(NO)};
- mbgl::optional<std::string> localFontFamilyName = [config _localFontFamilyNameWithPropertyDictionary:dic];
- XCTAssertFalse(localFontFamilyName.has_value(), @"Client rendering font should use remote font when setting `NO`");
- }
-
- // `MGLIdeographicFontFamilyName` set to a valid font string value
- {
- dic = @{@"MGLIdeographicFontFamilyName": @"PingFang TC"};
- std::string localFontFamilyName = ([config _localFontFamilyNameWithPropertyDictionary:dic]).value();
- std::string targetFontFamilyName = std::string([@"PingFang TC" UTF8String]);
- XCTAssertEqual(localFontFamilyName, targetFontFamilyName, @"Local font family name should match a custom valid font name");
- }
-
- // `MGLIdeographicFontFamilyName` set to an invalid font string value
- {
- dic = @{@"MGLIdeographicFontFamilyName": @"test font"};
- std::string localFontFamilyName = ([config _localFontFamilyNameWithPropertyDictionary:dic]).value();
-
- std::string systemFontFamilyName;
-#if TARGET_OS_IPHONE
- systemFontFamilyName = std::string([[UIFont systemFontOfSize:0 weight:UIFontWeightRegular].familyName UTF8String]);
-#else
- systemFontFamilyName = std::string([[NSFont systemFontOfSize:0 weight:NSFontWeightRegular].familyName UTF8String]);
-#endif
- XCTAssertEqual(localFontFamilyName, systemFontFamilyName, @"Local font family name should match default system font name when setting an invalid font string");
- }
-
- // `MGLIdeographicFontFamilyName` set to a valid font family names array value
- {
- dic = @{@"MGLIdeographicFontFamilyName": @[@"test font 1", @"PingFang TC", @"test font 2"]};
- std::string localFontFamilyName = ([config _localFontFamilyNameWithPropertyDictionary:dic]).value();
- std::string targetFontFamilyName = std::string([@"PingFang TC" UTF8String]);
- XCTAssertEqual(localFontFamilyName, targetFontFamilyName, @"Local font family name should match a custom valid font name in a font family names array");
- }
-
- // `MGLIdeographicFontFamilyName` set to an invalid font family names array value
- {
- dic = @{@"MGLIdeographicFontFamilyName": @[@"test font 1", @"test font 2", @"test font 3"]};
- std::string localFontFamilyName = ([config _localFontFamilyNameWithPropertyDictionary:dic]).value();
-
- std::string systemFontFamilyName;
-#if TARGET_OS_IPHONE
- systemFontFamilyName = std::string([[UIFont systemFontOfSize:0 weight:UIFontWeightRegular].familyName UTF8String]);
-#else
- systemFontFamilyName = std::string([[NSFont systemFontOfSize:0 weight:NSFontWeightRegular].familyName UTF8String]);
-#endif
- XCTAssertEqual(localFontFamilyName, systemFontFamilyName, @"Local font family name should match default system font name when setting an invalid font family names array");
- }
-
- // `MGLIdeographicFontFamilyName` set to an invalid value type: NSDictionary, NSNumber, NSData, etc.
- {
- dic = @{@"MGLIdeographicFontFamilyName": [@"test font 1" dataUsingEncoding:NSUTF8StringEncoding]};
- std::string localFontFamilyName = ([config _localFontFamilyNameWithPropertyDictionary:dic]).value();
-
- std::string systemFontFamilyName;
-#if TARGET_OS_IPHONE
- systemFontFamilyName = std::string([[UIFont systemFontOfSize:0 weight:UIFontWeightRegular].familyName UTF8String]);
-#else
- systemFontFamilyName = std::string([[NSFont systemFontOfSize:0 weight:NSFontWeightRegular].familyName UTF8String]);
-#endif
- XCTAssertEqual(localFontFamilyName, systemFontFamilyName, @"Local font family name should match default system font name when setting an invalid value type");
- }
-}
-
-
-
-@end