Prevent stopless functions (#7309)
* [ios, macos] prevent stopless functions * [ios, macos] removed unused bridging header and fixed naming
This commit is contained in:
@@ -63,6 +63,10 @@
|
||||
|
||||
- (instancetype)initWithBase:(CGFloat)base stops:(NSDictionary *)stops {
|
||||
if (self = [super init]) {
|
||||
if (!stops.count)
|
||||
{
|
||||
[NSException raise:NSInvalidArgumentException format:@"%@ requires at least one stop.", self];
|
||||
}
|
||||
_base = base;
|
||||
_stops = stops;
|
||||
}
|
||||
|
||||
4
platform/darwin/test/MGLStyleValueTests.h
Normal file
4
platform/darwin/test/MGLStyleValueTests.h
Normal file
@@ -0,0 +1,4 @@
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface MGLStyleValueTests : XCTestCase
|
||||
@end
|
||||
13
platform/darwin/test/MGLStyleValueTests.m
Normal file
13
platform/darwin/test/MGLStyleValueTests.m
Normal file
@@ -0,0 +1,13 @@
|
||||
#import <XCTest/XCTest.h>
|
||||
#import <Mapbox/Mapbox.h>
|
||||
|
||||
@interface MGLStyleValueTests : XCTestCase
|
||||
@end
|
||||
|
||||
@implementation MGLStyleValueTests
|
||||
|
||||
- (void)testStoplessFunction {
|
||||
XCTAssertThrowsSpecificNamed([MGLStyleValue<NSNumber *> valueWithStops:@{}], NSException, NSInvalidArgumentException, @"Stopless function should raise an exception");
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -1,7 +1,9 @@
|
||||
import XCTest
|
||||
import Mapbox
|
||||
|
||||
class MGLStyleValueTests: XCTestCase {
|
||||
|
||||
extension MGLStyleValueTests {
|
||||
|
||||
func testConstantValues() {
|
||||
let geoJSONSource = MGLGeoJSONSource(identifier: "test", shape: nil, options: nil)
|
||||
let symbolStyleLayer = MGLSymbolStyleLayer(identifier: "test", source: geoJSONSource)
|
||||
@@ -29,7 +31,7 @@ class MGLStyleValueTests: XCTestCase {
|
||||
2: MGLStyleValue(rawValue: false),
|
||||
3: MGLStyleValue(rawValue: true),
|
||||
4: MGLStyleValue(rawValue: false),
|
||||
]
|
||||
]
|
||||
symbolStyleLayer.iconAllowOverlap = MGLStyleFunction<NSNumber>(base: 1, stops: stops)
|
||||
XCTAssertEqual((symbolStyleLayer.iconAllowOverlap as! MGLStyleFunction<NSNumber>), MGLStyleFunction(base: 1, stops: stops))
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
//
|
||||
// Use this file to import your target's public headers that you would like to expose to Swift.
|
||||
//
|
||||
#import "MGLStyleValueTests.h"
|
||||
|
||||
@@ -93,6 +93,7 @@
|
||||
357579891D502B06000B822E /* MGLCircleStyleLayerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 357579881D502B06000B822E /* MGLCircleStyleLayerTests.m */; };
|
||||
3575798B1D502B0C000B822E /* MGLBackgroundStyleLayerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3575798A1D502B0C000B822E /* MGLBackgroundStyleLayerTests.m */; };
|
||||
3575798E1D502EC7000B822E /* MGLRuntimeStylingHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 3575798D1D502EC7000B822E /* MGLRuntimeStylingHelper.m */; };
|
||||
3599A3E61DF708BC00E77FB2 /* MGLStyleValueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3599A3E51DF708BC00E77FB2 /* MGLStyleValueTests.m */; };
|
||||
359F57461D2FDDA6005217F1 /* MGLUserLocationAnnotationView_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 359F57451D2FDBD5005217F1 /* MGLUserLocationAnnotationView_Private.h */; };
|
||||
35B82BF81D6C5F8400B1B721 /* NSPredicate+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 35B82BF61D6C5F8400B1B721 /* NSPredicate+MGLAdditions.h */; };
|
||||
35B82BF91D6C5F8400B1B721 /* NSPredicate+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 35B82BF61D6C5F8400B1B721 /* NSPredicate+MGLAdditions.h */; };
|
||||
@@ -545,6 +546,8 @@
|
||||
3575798A1D502B0C000B822E /* MGLBackgroundStyleLayerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLBackgroundStyleLayerTests.m; path = ../../darwin/test/MGLBackgroundStyleLayerTests.m; sourceTree = "<group>"; };
|
||||
3575798C1D502EC7000B822E /* MGLRuntimeStylingHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLRuntimeStylingHelper.h; path = ../../darwin/test/MGLRuntimeStylingHelper.h; sourceTree = "<group>"; };
|
||||
3575798D1D502EC7000B822E /* MGLRuntimeStylingHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLRuntimeStylingHelper.m; path = ../../darwin/test/MGLRuntimeStylingHelper.m; sourceTree = "<group>"; };
|
||||
357F09091DF84F3800941873 /* MGLStyleValueTests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLStyleValueTests.h; path = ../../darwin/test/MGLStyleValueTests.h; sourceTree = "<group>"; };
|
||||
3599A3E51DF708BC00E77FB2 /* MGLStyleValueTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLStyleValueTests.m; path = ../../darwin/test/MGLStyleValueTests.m; sourceTree = "<group>"; };
|
||||
359F57451D2FDBD5005217F1 /* MGLUserLocationAnnotationView_Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGLUserLocationAnnotationView_Private.h; sourceTree = "<group>"; };
|
||||
35B82BF61D6C5F8400B1B721 /* NSPredicate+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSPredicate+MGLAdditions.h"; sourceTree = "<group>"; };
|
||||
35B82BF71D6C5F8400B1B721 /* NSPredicate+MGLAdditions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "NSPredicate+MGLAdditions.mm"; sourceTree = "<group>"; };
|
||||
@@ -616,7 +619,6 @@
|
||||
DA1DC99A1CB6E064006E619F /* MBXViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MBXViewController.m; sourceTree = "<group>"; };
|
||||
DA1DC99C1CB6E076006E619F /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
|
||||
DA1DC99E1CB6E088006E619F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
DA2207BD1DC0805F0002F84D /* test-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "test-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
DA2207BE1DC0805F0002F84D /* MGLStyleValueTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MGLStyleValueTests.swift; path = ../../darwin/test/MGLStyleValueTests.swift; sourceTree = "<group>"; };
|
||||
DA25D5B91CCD9EDE00607828 /* Settings.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Settings.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DA25D5BF1CCD9F8400607828 /* Root.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Root.plist; sourceTree = "<group>"; };
|
||||
@@ -907,9 +909,10 @@
|
||||
children = (
|
||||
3575798F1D513EF1000B822E /* Layers */,
|
||||
35B8E08B1D6C8B5100E768D2 /* MGLFilterTests.mm */,
|
||||
357F09091DF84F3800941873 /* MGLStyleValueTests.h */,
|
||||
3599A3E51DF708BC00E77FB2 /* MGLStyleValueTests.m */,
|
||||
DA2207BE1DC0805F0002F84D /* MGLStyleValueTests.swift */,
|
||||
40CFA64E1D78754A008103BD /* Sources */,
|
||||
DA2207BD1DC0805F0002F84D /* test-Bridging-Header.h */,
|
||||
);
|
||||
name = Styling;
|
||||
sourceTree = "<group>";
|
||||
@@ -1899,6 +1902,7 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DA2E88631CC0382C00F24E7B /* MGLOfflineRegionTests.m in Sources */,
|
||||
3599A3E61DF708BC00E77FB2 /* MGLStyleValueTests.m in Sources */,
|
||||
DA2E88651CC0382C00F24E7B /* MGLStyleTests.mm in Sources */,
|
||||
DA2E88611CC0382C00F24E7B /* MGLGeometryTests.mm in Sources */,
|
||||
357579801D501E09000B822E /* MGLFillStyleLayerTests.m in Sources */,
|
||||
@@ -2328,7 +2332,7 @@
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.test;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "test/test-Bridging-Header.h";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "../darwin/test/test-Bridging-Header.h";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 3.0;
|
||||
};
|
||||
@@ -2351,7 +2355,7 @@
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.test;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "test/test-Bridging-Header.h";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "../darwin/test/test-Bridging-Header.h";
|
||||
SWIFT_VERSION = 3.0;
|
||||
};
|
||||
name = Release;
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
//
|
||||
// Use this file to import your target's public headers that you would like to expose to Swift.
|
||||
//
|
||||
@@ -34,6 +34,7 @@
|
||||
35602C001D3EA9B40050646F /* MGLForegroundStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 35602BFD1D3EA9B40050646F /* MGLForegroundStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
35602C011D3EA9B40050646F /* MGLForegroundStyleLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 35602BFE1D3EA9B40050646F /* MGLForegroundStyleLayer.m */; };
|
||||
35724FC41D630502002A4AB4 /* amsterdam.geojson in Resources */ = {isa = PBXBuildFile; fileRef = 358EB3AE1D61F0DB00E46D9C /* amsterdam.geojson */; };
|
||||
3599A3E81DF70E2000E77FB2 /* MGLStyleValueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3599A3E71DF70E2000E77FB2 /* MGLStyleValueTests.m */; };
|
||||
35C5D8471D6DD66D00E95907 /* NSComparisonPredicate+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 35C5D8431D6DD66D00E95907 /* NSComparisonPredicate+MGLAdditions.h */; };
|
||||
35C5D8481D6DD66D00E95907 /* NSComparisonPredicate+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35C5D8441D6DD66D00E95907 /* NSComparisonPredicate+MGLAdditions.mm */; };
|
||||
35C5D8491D6DD66D00E95907 /* NSCompoundPredicate+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 35C5D8451D6DD66D00E95907 /* NSCompoundPredicate+MGLAdditions.h */; };
|
||||
@@ -254,6 +255,7 @@
|
||||
3527429E1D4C25BD00A1ECE6 /* MGLStyleValue.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLStyleValue.mm; sourceTree = "<group>"; };
|
||||
352903991D6C63B80002C7DF /* NSPredicate+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSPredicate+MGLAdditions.h"; sourceTree = "<group>"; };
|
||||
3529039A1D6C63B80002C7DF /* NSPredicate+MGLAdditions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "NSPredicate+MGLAdditions.mm"; sourceTree = "<group>"; };
|
||||
353722EB1DF850ED004D2F3F /* MGLStyleValueTests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLStyleValueTests.h; sourceTree = "<group>"; };
|
||||
3537CA731D3F93A600380318 /* MGLStyle_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLStyle_Private.h; sourceTree = "<group>"; };
|
||||
3538AA211D542685008EC33D /* MGLStyleLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLStyleLayer.h; sourceTree = "<group>"; };
|
||||
3538AA221D542685008EC33D /* MGLStyleLayer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLStyleLayer.mm; sourceTree = "<group>"; };
|
||||
@@ -265,6 +267,7 @@
|
||||
35602BFD1D3EA9B40050646F /* MGLForegroundStyleLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLForegroundStyleLayer.h; sourceTree = "<group>"; };
|
||||
35602BFE1D3EA9B40050646F /* MGLForegroundStyleLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGLForegroundStyleLayer.m; sourceTree = "<group>"; };
|
||||
358EB3AE1D61F0DB00E46D9C /* amsterdam.geojson */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = amsterdam.geojson; path = ../../darwin/test/amsterdam.geojson; sourceTree = "<group>"; };
|
||||
3599A3E71DF70E2000E77FB2 /* MGLStyleValueTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGLStyleValueTests.m; sourceTree = "<group>"; };
|
||||
35C5D8431D6DD66D00E95907 /* NSComparisonPredicate+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSComparisonPredicate+MGLAdditions.h"; sourceTree = "<group>"; };
|
||||
35C5D8441D6DD66D00E95907 /* NSComparisonPredicate+MGLAdditions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "NSComparisonPredicate+MGLAdditions.mm"; sourceTree = "<group>"; };
|
||||
35C5D8451D6DD66D00E95907 /* NSCompoundPredicate+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSCompoundPredicate+MGLAdditions.h"; sourceTree = "<group>"; };
|
||||
@@ -683,6 +686,8 @@
|
||||
DA8F257C1D51C5F40010E6B5 /* Layers */,
|
||||
DA87A99A1DC9D88800810D09 /* Sources */,
|
||||
35C5D84B1D6DD75B00E95907 /* MGLFilterTests.mm */,
|
||||
353722EB1DF850ED004D2F3F /* MGLStyleValueTests.h */,
|
||||
3599A3E71DF70E2000E77FB2 /* MGLStyleValueTests.m */,
|
||||
DA2207BB1DC076940002F84D /* MGLStyleValueTests.swift */,
|
||||
);
|
||||
name = Styling;
|
||||
@@ -1280,6 +1285,7 @@
|
||||
DA35A2A81CC9F41600E826B2 /* MGLCoordinateFormatterTests.m in Sources */,
|
||||
DA87A9981DC9D88400810D09 /* MGLGeoJSONSourceTests.mm in Sources */,
|
||||
DA87A9A21DC9DCF100810D09 /* MGLFillStyleLayerTests.m in Sources */,
|
||||
3599A3E81DF70E2000E77FB2 /* MGLStyleValueTests.m in Sources */,
|
||||
DA0CD58E1CF56F5800A5F5A5 /* MGLFeatureTests.mm in Sources */,
|
||||
DA2207BC1DC076940002F84D /* MGLStyleValueTests.swift in Sources */,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user