No review, just a test harness change.
authormjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 27 Dec 2005 12:24:33 +0000 (12:24 +0000)
committermjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 27 Dec 2005 12:24:33 +0000 (12:24 +0000)
- avoid bombing out if a shouldBe test case unexpectedly throws an exception

        * fast/js/kde/resources/base.js:

- this lets some of the tests get a bit further, so new results:

        * fast/js/kde/Number-expected.txt:
        * fast/js/kde/RegExp-expected.txt:
        * fast/js/kde/exception_propagation-expected.txt:
        * fast/js/kde/parse-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@11777 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/js/kde/Number-expected.txt
LayoutTests/fast/js/kde/RegExp-expected.txt
LayoutTests/fast/js/kde/exception_propagation-expected.txt
LayoutTests/fast/js/kde/parse-expected.txt
LayoutTests/fast/js/kde/resources/base.js

index d721c4f0e8cb38183e74686b4ef00d7e702bebed..59a80f330671d5cf443d2a22f19919583654ecb6 100644 (file)
@@ -1,3 +1,18 @@
+2005-12-27  Maciej Stachowiak  <mjs@apple.com>
+
+        No review, just a test harness change.
+
+       - avoid bombing out if a shouldBe test case unexpectedly throws an exception
+
+        * fast/js/kde/resources/base.js:
+
+       - this lets some of the tests get a bit further, so new results:
+
+        * fast/js/kde/Number-expected.txt:
+        * fast/js/kde/RegExp-expected.txt:
+        * fast/js/kde/exception_propagation-expected.txt:
+        * fast/js/kde/parse-expected.txt:
+
 2005-12-27  Maks Orlovich <maksim@kde.org>
 
         Reviewed, tweaked and landed by Maciej.
index 729dfd5966fee1abbf2f15f5f1491eb2eeca628e..d6db5db7ee4d7a6a512f8751ffbe3a4d14c66bd6 100644 (file)
@@ -22,4 +22,242 @@ FAIL Number.MAX_VALUE.toString(2).length should be 1024. Was 1
 PASS (1).valueOf() is 1
 PASS typeof (1).valueOf() is 'number'
 PASS Number(1234.567).toFixed(0) is "1235"
