diff options
author | Fabian Guerra Soto <fabian.guerra@mapbox.com> | 2017-03-10 11:33:31 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-10 11:33:31 -0800 |
commit | 20712b7c84bd91bcf658d74bf25f3460354b5fd6 (patch) | |
tree | c12fd8cf71d293ddfc123f9e1d0af1dafa887750 /platform/darwin/test/MGLCircleStyleLayerTests.mm | |
parent | 4a0ce1365f469c5da30aa7136ec5d31dfd621ff1 (diff) | |
download | qtlocation-mapboxgl-20712b7c84bd91bcf658d74bf25f3460354b5fd6.tar.gz |
Per-attribute transition properties on MGLStyleLayer (#8225)
* [ios, macos] new struct MGLTransition
* [ios] MGLTransition struct moved to MGLTypes.h
* [ios] MGLTransition implemented for style layer properties
* [ios, macos] added support for getting property transitions
* [ios, macos] updated to MGLDurationFromTimeInterval and MGLTimeIntervalFromDuration
* [ios, macos] added transition properties test
* [ios, macos] modified key strings imp
* [ios, macos] The impl for transition properties were changed to public methods
* [ios, macos] Changelog update
* [ios] Fixed layer space formatting
* [core] The name space was fixed for getters that returned TransitionOptions
* [ios, macos] Added rawLayer transition property tests
* [ios] Added a factory method for MGLTransition and transition-related methods to NSValue(MGLAdditions)
* [ios, macos] Copyedited changelog blurbs about transition properties
Diffstat (limited to 'platform/darwin/test/MGLCircleStyleLayerTests.mm')
-rw-r--r-- | platform/darwin/test/MGLCircleStyleLayerTests.mm | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/platform/darwin/test/MGLCircleStyleLayerTests.mm b/platform/darwin/test/MGLCircleStyleLayerTests.mm index d7515e8e4e..2a2e9f2d4a 100644 --- a/platform/darwin/test/MGLCircleStyleLayerTests.mm +++ b/platform/darwin/test/MGLCircleStyleLayerTests.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/circle_layer.hpp> +#include <mbgl/style/transition_options.hpp> @interface MGLCircleLayerTests : MGLStyleLayerTests @end @@ -43,6 +45,9 @@ XCTAssertTrue(layer.rawLayer->is<mbgl::style::CircleLayer>()); auto rawLayer = layer.rawLayer->as<mbgl::style::CircleLayer>(); + MGLTransition transitionTest = MGLTransitionMake(5, 4); + + // circle-blur { XCTAssertTrue(rawLayer->getCircleBlur().isUndefined(), @@ -98,6 +103,15 @@ @"Unsetting circleBlur should return circle-blur to the default value."); XCTAssertEqualObjects(layer.circleBlur, defaultStyleValue, @"circleBlur should return the default value after being unset."); + // Transition property test + layer.circleBlurTransition = transitionTest; + auto toptions = rawLayer->getCircleBlurTransition(); + XCTAssert(toptions.delay && MGLTimeIntervalFromDuration(*toptions.delay) == transitionTest.delay); + XCTAssert(toptions.duration && MGLTimeIntervalFromDuration(*toptions.duration) == transitionTest.duration); + + MGLTransition circleBlurTransition = layer.circleBlurTransition; + XCTAssertEqual(circleBlurTransition.delay, transitionTest.delay); + XCTAssertEqual(circleBlurTransition.duration, transitionTest.duration); } // circle-color @@ -155,6 +169,15 @@ @"Unsetting circleColor should return circle-color to the default value."); XCTAssertEqualObjects(layer.circleColor, defaultStyleValue, @"circleColor should return the default value after being unset."); + // Transition property test + layer.circleColorTransition = transitionTest; + auto toptions = rawLayer->getCircleColorTransition(); + XCTAssert(toptions.delay && MGLTimeIntervalFromDuration(*toptions.delay) == transitionTest.delay); + XCTAssert(toptions.duration && MGLTimeIntervalFromDuration(*toptions.duration) == transitionTest.duration); + + MGLTransition circleColorTransition = layer.circleColorTransition; + XCTAssertEqual(circleColorTransition.delay, transitionTest.delay); + XCTAssertEqual(circleColorTransition.duration, transitionTest.duration); } // circle-opacity @@ -212,6 +235,15 @@ @"Unsetting circleOpacity should return circle-opacity to the default value."); XCTAssertEqualObjects(layer.circleOpacity, defaultStyleValue, @"circleOpacity should return the default value after being unset."); + // Transition property test + layer.circleOpacityTransition = transitionTest; + auto toptions = rawLayer->getCircleOpacityTransition(); + XCTAssert(toptions.delay && MGLTimeIntervalFromDuration(*toptions.delay) == transitionTest.delay); + XCTAssert(toptions.duration && MGLTimeIntervalFromDuration(*toptions.duration) == transitionTest.duration); + + MGLTransition circleOpacityTransition = layer.circleOpacityTransition; + XCTAssertEqual(circleOpacityTransition.delay, transitionTest.delay); + XCTAssertEqual(circleOpacityTransition.duration, transitionTest.duration); } // circle-radius @@ -269,6 +301,15 @@ @"Unsetting circleRadius should return circle-radius to the default value."); XCTAssertEqualObjects(layer.circleRadius, defaultStyleValue, @"circleRadius should return the default value after being unset."); + // Transition property test + layer.circleRadiusTransition = transitionTest; + auto toptions = rawLayer->getCircleRadiusTransition(); + XCTAssert(toptions.delay && MGLTimeIntervalFromDuration(*toptions.delay) == transitionTest.delay); + XCTAssert(toptions.duration && MGLTimeIntervalFromDuration(*toptions.duration) == transitionTest.duration); + + MGLTransition circleRadiusTransition = layer.circleRadiusTransition; + XCTAssertEqual(circleRadiusTransition.delay, transitionTest.delay); + XCTAssertEqual(circleRadiusTransition.duration, transitionTest.duration); } // circle-pitch-scale @@ -365,6 +406,15 @@ @"Unsetting circleStrokeColor should return circle-stroke-color to the default value."); XCTAssertEqualObjects(layer.circleStrokeColor, defaultStyleValue, @"circleStrokeColor should return the default value after being unset."); + // Transition property test + layer.circleStrokeColorTransition = transitionTest; + auto toptions = rawLayer->getCircleStrokeColorTransition(); + XCTAssert(toptions.delay && MGLTimeIntervalFromDuration(*toptions.delay) == transitionTest.delay); + XCTAssert(toptions.duration && MGLTimeIntervalFromDuration(*toptions.duration) == transitionTest.duration); + + MGLTransition circleStrokeColorTransition = layer.circleStrokeColorTransition; + XCTAssertEqual(circleStrokeColorTransition.delay, transitionTest.delay); + XCTAssertEqual(circleStrokeColorTransition.duration, transitionTest.duration); } // circle-stroke-opacity @@ -422,6 +472,15 @@ @"Unsetting circleStrokeOpacity should return circle-stroke-opacity to the default value."); XCTAssertEqualObjects(layer.circleStrokeOpacity, defaultStyleValue, @"circleStrokeOpacity should return the default value after being unset."); + // Transition property test + layer.circleStrokeOpacityTransition = transitionTest; + auto toptions = rawLayer->getCircleStrokeOpacityTransition(); + XCTAssert(toptions.delay && MGLTimeIntervalFromDuration(*toptions.delay) == transitionTest.delay); + XCTAssert(toptions.duration && MGLTimeIntervalFromDuration(*toptions.duration) == transitionTest.duration); + + MGLTransition circleStrokeOpacityTransition = layer.circleStrokeOpacityTransition; + XCTAssertEqual(circleStrokeOpacityTransition.delay, transitionTest.delay); + XCTAssertEqual(circleStrokeOpacityTransition.duration, transitionTest.duration); } // circle-stroke-width @@ -479,6 +538,15 @@ @"Unsetting circleStrokeWidth should return circle-stroke-width to the default value."); XCTAssertEqualObjects(layer.circleStrokeWidth, defaultStyleValue, @"circleStrokeWidth should return the default value after being unset."); + // Transition property test + layer.circleStrokeWidthTransition = transitionTest; + auto toptions = rawLayer->getCircleStrokeWidthTransition(); + XCTAssert(toptions.delay && MGLTimeIntervalFromDuration(*toptions.delay) == transitionTest.delay); + XCTAssert(toptions.duration && MGLTimeIntervalFromDuration(*toptions.duration) == transitionTest.duration); + + MGLTransition circleStrokeWidthTransition = layer.circleStrokeWidthTransition; + XCTAssertEqual(circleStrokeWidthTransition.delay, transitionTest.delay); + XCTAssertEqual(circleStrokeWidthTransition.duration, transitionTest.duration); } // circle-translate |