blob: 80a46aea6e14ee2bd83e84e7f9933e0eeddd09ae (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
#import "MGLMapViewIntegrationTest.h"
@interface MGLEmptyStopsTests : MGLMapViewIntegrationTest
@end
@implementation MGLEmptyStopsTests
- (void)testEmptyStops {
// From https://www.mapbox.com/ios-sdk/examples/dds-circle-layer/
self.mapView.centerCoordinate = CLLocationCoordinate2DMake(38.897,-77.039);
self.mapView.zoomLevel = 10.5;
// "mapbox://examples.2uf7qges" is a map ID referencing a tileset. For more
// more information, see mapbox.com/help/define-map-id/
MGLSource *source = [[MGLVectorTileSource alloc] initWithIdentifier:@"trees" configurationURL:[NSURL URLWithString:@"mapbox://examples.2uf7qges"]];
[self.mapView.style addSource:source];
MGLCircleStyleLayer *layer = [[MGLCircleStyleLayer alloc] initWithIdentifier: @"tree-style" source:source];
// The source name from the source's TileJSON metadata: mapbox.com/api-documentation/#retrieve-tilejson-metadata
layer.sourceLayerIdentifier = @"yoshino-trees-a0puw5";
{
NSExpression *interpExpression = [NSExpression mgl_expressionForInterpolatingExpression:NSExpression.zoomLevelVariableExpression
withCurveType:MGLExpressionInterpolationModeLinear
parameters:nil
stops:[NSExpression expressionForConstantValue:@{}]];
@try {
layer.circleColor = interpExpression;
XCTFail();
}
@catch (NSException *exception) {
XCTAssertNotNil(exception);
XCTAssert(exception.name == NSInvalidArgumentException);
}
}
{
NSExpression *steppingExpression = [NSExpression mgl_expressionForSteppingExpression:NSExpression.zoomLevelVariableExpression
fromExpression:[NSExpression expressionForConstantValue:[UIColor greenColor]]
stops:[NSExpression expressionForConstantValue:@{}]];
@try {
layer.circleColor = steppingExpression;
XCTFail();
}
@catch (NSException *exception) {
XCTAssertNotNil(exception);
XCTAssert(exception.name == NSInvalidArgumentException);
}
}
[self.mapView.style addLayer:layer];
[self waitForMapViewToBeRenderedWithTimeout:5.0];
}
@end
|