+FAIL Number(1234.567).toFixed(undefined) should be 1235. Threw exception RangeError: toFixed() digits argument must be between 0 and 20
+PASS Number(0).toFixed(7) is "0.0000000"
+PASS Number(0.003).toFixed(0) is "0"
+PASS Number(40.1234567890123).toFixed(7) is "40.1234568"
+PASS Number(-40.1234567890123).toFixed(7) is "-40.1234568"
+PASS Number(4).toFixed(7) is "4.0000000"
+PASS Number(0.000056).toFixed(7) is "0.0000560"
+PASS Number(NaN).toFixed(7) is "NaN"
+PASS Number(Infinity).toFixed(7) is "Infinity"
+PASS Number(-Infinity).toFixed(7) is "-Infinity"
+PASS Number(Math.pow(10,4)).toFixed(13) is "10000.0000000000000"
+PASS Number(Math.pow(10,17)).toFixed(16) is "100000000000000000.0000000000000000"
+PASS Number(Math.pow(10,18)).toFixed(17) is "1000000000000000000.00000000000000000"
+PASS Number(Math.pow(10,19)).toFixed(18) is "10000000000000000000.000000000000000000"
+PASS Number(Math.pow(10,17)).toFixed(20) is "100000000000000000.00000000000000000000"
+PASS Number(Math.pow(10,18)).toFixed(20) is "1000000000000000000.00000000000000000000"
+PASS Number(Math.pow(10,19)).toFixed(20) is "10000000000000000000.00000000000000000000"
+PASS Number(Math.pow(10,20)).toFixed(20) is "100000000000000000000.00000000000000000000"
+PASS Number(Math.pow(10,21)).toFixed(20) is "1e+21"
+PASS toFixedOrException(2,-1).indexOf('Range') >= 0 is true
+PASS toFixedOrException(2,0) is "2"
+PASS toFixedOrException(2,20) is "2.00000000000000000000"
+PASS toFixedOrException(2,21).indexOf('Range') >= 0 is true
+PASS Number(NaN).toExponential() is "NaN"
+PASS Number(Infinity).toExponential() is "Infinity"
+PASS Number(-Infinity).toExponential() is "-Infinity"
+PASS Number(NaN).toExponential(4) is "NaN"
+PASS Number(Infinity).toExponential(4) is "Infinity"
+PASS Number(-Infinity).toExponential(4) is "-Infinity"
+FAIL Number(123.456).toExponential() should be 1.23456e+2. Threw exception RangeError: toExponential() argument must between 0 and 20
+PASS try { Number(123.456).toExponential(-1) } catch (e) { String(e).indexOf('Range') >= 0; } is true
+PASS Number(123.456).toExponential(0) is "1e+2"
+PASS Number(123.456).toExponential(1) is "1.2e+2"
+PASS Number(123.456).toExponential(2) is "1.23e+2"
+PASS Number(123.456).toExponential(3) is "1.235e+2"
+PASS Number(123.456).toExponential(4) is "1.2346e+2"
+PASS Number(123.456).toExponential(5) is "1.23456e+2"
+PASS Number(123.456).toExponential(6) is "1.234560e+2"
+PASS Number(123.456).toExponential(7) is "1.2345600e+2"
+PASS Number(123.456).toExponential(8) is "1.23456000e+2"
+PASS Number(123.456).toExponential(9) is "1.234560000e+2"
+PASS Number(123.456).toExponential(10) is "1.2345600000e+2"
+PASS Number(123.456).toExponential(11) is "1.23456000000e+2"
+PASS Number(123.456).toExponential(12) is "1.234560000000e+2"
+PASS Number(123.456).toExponential(13) is "1.2345600000000e+2"
+PASS Number(123.456).toExponential(14) is "1.23456000000000e+2"
+PASS Number(123.456).toExponential(15) is "1.234560000000000e+2"
+PASS Number(123.456).toExponential(16) is "1.2345600000000000e+2"
+PASS Number(123.456).toExponential(17) is "1.23456000000000000e+2"
+PASS Number(123.456).toExponential(18) is "1.234560000000000000e+2"
+PASS Number(123.456).toExponential(19) is "1.2345600000000000000e+2"
+PASS Number(123.456).toExponential(20) is "1.23456000000000000000e+2"
+PASS try { Number(123.456).toExponential(21) } catch (e) { String(e).indexOf('Range') >= 0; } is true
+FAIL Number(.000123456).toExponential() should be 1.23456e-4. Threw exception RangeError: toExponential() argument must between 0 and 20
+PASS try { Number(.000123456).toExponential(-1) } catch (e) { String(e).indexOf('Range') >= 0; } is true
+PASS Number(.000123456).toExponential(0) is "1e-4"
+PASS Number(.000123456).toExponential(1) is "1.2e-4"
+PASS Number(.000123456).toExponential(2) is "1.23e-4"
+PASS Number(.000123456).toExponential(3) is "1.235e-4"
+PASS Number(.000123456).toExponential(4) is "1.2346e-4"
+PASS Number(.000123456).toExponential(5) is "1.23456e-4"
+PASS Number(.000123456).toExponential(6) is "1.234560e-4"
+PASS Number(.000123456).toExponential(7) is "1.2345600e-4"
+PASS Number(.000123456).toExponential(8) is "1.23456000e-4"
+PASS Number(.000123456).toExponential(9) is "1.234560000e-4"
+PASS Number(.000123456).toExponential(10) is "1.2345600000e-4"
+PASS Number(.000123456).toExponential(11) is "1.23456000000e-4"
+PASS Number(.000123456).toExponential(12) is "1.234560000000e-4"
+PASS Number(.000123456).toExponential(13) is "1.2345600000000e-4"
+PASS Number(.000123456).toExponential(14) is "1.23456000000000e-4"
+PASS Number(.000123456).toExponential(15) is "1.234560000000000e-4"
+PASS Number(.000123456).toExponential(16) is "1.2345600000000000e-4"
+PASS Number(.000123456).toExponential(17) is "1.23456000000000000e-4"
+PASS Number(.000123456).toExponential(18) is "1.234560000000000000e-4"
+PASS Number(.000123456).toExponential(19) is "1.2345600000000000000e-4"
+PASS Number(.000123456).toExponential(20) is "1.23456000000000000000e-4"
+PASS try { Number(.000123456).toExponential(21) } catch (e) { String(e).indexOf('Range') >= 0; } is true
+FAIL Number(123.4567890123456789012).toExponential() should be 1.2345678901234568e+2. Threw exception RangeError: toExponential() argument must between 0 and 20
+PASS try { Number(123.4567890123456789012).toExponential(-1) } catch (e) { String(e).indexOf('Range') >= 0; } is true
+PASS Number(123.4567890123456789012).toExponential(0) is "1e+2"
+PASS Number(123.4567890123456789012).toExponential(1) is "1.2e+2"
+PASS Number(123.4567890123456789012).toExponential(2) is "1.23e+2"
+PASS Number(123.4567890123456789012).toExponential(3) is "1.235e+2"
+PASS Number(123.4567890123456789012).toExponential(4) is "1.2346e+2"
+PASS Number(123.4567890123456789012).toExponential(5) is "1.23457e+2"
+PASS Number(123.4567890123456789012).toExponential(6) is "1.234568e+2"
+PASS Number(123.4567890123456789012).toExponential(7) is "1.2345679e+2"
+PASS Number(123.4567890123456789012).toExponential(8) is "1.23456789e+2"
+PASS Number(123.4567890123456789012).toExponential(9) is "1.234567890e+2"
+PASS Number(123.4567890123456789012).toExponential(10) is "1.2345678901e+2"
+PASS Number(123.4567890123456789012).toExponential(11) is "1.23456789012e+2"
+PASS Number(123.4567890123456789012).toExponential(12) is "1.234567890123e+2"
+PASS Number(123.4567890123456789012).toExponential(13) is "1.2345678901235e+2"
+PASS Number(123.4567890123456789012).toExponential(14) is "1.23456789012346e+2"
+PASS Number(123.4567890123456789012).toExponential(15) is "1.234567890123457e+2"
+PASS Number(123.4567890123456789012).toExponential(16) is "1.2345678901234570e+2"
+PASS Number(123.4567890123456789012).toExponential(17) is "1.23456789012345700e+2"
+PASS Number(123.4567890123456789012).toExponential(18) is "1.234567890123457100e+2"
+PASS Number(123.4567890123456789012).toExponential(19) is "1.2345678901234570000e+2"
+PASS Number(123.4567890123456789012).toExponential(20) is "1.23456789012345700000e+2"
+PASS try { Number(123.4567890123456789012).toExponential(21) } catch (e) { String(e).indexOf('Range') >= 0; } is true
+FAIL Number(.0000000000000000000001).toExponential() should be 1e-22. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000000000000000012).toExponential() should be 1.2e-21. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000000000000000123).toExponential() should be 1.23e-20. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000000000000000123).toExponential() should be 1.23e-20. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000000000000001234).toExponential() should be 1.234e-19. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000000000000012345).toExponential() should be 1.2345e-18. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000000000000123456).toExponential() should be 1.23456e-17. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000000000001234567).toExponential() should be 1.234567e-16. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000000000012345678).toExponential() should be 1.2345678e-15. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000000000123456789).toExponential() should be 1.23456789e-14. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000000001234567890).toExponential() should be 1.23456789e-13. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000000012345678901).toExponential() should be 1.2345678901e-12. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000000123456789012).toExponential() should be 1.23456789012e-11. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000001234567890123).toExponential() should be 1.234567890123e-10. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000012345678901234).toExponential() should be 1.2345678901234e-9. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000000123456789012345).toExponential() should be 1.23456789012345e-8. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000001234567890123456).toExponential() should be 1.234567890123456e-7. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000012345678901234567).toExponential() should be 1.2345678901234567e-6. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0000123456789012345678).toExponential() should be 1.2345678901234568e-5. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0001234567890123456789).toExponential() should be 1.2345678901234567e-4. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0012345678901234567890).toExponential() should be 1.2345678901234567e-3. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(.0123456789012345678901).toExponential() should be 1.2345678901234568e-2. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(1.234567890123456789012).toExponential() should be 1.2345678901234567e+0. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(12.34567890123456789012).toExponential() should be 1.2345678901234567e+1. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(123.4567890123456789012).toExponential() should be 1.2345678901234568e+2. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(1234.567890123456789012).toExponential() should be 1.234567890123457e+3. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(12345.67890123456789012).toExponential() should be 1.2345678901234567e+4. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(123456.7890123456789012).toExponential() should be 1.2345678901234567e+5. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(1234567.890123456789012).toExponential() should be 1.2345678901234567e+6. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(12345678.90123456789012).toExponential() should be 1.2345678901234567e+7. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(123456789.0123456789012).toExponential() should be 1.2345678901234567e+8. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(1234567890.123456789012).toExponential() should be 1.2345678901234567e+9. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(12345678901.23456789012).toExponential() should be 1.2345678901234568e+10. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(123456789012.3456789012).toExponential() should be 1.2345678901234567e+11. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(1234567890123.456789012).toExponential() should be 1.2345678901234568e+12. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(12345678901234.56789012).toExponential() should be 1.2345678901234568e+13. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(123456789012345.6789012).toExponential() should be 1.2345678901234567e+14. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(1234567890123456.789012).toExponential() should be 1.2345678901234568e+15. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(12345678901234567.89012).toExponential() should be 1.2345678901234568e+16. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(123456789012345678.9012).toExponential() should be 1.2345678901234568e+17. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(1234567890123456789.012).toExponential() should be 1.2345678901234568e+18. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(12345678901234567890.12).toExponential() should be 1.2345678901234567e+19. Threw exception RangeError: toExponential() argument must between 0 and 20
+FAIL Number(123456789012345678901.2).toExponential() should be 1.2345678901234568e+20. Threw exception RangeError: toExponential() argument must between 0 and 20
+PASS try { Number(1).toPrecision(-1); } catch (e) { String(e).indexOf('Range') >= 0; } is true
+PASS try { Number(1).toPrecision(0); } catch (e) { String(e).indexOf('Range') >= 0; } is true
+PASS try { Number(1).toPrecision(1); } catch (e) { String(e); } is "1"
+PASS try { Number(1).toPrecision(21); } catch (e) { String(e); } is "1.00000000000000000000"
+PASS try { Number(1).toPrecision(22); } catch (e) { String(e).indexOf('Range') >= 0; } is true
+PASS Number(NaN).toPrecision() is "NaN"
+PASS Number(NaN).toPrecision(1) is "NaN"
+PASS Number(Infinity).toPrecision() is "Infinity"
+PASS Number(Infinity).toPrecision(1) is "Infinity"
+PASS Number(-Infinity).toPrecision() is "-Infinity"
+PASS Number(-Infinity).toPrecision(1) is "-Infinity"
+PASS Number(.0000000012345).toPrecision(2) is "1.2e-9"
+PASS Number(.000000012345).toPrecision(2) is "1.2e-8"
+PASS Number(.00000012345).toPrecision(2) is "1.2e-7"
+PASS Number(.0000012345).toPrecision(2) is "0.0000012"
+PASS Number(.000012345).toPrecision(2) is "0.000012"
+PASS Number(.00012345).toPrecision(2) is "0.00012"
+PASS Number(.0012345).toPrecision(2) is "0.0012"
+PASS Number(.012345).toPrecision(2) is "0.012"
+PASS Number(.12345).toPrecision(2) is "0.12"
+PASS Number(1.2345).toPrecision(2) is "1.2"
+PASS Number(12.345).toPrecision(2) is "12"
+PASS Number(123.45).toPrecision(2) is "1.2e+2"
+PASS Number(1234.5).toPrecision(2) is "1.2e+3"
+PASS Number(12345).toPrecision(2) is "1.2e+4"
+PASS Number(12345.67).toPrecision(4) is "1.235e+4"
+PASS Number(12344.67).toPrecision(4) is "1.234e+4"
+PASS Number(0.0001234567890123456789012345).toPrecision() is "0.00012345678901234567"
+PASS Number(0.0001234567890123456789012345).toPrecision(1) is "0.0001"
+PASS Number(0.0001234567890123456789012345).toPrecision(2) is "0.00012"
+PASS Number(0.0001234567890123456789012345).toPrecision(3) is "0.000123"
+PASS Number(0.0001234567890123456789012345).toPrecision(4) is "0.0001235"
+PASS Number(0.0001234567890123456789012345).toPrecision(5) is "0.00012346"
+PASS Number(0.0001234567890123456789012345).toPrecision(6) is "0.000123457"
+PASS Number(0.0001234567890123456789012345).toPrecision(7) is "0.0001234568"
+PASS Number(0.0001234567890123456789012345).toPrecision(8) is "0.00012345679"
+PASS Number(0.0001234567890123456789012345).toPrecision(9) is "0.000123456789"
+PASS Number(0.0001234567890123456789012345).toPrecision(10) is "0.0001234567890"
+PASS Number(0.0001234567890123456789012345).toPrecision(11) is "0.00012345678901"
+PASS Number(0.0001234567890123456789012345).toPrecision(12) is "0.000123456789012"
+PASS Number(0.0001234567890123456789012345).toPrecision(13) is "0.0001234567890123"
+PASS Number(0.0001234567890123456789012345).toPrecision(14) is "0.00012345678901235"
+PASS Number(0.0001234567890123456789012345).toPrecision(15) is "0.000123456789012346"
+PASS Number(0.0001234567890123456789012345).toPrecision(16) is "0.0001234567890123457"
+PASS Number(0.0001234567890123456789012345).toPrecision(17) is "0.00012345678901234568"
+PASS Number(0.0001234567890123456789012345).toPrecision(18) is "0.000123456789012345680"
+PASS Number(0.0001234567890123456789012345).toPrecision(19) is "0.0001234567890123456800"
+PASS Number(0.0001234567890123456789012345).toPrecision(20) is "0.00012345678901234567000"
+PASS Number(0.0001234567890123456789012345).toPrecision(21) is "0.000123456789012345680000"
+PASS Number(12345.67890123456789012345).toPrecision() is "12345.678901234567"
+PASS Number(12345.67890123456789012345).toPrecision(1) is "1e+4"
+PASS Number(12345.67890123456789012345).toPrecision(2) is "1.2e+4"
+PASS Number(12345.67890123456789012345).toPrecision(3) is "1.23e+4"
+PASS Number(12345.67890123456789012345).toPrecision(4) is "1.235e+4"
+PASS Number(12345.67890123456789012345).toPrecision(5) is "12346"
+PASS Number(12345.67890123456789012345).toPrecision(6) is "12345.7"
+PASS Number(12345.67890123456789012345).toPrecision(7) is "12345.68"
+PASS Number(12345.67890123456789012345).toPrecision(8) is "12345.679"
+PASS Number(12345.67890123456789012345).toPrecision(9) is "12345.6789"
+PASS Number(12345.67890123456789012345).toPrecision(10) is "12345.67890"
+PASS Number(12345.67890123456789012345).toPrecision(11) is "12345.678901"
+PASS Number(12345.67890123456789012345).toPrecision(12) is "12345.6789012"
+PASS Number(12345.67890123456789012345).toPrecision(13) is "12345.67890123"
+PASS Number(12345.67890123456789012345).toPrecision(14) is "12345.678901235"
+PASS Number(12345.67890123456789012345).toPrecision(15) is "12345.6789012346"
+PASS Number(12345.67890123456789012345).toPrecision(16) is "12345.67890123457"
+PASS Number(12345.67890123456789012345).toPrecision(17) is "12345.678901234568"
+PASS Number(12345.67890123456789012345).toPrecision(18) is "12345.6789012345660"
+PASS Number(12345.67890123456789012345).toPrecision(19) is "12345.67890123456800"
+PASS Number(12345.67890123456789012345).toPrecision(20) is "12345.678901234565000"
+PASS Number(12345.67890123456789012345).toPrecision(21) is "12345.6789012345670000"
+PASS Number(0).toPrecision() is "0"
+PASS Number(0).toPrecision(1) is "0"
+PASS Number(0).toPrecision(2) is "0.0"
+PASS Number(0).toPrecision(3) is "0.00"
+PASS Number(0).toPrecision(4) is "0.000"
+PASS Number(0).toPrecision(5) is "0.0000"
+PASS Number(0).toPrecision(6) is "0.00000"
+PASS Number(0).toPrecision(7) is "0.000000"
+PASS Number(0).toPrecision(8) is "0.0000000"
+PASS Number(0).toPrecision(9) is "0.00000000"
+PASS Number(0).toPrecision(10) is "0.000000000"
+PASS Number(0).toPrecision(11) is "0.0000000000"
+PASS Number(0).toPrecision(12) is "0.00000000000"
+PASS Number(0).toPrecision(13) is "0.000000000000"
+PASS Number(0).toPrecision(14) is "0.0000000000000"
+PASS Number(0).toPrecision(15) is "0.00000000000000"
+PASS Number(0).toPrecision(16) is "0.000000000000000"
+PASS Number(0).toPrecision(17) is "0.0000000000000000"
+PASS Number(0).toPrecision(18) is "0.00000000000000000"
+PASS Number(0).toPrecision(19) is "0.000000000000000000"
+PASS Number(0).toPrecision(20) is "0.0000000000000000000"
+PASS Number(0).toPrecision(21) is "0.00000000000000000000"
+PASS successfullyParsed is true
 
