diff options
author | Julian Rex <julian.rex@mapbox.com> | 2019-09-17 23:36:42 -0400 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-09-18 16:21:59 +0300 |
commit | 461358be4b6edc7d49a3ed6a36bdd0cd186241a2 (patch) | |
tree | 2ff0e60039e12bc9bf0f8bd62e105e67c1dc0758 /platform/darwin | |
parent | 19cbad22613113702b611e172d5d472814e95f01 (diff) | |
download | qtlocation-mapboxgl-461358be4b6edc7d49a3ed6a36bdd0cd186241a2.tar.gz |
[ios] Fix for failing tests:
- testRemovingLayerBeforeAddingSameLayer
- testRemovingSourceInUse
Diffstat (limited to 'platform/darwin')
-rw-r--r-- | platform/darwin/test/MGLStyleTests.mm | 95 |
1 files changed, 51 insertions, 44 deletions
diff --git a/platform/darwin/test/MGLStyleTests.mm b/platform/darwin/test/MGLStyleTests.mm index 7aaf70a80a..ec2605646c 100644 --- a/platform/darwin/test/MGLStyleTests.mm +++ b/platform/darwin/test/MGLStyleTests.mm @@ -229,23 +229,23 @@ - (void)testRemovingSourceInUse { // Add a raster tile source - MGLRasterTileSource *rasterTileSource = [[MGLRasterTileSource alloc] initWithIdentifier:@"some-identifier" tileURLTemplates:@[] options:nil]; - [self.style addSource:rasterTileSource]; + MGLVectorTileSource *vectorTileSource = [[MGLVectorTileSource alloc] initWithIdentifier:@"some-identifier" tileURLTemplates:@[] options:nil]; + [self.style addSource:vectorTileSource]; // Add a layer using it - MGLFillStyleLayer *fillLayer = [[MGLFillStyleLayer alloc] initWithIdentifier:@"fillLayer" source:rasterTileSource]; + MGLFillStyleLayer *fillLayer = [[MGLFillStyleLayer alloc] initWithIdentifier:@"fillLayer" source:vectorTileSource]; [self.style addLayer:fillLayer]; // Attempt to remove the raster tile source NSError *error; - BOOL result = [self.style removeSource:rasterTileSource error:&error]; + BOOL result = [self.style removeSource:vectorTileSource error:&error]; XCTAssertFalse(result); XCTAssertEqualObjects(error.domain, MGLErrorDomain); XCTAssertEqual(error.code, MGLErrorCodeSourceIsInUseCannotRemove); // Ensure it is still there - XCTAssertTrue([[self.style sourceWithIdentifier:rasterTileSource.identifier] isMemberOfClass:[MGLRasterTileSource class]]); + XCTAssertTrue([[self.style sourceWithIdentifier:vectorTileSource.identifier] isMemberOfClass:[MGLVectorTileSource class]]); } - (void)testLayers { @@ -311,54 +311,61 @@ } - (void)testRemovingLayerBeforeAddingSameLayer { - MGLShapeSource *source = [[MGLShapeSource alloc] initWithIdentifier:@"shape-source-removing-before-adding" shape:nil options:nil]; - - // Attempting to find a layer with identifier will trigger an exception if the source associated with the layer is not added - [self.style addSource:source]; - - MGLFillStyleLayer *fillLayer = [[MGLFillStyleLayer alloc] initWithIdentifier:@"fill-layer" source:source]; - [self.style removeLayer:fillLayer]; - [self.style addLayer:fillLayer]; - XCTAssertNotNil([self.style layerWithIdentifier:fillLayer.identifier]); - - MGLRasterStyleLayer *rasterLayer = [[MGLRasterStyleLayer alloc] initWithIdentifier:@"raster-layer" source:source]; - [self.style removeLayer:rasterLayer]; - [self.style addLayer:rasterLayer]; - XCTAssertNotNil([self.style layerWithIdentifier:rasterLayer.identifier]); - - MGLSymbolStyleLayer *symbolLayer = [[MGLSymbolStyleLayer alloc] initWithIdentifier:@"symbol-layer" source:source]; - [self.style removeLayer:symbolLayer]; - [self.style addLayer:symbolLayer]; - XCTAssertNotNil([self.style layerWithIdentifier:symbolLayer.identifier]); - - MGLLineStyleLayer *lineLayer = [[MGLLineStyleLayer alloc] initWithIdentifier:@"line-layer" source:source]; - [self.style removeLayer:lineLayer]; - [self.style addLayer:lineLayer]; - XCTAssertNotNil([self.style layerWithIdentifier:lineLayer.identifier]); - - MGLCircleStyleLayer *circleLayer = [[MGLCircleStyleLayer alloc] initWithIdentifier:@"circle-layer" source:source]; - [self.style removeLayer:circleLayer]; - [self.style addLayer:circleLayer]; - XCTAssertNotNil([self.style layerWithIdentifier:circleLayer.identifier]); - - MGLBackgroundStyleLayer *backgroundLayer = [[MGLBackgroundStyleLayer alloc] initWithIdentifier:@"background-layer"]; - [self.style removeLayer:backgroundLayer]; - [self.style addLayer:backgroundLayer]; - XCTAssertNotNil([self.style layerWithIdentifier:backgroundLayer.identifier]); + { + MGLShapeSource *source = [[MGLShapeSource alloc] initWithIdentifier:@"shape-source-removing-before-adding" shape:nil options:nil]; + + // Attempting to find a layer with identifier will trigger an exception if the source associated with the layer is not added + [self.style addSource:source]; + + MGLFillStyleLayer *fillLayer = [[MGLFillStyleLayer alloc] initWithIdentifier:@"fill-layer" source:source]; + [self.style removeLayer:fillLayer]; + [self.style addLayer:fillLayer]; + XCTAssertNotNil([self.style layerWithIdentifier:fillLayer.identifier]); + + MGLSymbolStyleLayer *symbolLayer = [[MGLSymbolStyleLayer alloc] initWithIdentifier:@"symbol-layer" source:source]; + [self.style removeLayer:symbolLayer]; + [self.style addLayer:symbolLayer]; + XCTAssertNotNil([self.style layerWithIdentifier:symbolLayer.identifier]); + + MGLLineStyleLayer *lineLayer = [[MGLLineStyleLayer alloc] initWithIdentifier:@"line-layer" source:source]; + [self.style removeLayer:lineLayer]; + [self.style addLayer:lineLayer]; + XCTAssertNotNil([self.style layerWithIdentifier:lineLayer.identifier]); + + MGLCircleStyleLayer *circleLayer = [[MGLCircleStyleLayer alloc] initWithIdentifier:@"circle-layer" source:source]; + [self.style removeLayer:circleLayer]; + [self.style addLayer:circleLayer]; + XCTAssertNotNil([self.style layerWithIdentifier:circleLayer.identifier]); + + MGLBackgroundStyleLayer *backgroundLayer = [[MGLBackgroundStyleLayer alloc] initWithIdentifier:@"background-layer"]; + [self.style removeLayer:backgroundLayer]; + [self.style addLayer:backgroundLayer]; + XCTAssertNotNil([self.style layerWithIdentifier:backgroundLayer.identifier]); + } + + { + MGLRasterTileSource *rasterSource = [[MGLRasterTileSource alloc] initWithIdentifier:@"raster-tile-source" tileURLTemplates:@[] options:nil]; + [self.style addSource:rasterSource]; + + MGLRasterStyleLayer *rasterLayer = [[MGLRasterStyleLayer alloc] initWithIdentifier:@"raster-layer" source:rasterSource]; + [self.style removeLayer:rasterLayer]; + [self.style addLayer:rasterLayer]; + XCTAssertNotNil([self.style layerWithIdentifier:rasterLayer.identifier]); + } } - (void)testAddingLayerOfTypeABeforeRemovingLayerOfTypeBWithSameIdentifier { MGLShapeSource *source = [[MGLShapeSource alloc] initWithIdentifier:@"shape-source-identifier" shape:nil options:nil]; [self.style addSource:source]; - + // Add a fill layer MGLFillStyleLayer *fillLayer = [[MGLFillStyleLayer alloc] initWithIdentifier:@"some-identifier" source:source]; [self.style addLayer:fillLayer]; - + // Attempt to remove a line layer with the same identifier as the fill layer MGLLineStyleLayer *lineLayer = [[MGLLineStyleLayer alloc] initWithIdentifier:fillLayer.identifier source:source]; [self.style removeLayer:lineLayer]; - + XCTAssertTrue([[self.style layerWithIdentifier:fillLayer.identifier] isMemberOfClass:[MGLFillStyleLayer class]]); } @@ -382,10 +389,10 @@ MGLImage *image = [[NSBundle bundleForClass:[self class]] imageForResource:imageName]; #endif XCTAssertNotNil(image); - + [self.style setImage:image forName:imageName]; MGLImage *styleImage = [self.style imageForName:imageName]; - + XCTAssertNotNil(styleImage); XCTAssertEqual(image.size.width, styleImage.size.width); XCTAssertEqual(image.size.height, styleImage.size.height); |