From ae3df5c67698be0f0e7b39367640115d917477fc Mon Sep 17 00:00:00 2001 From: Fabian Guerra Date: Wed, 28 Mar 2018 14:40:28 -0400 Subject: [ios, macos] Refactor expressions variable name and 'mgl_has' implementation. --- platform/darwin/test/MGLExpressionTests.mm | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'platform/darwin/test/MGLExpressionTests.mm') diff --git a/platform/darwin/test/MGLExpressionTests.mm b/platform/darwin/test/MGLExpressionTests.mm index f489b3f79a..cf584ea2d5 100644 --- a/platform/darwin/test/MGLExpressionTests.mm +++ b/platform/darwin/test/MGLExpressionTests.mm @@ -171,15 +171,15 @@ using namespace std::string_literals; XCTAssertEqualObjects([expression expressionValueWithObject:nil context:context], @1); } { - NSExpression *expression = [NSExpression expressionForVariable:@"geometryType"]; + NSExpression *expression = [NSExpression expressionForVariable:@"mgl_geometryType"]; XCTAssertEqualObjects(expression.mgl_jsonExpressionObject, @[@"geometry-type"]); - XCTAssertEqualObjects([NSExpression expressionWithFormat:@"$geometryType"].mgl_jsonExpressionObject, @[@"geometry-type"]); + XCTAssertEqualObjects([NSExpression expressionWithFormat:@"$mgl_geometryType"].mgl_jsonExpressionObject, @[@"geometry-type"]); XCTAssertEqualObjects([NSExpression mgl_expressionWithJSONObject:@[@"geometry-type"]], expression); } { - NSExpression *expression = [NSExpression expressionForVariable:@"featureId"]; + NSExpression *expression = [NSExpression expressionForVariable:@"featureIdentifier"]; XCTAssertEqualObjects(expression.mgl_jsonExpressionObject, @[@"id"]); - XCTAssertEqualObjects([NSExpression expressionWithFormat:@"$featureId"].mgl_jsonExpressionObject, @[@"id"]); + XCTAssertEqualObjects([NSExpression expressionWithFormat:@"$featureIdentifier"].mgl_jsonExpressionObject, @[@"id"]); XCTAssertEqualObjects([NSExpression mgl_expressionWithJSONObject:@[@"id"]], expression); } { @@ -649,29 +649,35 @@ using namespace std::string_literals; - (void)testLookupExpressionObject { { - NSExpression *operand = [NSExpression expressionForAggregate:@[MGLConstantExpression(@9), + NSExpression *array = [NSExpression expressionForAggregate:@[MGLConstantExpression(@9), MGLConstantExpression(@8), MGLConstantExpression(@7)]]; - NSExpression *expression = [NSExpression expressionWithFormat:@"FUNCTION(%@, 'objectAtIndex:', %@)", operand, MGLConstantExpression(@1)]; + NSExpression *expression = [NSExpression expressionForFunction:@"objectFrom:withIndex:" arguments:@[array, MGLConstantExpression(@1)]]; NSArray *jsonExpression = @[@"at", @1, @[ @"literal", @[@9, @8, @7]]]; XCTAssertEqualObjects(expression.mgl_jsonExpressionObject, jsonExpression); XCTAssertEqualObjects([NSExpression mgl_expressionWithJSONObject:jsonExpression], expression); } { - NSExpression *operand = [NSExpression expressionForAggregate:@[MGLConstantExpression(@9), + NSExpression *array = [NSExpression expressionForAggregate:@[MGLConstantExpression(@9), MGLConstantExpression(@8), MGLConstantExpression(@7)]]; - NSExpression *expression = [NSExpression expressionWithFormat:@"FUNCTION(%@, 'objectAtIndex:', x)", operand]; + NSExpression *expression = [NSExpression expressionForFunction:@"objectFrom:withIndex:" arguments:@[array, [NSExpression expressionForKeyPath:@"x"]]]; NSArray *jsonExpression = @[@"at", @[@"get", @"x"], @[ @"literal", @[@9, @8, @7]]]; XCTAssertEqualObjects(expression.mgl_jsonExpressionObject, jsonExpression); XCTAssertEqualObjects([NSExpression mgl_expressionWithJSONObject:jsonExpression], expression); } { - NSExpression *expression = [NSExpression expressionWithFormat:@"FUNCTION('x', 'has')"]; + NSExpression *expression = [NSExpression expressionWithFormat:@"FUNCTION(self, 'mgl_has:', 'x')"]; NSArray *jsonExpression = @[@"has", @"x"]; XCTAssertEqualObjects(expression.mgl_jsonExpressionObject, jsonExpression); XCTAssertEqualObjects([NSExpression mgl_expressionWithJSONObject:jsonExpression], expression); } + { + NSExpression *expression = [NSExpression expressionWithFormat:@"FUNCTION(%@, 'mgl_has:', 'x')", [NSExpression expressionForConstantValue:@{@"x": MGLConstantExpression(@0)}]]; + NSArray *jsonExpression = @[@"has", @"x", @[@"literal", @{@"x": @0}]]; + XCTAssertEqualObjects(expression.mgl_jsonExpressionObject, jsonExpression); + XCTAssertEqualObjects([NSExpression mgl_expressionWithJSONObject:jsonExpression], expression); + } } @end -- cgit v1.2.1