@@ -1010,20 +1010,6 @@ defineSuite([
1010
1010
expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
1011
1011
} ) ;
1012
1012
1013
- it ( 'evaluates binary equals' , function ( ) {
1014
- var expression = new Expression ( '\'hello\' == \'hello\'' ) ;
1015
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
1016
-
1017
- expression = new Expression ( '1 == 2' ) ;
1018
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
1019
-
1020
- expression = new Expression ( 'false == true == false' ) ;
1021
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
1022
-
1023
- expression = new Expression ( '1 == "1"' ) ;
1024
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
1025
- } ) ;
1026
-
1027
1013
it ( 'evaluates binary not equals strict' , function ( ) {
1028
1014
var expression = new Expression ( '\'hello\' !== \'hello\'' ) ;
1029
1015
expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
@@ -1038,20 +1024,6 @@ defineSuite([
1038
1024
expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
1039
1025
} ) ;
1040
1026
1041
- it ( 'evaluates binary not equals' , function ( ) {
1042
- var expression = new Expression ( '\'hello\' != \'hello\'' ) ;
1043
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
1044
-
1045
- expression = new Expression ( '1 != 2' ) ;
1046
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
1047
-
1048
- expression = new Expression ( 'false != true != false' ) ;
1049
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
1050
-
1051
- expression = new Expression ( '1 != "1"' ) ;
1052
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
1053
- } ) ;
1054
-
1055
1027
it ( 'evaluates binary less than' , function ( ) {
1056
1028
var expression = new Expression ( '2 < 3' ) ;
1057
1029
expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
@@ -1278,15 +1250,9 @@ defineSuite([
1278
1250
expression = new Expression ( 'rgba(255, 255, 255, 1.0) % rgba(255, 255, 255, 1.0)' ) ;
1279
1251
expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( Cartesian4 . fromColor ( new Color ( 0 , 0 , 0 , 0 ) ) ) ;
1280
1252
1281
- expression = new Expression ( 'color(\'green\') == color(\'green\')' ) ;
1282
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
1283
-
1284
- expression = new Expression ( 'color() == color()' ) ;
1253
+ expression = new Expression ( 'color(\'green\') === color(\'green\')' ) ;
1285
1254
expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
1286
1255
1287
- expression = new Expression ( 'color(\'green\') != color(\'green\')' ) ;
1288
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
1289
-
1290
1256
expression = new Expression ( 'color(\'green\') !== color(\'green\')' ) ;
1291
1257
expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
1292
1258
} ) ;
@@ -1382,15 +1348,6 @@ defineSuite([
1382
1348
expression = new Expression ( 'vec4(2, 3, 4, 5) % vec4(3, 3, 3, 2)' ) ;
1383
1349
expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( new Cartesian4 ( 2 , 0 , 1 , 1 ) ) ;
1384
1350
1385
- expression = new Expression ( 'vec2(1, 3) == vec2(1, 3)' ) ;
1386
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
1387
-
1388
- expression = new Expression ( 'vec3(1, 3, 4) == vec3(1, 3, 4)' ) ;
1389
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
1390
-
1391
- expression = new Expression ( 'vec4(1, 3, 4, 6) == vec4(1, 3, 4, 6)' ) ;
1392
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
1393
-
1394
1351
expression = new Expression ( 'vec2(1, 2) === vec2(1, 2)' ) ;
1395
1352
expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
1396
1353
@@ -1400,15 +1357,6 @@ defineSuite([
1400
1357
expression = new Expression ( 'vec4(1, 2, 3, 4) === vec4(1, 2, 3, 4)' ) ;
1401
1358
expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
1402
1359
1403
- expression = new Expression ( 'vec2(1, 2) != vec2(1, 2)' ) ;
1404
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
1405
-
1406
- expression = new Expression ( 'vec3(1, 2, 3) != vec3(1, 2, 3)' ) ;
1407
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
1408
-
1409
- expression = new Expression ( 'vec4(1, 2, 3, 4) != vec4(1, 2, 3, 4)' ) ;
1410
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
1411
-
1412
1360
expression = new Expression ( 'vec2(1, 2) !== vec2(1, 2)' ) ;
1413
1361
expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
1414
1362
@@ -2358,7 +2306,7 @@ defineSuite([
2358
2306
vector : Cartesian4 . UNIT_X
2359
2307
} ) ;
2360
2308
2361
- expression = new Expression ( '${feature} == ${feature.feature}' ) ;
2309
+ expression = new Expression ( '${feature} === ${feature.feature}' ) ;
2362
2310
expect ( expression . evaluate ( frameState , feature ) ) . toEqual ( true ) ;
2363
2311
} ) ;
2364
2312
@@ -2443,6 +2391,18 @@ defineSuite([
2443
2391
expect ( expression . evaluate ( frameState , feature ) ) . toEqual ( true ) ;
2444
2392
} ) ;
2445
2393
2394
+ it ( 'throws if regex test function has invalid arguments' , function ( ) {
2395
+ var expression = new Expression ( 'regExp("1").test(1)' ) ;
2396
+ expect ( function ( ) {
2397
+ expression . evaluate ( frameState , undefined ) ;
2398
+ } ) . toThrowDeveloperError ( ) ;
2399
+
2400
+ expression = new Expression ( 'regExp("a").test(regExp("b"))' ) ;
2401
+ expect ( function ( ) {
2402
+ expression . evaluate ( frameState , undefined ) ;
2403
+ } ) . toThrowDeveloperError ( ) ;
2404
+ } ) ;
2405
+
2446
2406
it ( 'evaluates regex exec function' , function ( ) {
2447
2407
var feature = new MockFeature ( ) ;
2448
2408
feature . addProperty ( 'property' , 'abc' ) ;
@@ -2467,6 +2427,18 @@ defineSuite([
2467
2427
expect ( expression . evaluate ( frameState , feature ) ) . toEqual ( '1' ) ;
2468
2428
} ) ;
2469
2429
2430
+ it ( 'throws if regex exec function has invalid arguments' , function ( ) {
2431
+ var expression = new Expression ( 'regExp("1").exec(1)' ) ;
2432
+ expect ( function ( ) {
2433
+ expression . evaluate ( frameState , undefined ) ;
2434
+ } ) . toThrowDeveloperError ( ) ;
2435
+
2436
+ expression = new Expression ( 'regExp("a").exec(regExp("b"))' ) ;
2437
+ expect ( function ( ) {
2438
+ expression . evaluate ( frameState , undefined ) ;
2439
+ } ) . toThrowDeveloperError ( ) ;
2440
+ } ) ;
2441
+
2470
2442
it ( 'evaluates regex match operator' , function ( ) {
2471
2443
var feature = new MockFeature ( ) ;
2472
2444
feature . addProperty ( 'property' , 'abc' ) ;
@@ -2486,17 +2458,28 @@ defineSuite([
2486
2458
expression = new Expression ( 'regExp("quick\\s(brown).+?(jumps)", "ig") =~ "The Quick Brown Fox Jumps Over The Lazy Dog"' ) ;
2487
2459
expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
2488
2460
2489
- expression = new Expression ( 'regExp("a") =~ 1' ) ;
2490
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
2461
+ expression = new Expression ( 'regExp(${property}) =~ ${property}' ) ;
2462
+ expect ( expression . evaluate ( frameState , feature ) ) . toEqual ( true ) ;
2463
+ } ) ;
2464
+
2465
+ it ( 'throws if regex match operator has invalid arguments' , function ( ) {
2466
+ var feature = new MockFeature ( ) ;
2467
+ feature . addProperty ( 'property' , 'abc' ) ;
2468
+
2469
+ var expression = new Expression ( 'regExp("a") =~ 1' ) ;
2470
+ expect ( function ( ) {
2471
+ expression . evaluate ( frameState , undefined ) ;
2472
+ } ) . toThrowDeveloperError ( ) ;
2491
2473
2492
2474
expression = new Expression ( '1 =~ regExp("a")' ) ;
2493
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
2475
+ expect ( function ( ) {
2476
+ expression . evaluate ( frameState , undefined ) ;
2477
+ } ) . toThrowDeveloperError ( ) ;
2494
2478
2495
2479
expression = new Expression ( '1 =~ 1' ) ;
2496
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
2497
-
2498
- expression = new Expression ( 'regExp(${property}) =~ ${property}' ) ;
2499
- expect ( expression . evaluate ( frameState , feature ) ) . toEqual ( true ) ;
2480
+ expect ( function ( ) {
2481
+ expression . evaluate ( frameState , undefined ) ;
2482
+ } ) . toThrowDeveloperError ( ) ;
2500
2483
} ) ;
2501
2484
2502
2485
it ( 'evaluates regex not match operator' , function ( ) {
@@ -2518,17 +2501,25 @@ defineSuite([
2518
2501
expression = new Expression ( 'regExp("quick\\s(brown).+?(jumps)", "ig") !~ "The Quick Brown Fox Jumps Over The Lazy Dog"' ) ;
2519
2502
expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
2520
2503
2521
- expression = new Expression ( 'regExp("a") !~ 1' ) ;
2522
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
2504
+ expression = new Expression ( 'regExp(${property}) !~ ${property}' ) ;
2505
+ expect ( expression . evaluate ( frameState , feature ) ) . toEqual ( false ) ;
2506
+ } ) ;
2507
+
2508
+ it ( 'throws if regex not match operator has invalid arguments' , function ( ) {
2509
+ var expression = new Expression ( 'regExp("a") !~ 1' ) ;
2510
+ expect ( function ( ) {
2511
+ expression . evaluate ( frameState , undefined ) ;
2512
+ } ) . toThrowDeveloperError ( ) ;
2523
2513
2524
2514
expression = new Expression ( '1 !~ regExp("a")' ) ;
2525
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( true ) ;
2515
+ expect ( function ( ) {
2516
+ expression . evaluate ( frameState , undefined ) ;
2517
+ } ) . toThrowDeveloperError ( ) ;
2526
2518
2527
2519
expression = new Expression ( '1 !~ 1' ) ;
2528
- expect ( expression . evaluate ( frameState , undefined ) ) . toEqual ( false ) ;
2529
-
2530
- expression = new Expression ( 'regExp(${property}) !~ ${property}' ) ;
2531
- expect ( expression . evaluate ( frameState , feature ) ) . toEqual ( false ) ;
2520
+ expect ( function ( ) {
2521
+ expression . evaluate ( frameState , undefined ) ;
2522
+ } ) . toThrowDeveloperError ( ) ;
2532
2523
} ) ;
2533
2524
2534
2525
it ( 'throws if test is not called with a RegExp' , function ( ) {
@@ -2708,27 +2699,13 @@ defineSuite([
2708
2699
expect ( shaderExpression ) . toEqual ( expected ) ;
2709
2700
} ) ;
2710
2701
2711
- it ( 'gets shader expression for binary equals' , function ( ) {
2712
- var expression = new Expression ( '1.0 == 2.0' ) ;
2713
- var shaderExpression = expression . getShaderExpression ( '' , { } ) ;
2714
- var expected = '(1.0 == 2.0)' ;
2715
- expect ( shaderExpression ) . toEqual ( expected ) ;
2716
- } ) ;
2717
-
2718
2702
it ( 'gets shader expression for binary not equals strict' , function ( ) {
2719
2703
var expression = new Expression ( '1.0 !== 2.0' ) ;
2720
2704
var shaderExpression = expression . getShaderExpression ( '' , { } ) ;
2721
2705
var expected = '(1.0 != 2.0)' ;
2722
2706
expect ( shaderExpression ) . toEqual ( expected ) ;
2723
2707
} ) ;
2724
2708
2725
- it ( 'gets shader expression for binary not equals' , function ( ) {
2726
- var expression = new Expression ( '1.0 != 2.0' ) ;
2727
- var shaderExpression = expression . getShaderExpression ( '' , { } ) ;
2728
- var expected = '(1.0 != 2.0)' ;
2729
- expect ( shaderExpression ) . toEqual ( expected ) ;
2730
- } ) ;
2731
-
2732
2709
it ( 'gets shader expression for binary less than' , function ( ) {
2733
2710
var expression = new Expression ( '1.0 < 2.0' ) ;
2734
2711
var shaderExpression = expression . getShaderExpression ( '' , { } ) ;
0 commit comments