index 271168c9547bc612639771ac4ef6102abb78d8b6..73b7b9291da64e6c493f0803ab84f9a611759156 100644 (file)
@@ -84,4 +84,10 @@ PASS var r2 = reg; r2.x = 2; reg.x is 2
 PASS str.match(re).toString() is 'Chapter 3.4.5.1,Chapter 3.4.5.1,.1'
 PASS str.match(/d/gi).toString() is 'D,d'
 PASS /\u0061/.source is '\\u0061'
+FAIL 'abc'.match(/\u0062/).toString() should be b. Threw exception TypeError: Null value
+FAIL Object.prototype.toString.apply(RegExp.prototype) should be [object RegExp]. Was [object RegExpPrototype]
+PASS typeof RegExp.prototype.toString() is 'string'
+Done.
+
+PASS successfullyParsed is true
 
index 8b137891791fe96927ad78e64b0aad7bded08bdc..785f7ff8a9ba8f7251696cb513ba4007274a5aa2 100644 (file)
@@ -1 +1,2 @@
+FAIL successfullyParsed should be true. Threw exception ReferenceError: Can't find variable: successfullyParsed
 
index 8b137891791fe96927ad78e64b0aad7bded08bdc..785f7ff8a9ba8f7251696cb513ba4007274a5aa2 100644 (file)
@@ -1 +1,2 @@
+FAIL successfullyParsed should be true. Threw exception ReferenceError: Can't find variable: successfullyParsed
 
