Test results, smdebug


Test List: decimal/ops, decimal/methods
Skip List: (none)
31 test(s) selected, 31 test(s) completed, 0 failures reported (0% failed)
Engine command line: ../src/Linux_All_DBG.OBJ/js
OS type: Linux rubix 2.6.22-15-generic #1 SMP Fri Jul 11 19:25:33 UTC 2008 i686 GNU/Linux
Testcase execution time: 0 seconds.
Tests completed on Wed Aug 27 15:03:39 2008.

Whoop-de-doo, nothing failed!


Summary

11.3.1 Postfix Increment Operator

expression result
eval("var MYVAR=1.10m; MYVAR++") 1.10m
eval("var MYVAR=1.10m; MYVAR++; MYVAR") 2.10m

11.3.2 Postfix Decrement Operator

expression result
eval("var MYVAR=3.10m; MYVAR--") 3.10m
eval("var MYVAR=3.10m; MYVAR--; MYVAR") 2.10m

11.4.1 The delete Operator

expression result
delete new Decimal(1) true

11.4.3 The typeof Operator

expression result
typeof 1m "object"
typeof Decimal(1m) "object"
typeof new Decimal(1m) "object"

11.4.4 Prefix Increment Operator

expression result
eval("var MYVAR=1.10m; ++MYVAR") 2.10m
eval("var MYVAR=1.10m; ++MYVAR; MYVAR") 2.10m

11.4.5 Prefix Decrement Operator

expression result
eval("var MYVAR=3.10m; --MYVAR") 2.10m
eval("var MYVAR=3.10m; --MYVAR; MYVAR") 2.10m

11.4.6 Unary + Operator

expression result
(+Decimal("1.10")).toString() "1.10"
(+Decimal("-1.10")).toString() "-1.10"

11.4.7 Unary - Operator

expression result
(-Decimal("1.10")).toString() "-1.10"
(-Decimal("-1.10")).toString() "1.10"

11.4.8 Bitwise NOT Operator ( ~ )

expression result
~1e12m 727379967
(-Decimal("-1.10")).toString() "1.10"

11.4.9 Logical NOT Operator ( ! )

expression result
!3.1m false
!0.00m true

11.5.1 Applying the * Operator

expression result
1.50m * 1.05m 1.5750m
1.50m * 1.5 2.250m
1.50 * 1.5m 2.25m
1.50m * true 1.50m
true * 1.50m 1.50m
1.50m * '3.10' 4.650m
'3.10' * 1.50m 4.650m
(1.50m * 'm').toString().substr(0,3) "NaN"
('m' * 1.50m).toString().substr(0,3) "NaN"
(RegExp() * 1m).toString() "NaN"
(1m * RegExp()).toString() "NaN"
(1e+3100m * 1e+3100m).toString() "Infinity"
1e-3200m * 1e-3200m 0E-6176m

11.5.2 Applying the / Operator

expression result
5.60m / 1.4m 4.0m
(5.60m / 0.0m).toString() "Infinity"
5.60m / 1.4 4.000000000000000253765262771464368m
5.60m / true 5.60m
5.60m / '1.4' 4.0m
(1.50m / 'm').toString().substr(0,3) "NaN"
(RegExp() / 1m).toString() "NaN"
(1e+3100m / 1e-3100m).toString() "Infinity"
1e-3200m / 1e+3200m 0E-6176m

11.5.3 Applying the % Operator

expression result
5.80m % 1.4m 0.20m
(5.80m % 0.0m).toString() "NaN"
5.80m % 1.4 0.200000000000000355271367880050092m
5.80m % true 0.80m
5.80m % '1.4' 0.20m
(1.50m % 'm').toString().substr(0,3) "NaN"
(RegExp() % 1m).toString() "NaN"

11.6.1 The Addition operator ( + )

expression result
1.05m + 1.05m 2.10m
1.60m + 1.5 3.10m
1.50 + 1.6m 3.1m
1.60m + true 2.60m
true + 1.60m 2.60m
1.60m + 'm' "1.60m"
'm' + 1.60m "m1.60"
RegExp() + 1m "/(?:)/1"
1m + RegExp() "1/(?:)/"

11.7.1 The Left Shift Operator ( << )

expression result
1234.56789m << 21 -1707081728

11.7.2 The Signed Right Shift Operator ( << )

expression result
-1234.56789m >> 2 -309

11.7.3 The Unsigned Right Shift Operator ( >>> )

