diff options
Diffstat (limited to 'platform/darwin/test/MGLLineStyleLayerTests.mm')
-rw-r--r-- | platform/darwin/test/MGLLineStyleLayerTests.mm | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/platform/darwin/test/MGLLineStyleLayerTests.mm b/platform/darwin/test/MGLLineStyleLayerTests.mm index 95c3e434c0..1e92959520 100644 --- a/platform/darwin/test/MGLLineStyleLayerTests.mm +++ b/platform/darwin/test/MGLLineStyleLayerTests.mm @@ -2,10 +2,12 @@ // Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`. #import "MGLStyleLayerTests.h" +#import "../../darwin/src/NSDate+MGLAdditions.h" #import "MGLStyleLayer_Private.h" #include <mbgl/style/layers/line_layer.hpp> +#include <mbgl/style/transition_options.hpp> @interface MGLLineLayerTests : MGLStyleLayerTests @end @@ -43,6 +45,9 @@ XCTAssertTrue(layer.rawLayer->is<mbgl::style::LineLayer>()); auto rawLayer = layer.rawLayer->as<mbgl::style::LineLayer>(); + MGLTransition transitionTest = MGLTransitionMake(5, 4); + + // line-cap { XCTAssertTrue(rawLayer->getLineCap().isUndefined(), @@ -254,6 +259,15 @@ @"Unsetting lineBlur should return line-blur to the default value."); XCTAssertEqualObjects(layer.lineBlur, defaultStyleValue, @"lineBlur should return the default value after being unset."); + // Transition property test + layer.lineBlurTransition = transitionTest; + auto toptions = rawLayer->getLineBlurTransition(); + XCTAssert(toptions.delay && MGLTimeIntervalFromDuration(*toptions.delay) == transitionTest.delay); + XCTAssert(toptions.duration && MGLTimeIntervalFromDuration(*toptions.duration) == transitionTest.duration); + + MGLTransition lineBlurTransition = layer.lineBlurTransition; + XCTAssertEqual(lineBlurTransition.delay, transitionTest.delay); + XCTAssertEqual(lineBlurTransition.duration, transitionTest.duration); } // line-color @@ -311,6 +325,15 @@ @"Unsetting lineColor should return line-color to the default value."); XCTAssertEqualObjects(layer.lineColor, defaultStyleValue, @"lineColor should return the default value after being unset."); + // Transition property test + layer.lineColorTransition = transitionTest; + auto toptions = rawLayer->getLineColorTransition(); + XCTAssert(toptions.delay && MGLTimeIntervalFromDuration(*toptions.delay) == transitionTest.delay); + XCTAssert(toptions.duration && MGLTimeIntervalFromDuration(*toptions.duration) == transitionTest.duration); + + MGLTransition lineColorTransition = layer.lineColorTransition; + XCTAssertEqual(lineColorTransition.delay, transitionTest.delay); + XCTAssertEqual(lineColorTransition.duration, transitionTest.duration); } // line-dasharray @@ -407,6 +430,15 @@ @"Unsetting lineGapWidth should return line-gap-width to the default value."); XCTAssertEqualObjects(layer.lineGapWidth, defaultStyleValue, @"lineGapWidth should return the default value after being unset."); + // Transition property test + layer.lineGapWidthTransition = transitionTest; + auto toptions = rawLayer->getLineGapWidthTransition(); + XCTAssert(toptions.delay && MGLTimeIntervalFromDuration(*toptions.delay) == transitionTest.delay); + XCTAssert(toptions.duration && MGLTimeIntervalFromDuration(*toptions.duration) == transitionTest.duration); + + MGLTransition lineGapWidthTransition = layer.lineGapWidthTransition; + XCTAssertEqual(lineGapWidthTransition.delay, transitionTest.delay); + XCTAssertEqual(lineGapWidthTransition.duration, transitionTest.duration); } // line-offset @@ -464,6 +496,15 @@ @"Unsetting lineOffset should return line-offset to the default value."); XCTAssertEqualObjects(layer.lineOffset, defaultStyleValue, @"lineOffset should return the default value after being unset."); + // Transition property test + layer.lineOffsetTransition = transitionTest; + auto toptions = rawLayer->getLineOffsetTransition(); + XCTAssert(toptions.delay && MGLTimeIntervalFromDuration(*toptions.delay) == transitionTest.delay); + XCTAssert(toptions.duration && MGLTimeIntervalFromDuration(*toptions.duration) == transitionTest.duration); + + MGLTransition lineOffsetTransition = layer.lineOffsetTransition; + XCTAssertEqual(lineOffsetTransition.delay, transitionTest.delay); + XCTAssertEqual(lineOffsetTransition.duration, transitionTest.duration); } // line-opacity @@ -521,6 +562,15 @@ @"Unsetting lineOpacity should return line-opacity to the default value."); XCTAssertEqualObjects(layer.lineOpacity, defaultStyleValue, @"lineOpacity should return the default value after being unset."); + // Transition property test + layer.lineOpacityTransition = transitionTest; + auto toptions = rawLayer->getLineOpacityTransition(); + XCTAssert(toptions.delay && MGLTimeIntervalFromDuration(*toptions.delay) == transitionTest.delay); + XCTAssert(toptions.duration && MGLTimeIntervalFromDuration(*toptions.duration) == transitionTest.duration); + + MGLTransition lineOpacityTransition = layer.lineOpacityTransition; + XCTAssertEqual(lineOpacityTransition.delay, transitionTest.delay); + XCTAssertEqual(lineOpacityTransition.duration, transitionTest.duration); } // line-pattern @@ -560,6 +610,15 @@ XCTAssertThrowsSpecificNamed(layer.linePattern = functionStyleValue, NSException, NSInvalidArgumentException, @"MGLStyleValue should raise an exception if it is applied to a property that cannot support it"); functionStyleValue = [MGLStyleValue<NSString *> valueWithInterpolationMode:MGLInterpolationModeInterval compositeStops:@{@18: constantStyleValue} attributeName:@"" options:nil]; XCTAssertThrowsSpecificNamed(layer.linePattern = functionStyleValue, NSException, NSInvalidArgumentException, @"MGLStyleValue should raise an exception if it is applied to a property that cannot support it"); + // Transition property test + layer.linePatternTransition = transitionTest; + auto toptions = rawLayer->getLinePatternTransition(); + XCTAssert(toptions.delay && MGLTimeIntervalFromDuration(*toptions.delay) == transitionTest.delay); + XCTAssert(toptions.duration && MGLTimeIntervalFromDuration(*toptions.duration) == transitionTest.duration); + + MGLTransition linePatternTransition = layer.linePatternTransition; + XCTAssertEqual(linePatternTransition.delay, transitionTest.delay); + XCTAssertEqual(linePatternTransition.duration, transitionTest.duration); } // line-translate @@ -683,6 +742,15 @@ XCTAssertThrowsSpecificNamed(layer.lineWidth = functionStyleValue, NSException, NSInvalidArgumentException, @"MGLStyleValue should raise an exception if it is applied to a property that cannot support it"); functionStyleValue = [MGLStyleValue<NSNumber *> valueWithInterpolationMode:MGLInterpolationModeInterval compositeStops:@{@18: constantStyleValue} attributeName:@"" options:nil]; XCTAssertThrowsSpecificNamed(layer.lineWidth = functionStyleValue, NSException, NSInvalidArgumentException, @"MGLStyleValue should raise an exception if it is applied to a property that cannot support it"); + // Transition property test + layer.lineWidthTransition = transitionTest; + auto toptions = rawLayer->getLineWidthTransition(); + XCTAssert(toptions.delay && MGLTimeIntervalFromDuration(*toptions.delay) == transitionTest.delay); + XCTAssert(toptions.duration && MGLTimeIntervalFromDuration(*toptions.duration) == transitionTest.duration); + + MGLTransition lineWidthTransition = layer.lineWidthTransition; + XCTAssertEqual(lineWidthTransition.delay, transitionTest.delay); + XCTAssertEqual(lineWidthTransition.duration, transitionTest.duration); } } |