index 95fa28b0136d00b97d3a48750d4978ffb9a0927c..132433d3bbbd07265da9f824a655727e8fa25da7 100644 (file)
@@ -16,10 +16,18 @@ function shouldBe(_a, _b)
 {
   if (typeof _a != "string" || typeof _b != "string")
     debug("WARN: shouldBe() expects string arguments");
-  var _av = eval(_a);
+  var exception;
+  var _av;
+  try {
+     _av = eval(_a);
+  } catch (e) {
+     exception = e;
+  }
   var _bv = eval(_b);
 
-  if (_av === _bv)
+  if (exception)
+    testFailed(_a + " should be " + _bv + ". Threw exception " + exception);
+  else if (_av === _bv)
     testPassed(_a + " is " + _b);
   else
     testFailed(_a + " should be " + _bv + ". Was " + _av);
@@ -31,8 +39,17 @@ function shouldBeFalse(_a) { shouldBe(_a, "false"); }
 
 function shouldBeUndefined(_a)
 {
-  var _av = eval(_a);
-  if (typeof _av == "undefined")
+  var exception;
+  var _av;
+  try {
+     _av = eval(_a);
+  } catch (e) {
+     exception = e;
+  }
+
+  if (exception)
+    testFailed(_a + " should be " + _bv + ". Threw exception " + exception);
+  else if (typeof _av == "undefined")
     testPassed(_a + " is undefined.");
   else
     testFailed(_a + " should be undefined. Was " + _av);