expression result
-1234.56789m >>> 2 1073741515

11.8.1 The Less-than Operator ( < )

expression result
1.1m < 1.2m true
1.2m < 1.1m false
1.1m < 1.10m false
1.10m < 1.1m false
1.1m < 1.1 true
1.2m < 1.2 false
1.5m < 1.5 false

11.8.2 The Greater-than Operator ( > )

expression result
1.1m > 1.2m false
1.2m > 1.1m true
1.1m > 1.10m false
1.10m > 1.1m false
1.1m > 1.1 false
1.2m > 1.2 true
1.5m > 1.5 false

11.8.3 The Less-than-or-equal Operator ( <= )

expression result
1.1m <= 1.2m true
1.2m <= 1.1m false
1.1m <= 1.10m true
1.10m <= 1.1m true
1.1m <= 1.1 true
1.2m <= 1.2 false
1.5m <= 1.5 true

11.8.4 The Greater-than-or-equal Operator ( >= )

expression result
1.1m >= 1.2m false
1.2m >= 1.1m true
1.1m >= 1.10m true
1.10m >= 1.1m true
1.1m >= 1.1 false
1.2m >= 1.2 true
1.5m >= 1.5 true

11.8.6 instanceof Operator

expression result
1.1m instanceof Decimal true
1.1 instanceof Decimal false
Decimal('5') instanceof Decimal true
new Decimal('5') instanceof Decimal true

11.8.7 The in Operator

expression result
'add' in Decimal true
'add' in 7.1m true
'substr' in Decimal false
'substr' in 7.1m false

11.9.1 The Equals Operator ( == )

expression result
1.1m == 1.1m true
1.2m == 1.1m false
1.1m == 1.10m true
1.10m == 1.1m true
1.1m == 1.1 false
1.2m == 1.2 false
1.2m == '1.2' true
1.0m == true true
1.5m == 1.5 true

11.9.2 The Does-not-equals Operator ( != )

expression result
1.1m != 1.1m false
1.2m != 1.1m true
1.1m != 1.10m false
1.10m != 1.1m false
1.1m != 1.1 true
1.2m != 1.2 true
1.2m != '1.2' false
1.0m != true false
1.5m != 1.5 false

11.9.4 The Strict Equals Operator ( === )

expression result
1.1m === 1.1m true
1.2m === 1.1m false
1.1m === 1.10m true
1.10m === 1.1m true
1.1m === 1.1 false
1.2m === 1.2 false
1.2m === '1.2' false
1.0m === true false
1.5m === 1.5 false

11.9.5 The Strict Does-not-equals Operator ( !== )

expression result
1.1m !== 1.1m false
1.2m !== 1.1m true
1.1m !== 1.10m false
1.10m !== 1.1m false
1.1m !== 1.1 true
1.2m !== 1.2 true
1.2m !== '1.2' true
1.0m !== true true
1.5m !== 1.5 true

11.10 Binary Bitwise Operators

expression result
2e10m & 2e5m 198656
2e10m | 2e5m -1474835136
2e10m ^ 2e5m -1475033792

11.11 Binary Logical Operators

expression result
12.34m || 56.78m 12.34m
0.0m || 56.78m 56.78m
12.34m || 56.78m 12.34m
0.0m && 56.78m 0.0m

15.13.2 The Decimal Constructor Called as a Function

expression result
Decimal() 0m
Decimal(12.50m) 12.50m
Decimal('12.50') 12.50m
Decimal('123345678901234567890.123456789012345678901234567890') 123345678901234567890.1234567890123m
Decimal('98765432109876543210.987654321098765432109876543210') 98765432109876543210.98765432109877m
Decimal('garbage').toString() "NaN"
Decimal(1) 1m
Decimal(1.1) 1.100000000000000088817841970012523m
Decimal(true) 1m
Decimal(/./).toString() "NaN"

15.13.3 The Decimal Constructor

expression result
new Decimal() 0m
new Decimal(12.50m) 12.50m
new Decimal('12.50') 12.50m
new Decimal('123345678901234567890.123456789012345678901234567890') 123345678901234567890.1234567890123m
new Decimal('98765432109876543210.987654321098765432109876543210') 98765432109876543210.98765432109877m
new Decimal('garbage').toString() "NaN"
new Decimal(1) 1m
new Decimal(1.1) 1.100000000000000088817841970012523m
new Decimal(true) 1m
new Decimal(/./).toString() "NaN"