diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /js/src/tests/test262/ch09/9.3/9.3.1 | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'js/src/tests/test262/ch09/9.3/9.3.1')
39 files changed, 1463 insertions, 0 deletions
diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A1.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A1.js new file mode 100644 index 000000000..35b235fa3 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A1.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StringNumericLiteral ::: [empty] is 0 + * + * @path ch09/9.3/9.3.1/S9.3.1_A1.js + * @description Number('') convert to Number by explicit transformation + */ + +// CHECK#1 +if (Number("") !== 0) { + $ERROR('#1.1: Number("") === 0. Actual: ' + (Number(""))); +} else { + if (1/Number("") !== Number.POSITIVE_INFINITY) { + $ERROR('#1.2: Number("") == +0. Actual: -0'); + } +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A10.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A10.js new file mode 100644 index 000000000..1f7d3f958 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A10.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StrUnsignedDecimalLiteral:::. DecimalDigits is the + * MV of DecimalDigits times 10<sup><small>-n</small></sup>, where n is the + * number of characters in DecimalDigits + * + * @path ch09/9.3/9.3.1/S9.3.1_A10.js + * @description Compare Number('.12345') with +('12345')*1e-5 + */ + +// CHECK#1 +if (Number(".12345") !== +("12345")*1e-5) { + $ERROR('#1: Number(".12345") === +("12345")*1e-5'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A11.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A11.js new file mode 100644 index 000000000..9f58e16f2 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A11.js @@ -0,0 +1,23 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StrUnsignedDecimalLiteral:::. DecimalDigits ExponentPart + * is the MV of DecimalDigits times 10<sup><small>e-n</small></sup>, where n is + * the number of characters in DecimalDigits and e is the MV of ExponentPart + * + * @path ch09/9.3/9.3.1/S9.3.1_A11.js + * @description Compare Number('.12345e6') with +('12345')*1e1, + * and Number('.12345e-3') !== Number('12345')*1e-8 + */ + +// CHECK#1 +if (Number(".12345e6") !== +("12345")*1e1) { + $ERROR('#1: Number(".12345e6") === +("12345")*1e1'); +} + +// CHECK#2 +if (Number(".12345e-3") !== Number("12345")*1e-8) { + $ERROR('#2: Number(".12345e-3") === Number("12345")*1e-8'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A12.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A12.js new file mode 100644 index 000000000..201040946 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A12.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StrUnsignedDecimalLiteral::: DecimalDigits ExponentPart + * is the MV of DecimalDigits times 10<sup><small>e</small></sup>, where e is the MV of ExponentPart + * + * @path ch09/9.3/9.3.1/S9.3.1_A12.js + * @description Compare Number('12345e6') with +('12345')*1e1, + * and Number('12345e-6') !== Number('12345')*1e-6 + */ + +// CHECK#1 +if (Number("12345e6") !== +("12345")*1e6) { + $ERROR('#1: Number("12345e6") === +("12345")*1e6'); +} + +// CHECK#2 +if (Number("12345e-6") !== Number("12345")*1e-6) { + $ERROR('#2: Number("12345e-6") === Number("12345")*1e-6'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A13.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A13.js new file mode 100644 index 000000000..8d51f4b02 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A13.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of DecimalDigits ::: DecimalDigits DecimalDigit is + * (the MV of DecimalDigits times 10) plus the MV of DecimalDigit + * + * @path ch09/9.3/9.3.1/S9.3.1_A13.js + * @description Compare '12' with Number("1")*10+Number("2") and analogous + */ + +// CHECK#1 +if (+("12") !== Number("1")*10+Number("2")) { + $ERROR('#1: +("12") === Number("1")*10+Number("2")'); +} + +// CHECK#2 +if (Number("123") !== Number("12")*10+Number("3")) { + $ERROR('#2: Number("123") === Number("12")*10+Number("3")'); +} + +// CHECK#2 +if (Number("1234") !== Number("123")*10+Number("4")) { + $ERROR('#2: Number("1234") === Number("123")*10+Number("4")'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A14.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A14.js new file mode 100644 index 000000000..4ed80b082 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A14.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of SignedInteger ::: + DecimalDigits is the MV of DecimalDigits + * + * @path ch09/9.3/9.3.1/S9.3.1_A14.js + * @description Compare Number('+1234567890') with +('1234567890') + */ + +// CHECK#1 +if (Number("+1234567890") !== +("1234567890")) { + $ERROR('#1: Number("+1234567890") === +("1234567890")'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A15.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A15.js new file mode 100644 index 000000000..d0ba80b6e --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A15.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of SignedInteger ::: - DecimalDigits is the negative of the MV of DecimalDigits + * + * @path ch09/9.3/9.3.1/S9.3.1_A15.js + * @description Compare -Number('1234567890') with ('-1234567890') + */ + +// CHECK#1 +if (+("-1234567890") !== -Number("1234567890")) { + $ERROR('#1: +("-1234567890") === -Number("1234567890")'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A16.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A16.js new file mode 100644 index 000000000..6163fbb4a --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A16.js @@ -0,0 +1,25 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of DecimalDigit ::: 0 or of HexDigit ::: 0 is 0 + * + * @path ch09/9.3/9.3.1/S9.3.1_A16.js + * @description Compare Number('0x0') and Number('0X0') with 0 + */ + +// CHECK#1 +if (Number("0") !== 0) { + $ERROR('#1: Number("0") === 0. Actual: ' + (Number("0"))); +} + +// CHECK#2 +if (+("0x0") !== 0) { + $ERROR('#2: +("0x0") === 0. Actual: ' + (+("0x0"))); +} + +// CHECK#3 +if (Number("0X0") !== 0) { + $ERROR('#3: Number("0X0") === 0. Actual: ' + (Number("0X0"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A17.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A17.js new file mode 100644 index 000000000..d4b72bbf5 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A17.js @@ -0,0 +1,25 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of DecimalDigit ::: 1 or of HexDigit ::: 1 is 1 + * + * @path ch09/9.3/9.3.1/S9.3.1_A17.js + * @description Compare Number('0x1') and Number('0X1') with 1 + */ + +// CHECK#1 +if (Number("1") !== 1) { + $ERROR('#1: Number("1") === 1. Actual: ' + (Number("1"))); +} + +// CHECK#2 +if (Number("0x1") !== 1) { + $ERROR('#2: Number("0x1") === 1. Actual: ' + (Number("0x1"))); +} + +// CHECK#3 +if (+("0X1") !== 1) { + $ERROR('#3: +("0X1") === 1. Actual: ' + (+("0X1"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A18.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A18.js new file mode 100644 index 000000000..b4375494c --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A18.js @@ -0,0 +1,25 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of DecimalDigit ::: 2 or of HexDigit ::: 2 is 2 + * + * @path ch09/9.3/9.3.1/S9.3.1_A18.js + * @description Compare Number('0x2') and Number('0X2') with 2 + */ + +// CHECK#1 +if (+("2") !== 2) { + $ERROR('#1: +("2") === 2. Actual: ' + (+("2"))); +} + +// CHECK#2 +if (Number("0x2") !== 2) { + $ERROR('#2: Number("0x2") === 2. Actual: ' + (Number("0x2"))); +} + +// CHECK#3 +if (Number("0X2") !== 2) { + $ERROR('#3: Number("0X2") === 2. Actual: ' + (Number("0X2"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A19.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A19.js new file mode 100644 index 000000000..0abc0200a --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A19.js @@ -0,0 +1,25 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of DecimalDigit ::: 3 or of HexDigit ::: 3 is 3 + * + * @path ch09/9.3/9.3.1/S9.3.1_A19.js + * @description Compare Number('0x3') and Number('0X3') with 3 + */ + +// CHECK#1 +if (Number("3") !== 3) { + $ERROR('#1: Number("3") === 3. Actual: ' + (Number("3"))); +} + +// CHECK#2 +if (+("0x3") !== 3) { + $ERROR('#2: +("0x3") === 3. Actual: ' + (+("0x3"))); +} + +// CHECK#3 +if (Number("0X3") !== 3) { + $ERROR('#3: Number("0X3") === 3. Actual: ' + (Number("0X3"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A2.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A2.js new file mode 100644 index 000000000..f9bb01465 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A2.js @@ -0,0 +1,289 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StringNumericLiteral ::: StrWhiteSpace is 0 + * + * @path ch09/9.3/9.3.1/S9.3.1_A2.js + * @description Strings with various WhiteSpaces convert to Number by explicit transformation + */ + +// CHECK#1 +if (Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") !== 0) { + $ERROR('#1.1: Number("\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") === 0. Actual: ' + (Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000"))); +} else { + if (1/Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") !== Number.POSITIVE_INFINITY) { + $ERROR('#1.2: Number("\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") === +0. Actual: -0'); + } +} + +// CHECK#2 +if (Number(" ") !== 0) { + $ERROR('#2.1: Number(" ") === 0. Actual: ' + (Number(" "))); +} else { + if (1/Number(" ") !== Number.POSITIVE_INFINITY) { + $ERROR('#2.2: Number(" ") === +0. Actual: -0'); + } +} + +// CHECK#3 +if (Number("\t") !== 0) { + $ERROR('#3.1: Number("\\t") === 0. Actual: ' + (Number("\t"))); +} else { + if (1/Number("\t") !== Number.POSITIVE_INFINITY) { + $ERROR('#3.2: Number("\\t") === +0. Actual: -0'); + } +} + +// CHECK#4 +if (Number("\r") !== 0) { + $ERROR('#4.1: Number("\\r") === 0. Actual: ' + (Number("\r"))); +} else { + if (1/Number("\r") !== Number.POSITIVE_INFINITY) { + $ERROR('#4.2: Number("\\r") === +0. Actual: -0'); + } +} + +// CHECK#5 +if (Number("\n") !== 0) { + $ERROR('#5.1: Number("\\n") === 0. Actual: ' + (Number("\n"))); +} else { + if (1/Number("\n") !== Number.POSITIVE_INFINITY) { + $ERROR('#5.2: Number("\\n") === +0. Actual: -0'); + } +} + +// CHECK#6 +if (Number("\f") !== 0) { + $ERROR('#6.1: Number("\\f") === 0. Actual: ' + (Number("\f"))); +} else { + if (1/Number("\f") !== Number.POSITIVE_INFINITY) { + $ERROR('#6.2: Number("\\f") === +0. Actual: -0'); + } +} + +// CHECK#7 +if (Number("\u0009") !== 0) { + $ERROR('#7.1: Number("\\u0009") === 0. Actual: ' + (Number("\u0009"))); +} else { + if (1/Number("\u0009") !== Number.POSITIVE_INFINITY) { + $ERROR('#7.2: Number("\\u0009") === +0. Actual: -0'); + } +} + +// CHECK#8 +if (Number("\u000A") !== 0) { + $ERROR('#8.1: Number("\\u000A") === 0. Actual: ' + (Number("\u000A"))); +} else { + if (1/Number("\u000A") !== Number.POSITIVE_INFINITY) { + $ERROR('#8.2: Number("\\u000A") === +0. Actual: -0'); + } +} + +// CHECK#9 +if (Number("\u000B") !== 0) { + $ERROR('#9.1: Number("\\u000B") === 0. Actual: ' + (Number("\u000B"))); +} else { + if (1/Number("\u000B") !== Number.POSITIVE_INFINITY) { + $ERROR('#9.1.2: Number("\\u000B") === +0. Actual: -0'); + } +} + +// CHECK#10 +if (Number("\u000C") !== 0) { + $ERROR('#10.1: Number("\\u000C") === 0. Actual: ' + (Number("\u000C"))); +} else { + if (1/Number("\u000C") !== Number.POSITIVE_INFINITY) { + $ERROR('#10.2: Number("\\u000C") === +0. Actual: -0'); + } +} + +// CHECK#11 +if (Number("\u000D") !== 0) { + $ERROR('#11.1: Number("\\u000D") === 0. Actual: ' + (Number("\u000D"))); +} else { + if (1/Number("\u000D") !== Number.POSITIVE_INFINITY) { + $ERROR('#11.2: Number("\\u000D") === +0. Actual: -0'); + } +} + +// CHECK#12 +if (Number("\u00A0") !== 0) { + $ERROR('#12.1: Number("\\u00A0") === 0. Actual: ' + (Number("\u00A0"))); +} else { + if (1/Number("\u00A0") !== Number.POSITIVE_INFINITY) { + $ERROR('#12.2: Number("\\u00A0") === +0. Actual: -0'); + } +} + +// CHECK#13 +if (Number("\u0020") !== 0) { + $ERROR('#13.1: Number("\\u0020") === 0. Actual: ' + (Number("\u0020"))); +} else { + if (1/Number("\u0020") !== Number.POSITIVE_INFINITY) { + $ERROR('#13.2: Number("\\u0020") === +0. Actual: -0'); + } +} + +// CHECK#14 +if (Number("\u2028") !== 0) { + $ERROR('#14.1: Number("\\u2028") === 0. Actual: ' + (Number("\u2028"))); +} else { + if (1/Number("\u2028") !== Number.POSITIVE_INFINITY) { + $ERROR('#14.2: Number("\\u2028") === +0. Actual: -0'); + } +} + +// CHECK#15 +if (Number("\u2029") !== 0) { + $ERROR('#15.1: Number("\\u2029") === 0. Actual: ' + (Number("\u2029"))); +} else { + if (1/Number("\u2029") !== Number.POSITIVE_INFINITY) { + $ERROR('#15.2: Number("\\u2029") === +0. Actual: -0'); + } +} + +// CHECK#16 +if (Number("\u1680") !== 0) { + $ERROR('#16.1: Number("\\u1680") === 0. Actual: ' + (Number("\u1680"))); +} else { + if (1/Number("\u1680") !== Number.POSITIVE_INFINITY) { + $ERROR('#16.2: Number("\\u1680") === +0. Actual: -0'); + } +} + +// CHECK#17 +if (Number("\u180E") !== 0) { + $ERROR('#17.1: Number("\\u180E") === 0. Actual: ' + (Number("\u180E"))); +} else { + if (1/Number("\u180E") !== Number.POSITIVE_INFINITY) { + $ERROR('#17.2: Number("\\u180E") === +0. Actual: -0'); + } +} + +// CHECK#18 +if (Number("\u2000") !== 0) { + $ERROR('#18.1: Number("\\u2000") === 0. Actual: ' + (Number("\u2000"))); +} else { + if (1/Number("\u2000") !== Number.POSITIVE_INFINITY) { + $ERROR('#18.2: Number("\\u2000") === +0. Actual: -0'); + } +} + +// CHECK#19 +if (Number("\u2001") !== 0) { + $ERROR('#19.1: Number("\\u2001") === 0. Actual: ' + (Number("\u2001"))); +} else { + if (1/Number("\u2001") !== Number.POSITIVE_INFINITY) { + $ERROR('#19.2: Number("\\u2001") === +0. Actual: -0'); + } +} + +// CHECK#20 +if (Number("\u2002") !== 0) { + $ERROR('#20.1: Number("\\u2002") === 0. Actual: ' + (Number("\u2002"))); +} else { + if (1/Number("\u2002") !== Number.POSITIVE_INFINITY) { + $ERROR('#20.2: Number("\\u2002") === +0. Actual: -0'); + } +} + +// CHECK#21 +if (Number("\u2003") !== 0) { + $ERROR('#21.1: Number("\\u2003") === 0. Actual: ' + (Number("\u2003"))); +} else { + if (1/Number("\u2003") !== Number.POSITIVE_INFINITY) { + $ERROR('#21.2: Number("\\u2003") === +0. Actual: -0'); + } +} + +// CHECK#22 +if (Number("\u2004") !== 0) { + $ERROR('#22.1: Number("\\u2004") === 0. Actual: ' + (Number("\u2004"))); +} else { + if (1/Number("\u2004") !== Number.POSITIVE_INFINITY) { + $ERROR('#22.2: Number("\\u2004") === +0. Actual: -0'); + } +} + +// CHECK#23 +if (Number("\u2005") !== 0) { + $ERROR('#23.1: Number("\\u2005") === 0. Actual: ' + (Number("\u2005"))); +} else { + if (1/Number("\u2005") !== Number.POSITIVE_INFINITY) { + $ERROR('#23.2: Number("\\u2005") === +0. Actual: -0'); + } +} + +// CHECK#24 +if (Number("\u2006") !== 0) { + $ERROR('#24.1: Number("\\u2006") === 0. Actual: ' + (Number("\u2006"))); +} else { + if (1/Number("\u2006") !== Number.POSITIVE_INFINITY) { + $ERROR('#24.2: Number("\\u2006") === +0. Actual: -0'); + } +} + +// CHECK#25 +if (Number("\u2007") !== 0) { + $ERROR('#25.1: Number("\\u2007") === 0. Actual: ' + (Number("\u2007"))); +} else { + if (1/Number("\u2007") !== Number.POSITIVE_INFINITY) { + $ERROR('#25.2: Number("\\u2007") === +0. Actual: -0'); + } +} + +// CHECK#26 +if (Number("\u2008") !== 0) { + $ERROR('#26.1: Number("\\u2008") === 0. Actual: ' + (Number("\u2008"))); +} else { + if (1/Number("\u2008") !== Number.POSITIVE_INFINITY) { + $ERROR('#26.2: Number("\\u2008") === +0. Actual: -0'); + } +} + +// CHECK#27 +if (Number("\u2009") !== 0) { + $ERROR('#27.1: Number("\\u2009") === 0. Actual: ' + (Number("\u2009"))); +} else { + if (1/Number("\u2009") !== Number.POSITIVE_INFINITY) { + $ERROR('#27.2: Number("\\u2009") === +0. Actual: -0'); + } +} + +// CHECK#28 +if (Number("\u200A") !== 0) { + $ERROR('#28.1: Number("\\u200A") === 0. Actual: ' + (Number("\u200A"))); +} else { + if (1/Number("\u200A") !== Number.POSITIVE_INFINITY) { + $ERROR('#28.2: Number("\\u200A") === +0. Actual: -0'); + } +} + +// CHECK#29 +if (Number("\u202F") !== 0) { + $ERROR('#29.1: Number("\\u202F") === 0. Actual: ' + (Number("\u202F"))); +} else { + if (1/Number("\u202F") !== Number.POSITIVE_INFINITY) { + $ERROR('#29.2: Number("\\u202F") === +0. Actual: -0'); + } +} + +// CHECK#30 +if (Number("\u205F") !== 0) { + $ERROR('#30.1: Number("\\u205F") === 0. Actual: ' + (Number("\u205F"))); +} else { + if (1/Number("\u205F") !== Number.POSITIVE_INFINITY) { + $ERROR('#30.2: Number("\\u205F") === +0. Actual: -0'); + } +} + +// CHECK#31 +if (Number("\u3000") !== 0) { + $ERROR('#31.1: Number("\\u3000") === 0. Actual: ' + (Number("\u3000"))); +} else { + if (1/Number("\u3000") !== Number.POSITIVE_INFINITY) { + $ERROR('#31.2: Number("\\u3000") === +0. Actual: -0'); + } +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A20.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A20.js new file mode 100644 index 000000000..78689d42d --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A20.js @@ -0,0 +1,25 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of DecimalDigit ::: 4 or of HexDigit ::: 4 is 4 + * + * @path ch09/9.3/9.3.1/S9.3.1_A20.js + * @description Compare Number('0x4') and Number('0X4') with 4 + */ + +// CHECK#1 +if (Number("4") !== 4) { + $ERROR('#1: Number("4") === 4. Actual: ' + (Number("4"))); +} + +// CHECK#2 +if (Number("0x4") !== 4) { + $ERROR('#2: Number("0x4") === 4. Actual: ' + (Number("0x4"))); +} + +// CHECK#3 +if (+("0X4") !== 4) { + $ERROR('#3: +("0X4") === 4. Actual: ' + (+("0X4"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A21.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A21.js new file mode 100644 index 000000000..de8fe9fe1 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A21.js @@ -0,0 +1,25 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of DecimalDigit ::: 5 or of HexDigit ::: 5 is 5 + * + * @path ch09/9.3/9.3.1/S9.3.1_A21.js + * @description Compare Number('0x5') and Number('0X5') with 5 + */ + +// CHECK#1 +if (+("5") !== 5) { + $ERROR('#1: +("5") === 5. Actual: ' + (+("5"))); +} + +// CHECK#2 +if (Number("0x5") !== 5) { + $ERROR('#2: Number("0x5") === 5. Actual: ' + (Number("0x5"))); +} + +// CHECK#3 +if (Number("0X5") !== 5) { + $ERROR('#3: Number("0X5") === 5. Actual: ' + (Number("0X5"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A22.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A22.js new file mode 100644 index 000000000..02aa703a3 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A22.js @@ -0,0 +1,25 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of DecimalDigit ::: 6 or of HexDigit ::: 6 is 6 + * + * @path ch09/9.3/9.3.1/S9.3.1_A22.js + * @description Compare Number('0x6') and Number('0X6') with 6 + */ + +// CHECK#1 +if (Number("6") !== 6) { + $ERROR('#1: Number("6") === 6. Actual: ' + (Number("6"))); +} + +// CHECK#2 +if (+("0x6") !== 6) { + $ERROR('#2: +("0x6") === 6. Actual: ' + (+("0x6"))); +} + +// CHECK#3 +if (Number("0X6") !== 6) { + $ERROR('#3: Number("0X6") === 6. Actual: ' + (Number("0X6"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A23.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A23.js new file mode 100644 index 000000000..d1745156d --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A23.js @@ -0,0 +1,25 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of DecimalDigit ::: 7 or of HexDigit ::: 7 is 7 + * + * @path ch09/9.3/9.3.1/S9.3.1_A23.js + * @description Compare Number('0x7') and Number('0X7') with 7 + */ + +// CHECK#1 +if (Number("7") !== 7) { + $ERROR('#1: Number("7") === 7. Actual: ' + (Number("7"))); +} + +// CHECK#2 +if (Number("0x7") !== 7) { + $ERROR('#2: Number("0x7") === 7. Actual: ' + (Number("0x7"))); +} + +// CHECK#3 +if (+("0X7") !== 7) { + $ERROR('#3: +("0X7") === 7. Actual: ' + (+("0X7"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A24.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A24.js new file mode 100644 index 000000000..91409bead --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A24.js @@ -0,0 +1,25 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of DecimalDigit ::: 8 or of HexDigit ::: 8 is 8 + * + * @path ch09/9.3/9.3.1/S9.3.1_A24.js + * @description Compare Number('0x8') and Number('0X8') with 8 + */ + +// CHECK#1 +if (+("8") !== 8) { + $ERROR('#1: +("8") === 8. Actual: ' + (+("8"))); +} + +// CHECK#2 +if (Number("0x8") !== 8) { + $ERROR('#2: Number("0x8") === 8. Actual: ' + (Number("0x8"))); +} + +// CHECK#3 +if (Number("0X8") !== 8) { + $ERROR('#3: Number("0X8") === 8. Actual: ' + (Number("0X8"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A25.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A25.js new file mode 100644 index 000000000..761ceb443 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A25.js @@ -0,0 +1,25 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of DecimalDigit ::: 9 or of HexDigit ::: 9 is 9 + * + * @path ch09/9.3/9.3.1/S9.3.1_A25.js + * @description Compare Number('0x9') and Number('0X9') with 9 + */ + +// CHECK#1 +if (Number("9") !== 9) { + $ERROR('#1: Number("9") === 9. Actual: ' + (Number("9"))); +} + +// CHECK#2 +if (+("0x9") !== 9) { + $ERROR('#2: +("0x9") === 9. Actual: ' + (+("0x9"))); +} + +// CHECK#3 +if (Number("0X9") !== 9) { + $ERROR('#3: Number("0X9") === 9. Actual: ' + (Number("0X9"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A26.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A26.js new file mode 100644 index 000000000..404203f59 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A26.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of HexDigit ::: a or of HexDigit ::: A is 10 + * + * @path ch09/9.3/9.3.1/S9.3.1_A26.js + * @description Compare Number('0xA'), Number('0XA'), Number('0xa') and Number('0Xa') with 10 + */ + +// CHECK#1 +if (Number("0xa") !== 10) { + $ERROR('#1: Number("0xa") === 10. Actual: ' + (Number("0xa"))); +} + +// CHECK#2 +if (Number("0xA") !== 10) { + $ERROR('#2: Number("0xA") === 10. Actual: ' + (Number("0xA"))); +} + +// CHECK#3 +if (Number("0Xa") !== 10) { + $ERROR('#3: Number("0Xa") === 10. Actual: ' + (Number("0Xa"))); +} + +// CHECK#4 +if (+("0XA") !== 10) { + $ERROR('#4: +("0XA") === 10. Actual: ' + (+("0XA"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A27.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A27.js new file mode 100644 index 000000000..67e6a6e5f --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A27.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of HexDigit ::: b or of HexDigit ::: B is 11 + * + * @path ch09/9.3/9.3.1/S9.3.1_A27.js + * @description Compare Number('0xB'), Number('0XB'), Number('0xb') and Number('0Xb') with 11 + */ + +// CHECK#1 +if (Number("0xb") !== 11) { + $ERROR('#1: Number("0xb") === 11. Actual: ' + (Number("0xb"))); +} + +// CHECK#2 +if (Number("0xB") !== 11) { + $ERROR('#2: Number("0xB") === 11. Actual: ' + (Number("0xB"))); +} + +// CHECK#3 +if (+("0Xb") !== 11) { + $ERROR('#3: +("0Xb") === 11. Actual: ' + (+("0Xb"))); +} + +// CHECK#4 +if (Number("0XB") !== 11) { + $ERROR('#4: Number("0XB") === 11. Actual: ' + (Number("0XB"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A28.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A28.js new file mode 100644 index 000000000..d29b8c289 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A28.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of HexDigit ::: c or of HexDigit ::: C is 12 + * + * @path ch09/9.3/9.3.1/S9.3.1_A28.js + * @description Compare Number('0xC'), Number('0XC'), Number('0xc') and Number('0Xc') with 12 + */ + +// CHECK#1 +if (Number("0xc") !== 12) { + $ERROR('#1: Number("0xc") === 12. Actual: ' + (Number("0xc"))); +} + +// CHECK#2 +if (+("0xC") !== 12) { + $ERROR('#2: +("0xC") === 12. Actual: ' + (+("0xC"))); +} + +// CHECK#3 +if (Number("0Xc") !== 12) { + $ERROR('#3: Number("0Xc") === 12. Actual: ' + (Number("0Xc"))); +} + +// CHECK#4 +if (Number("0XC") !== 12) { + $ERROR('#4: Number("0XC") === 12. Actual: ' + (Number("0XC"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A29.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A29.js new file mode 100644 index 000000000..88473af85 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A29.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of HexDigit ::: d or of HexDigit ::: D is 13 + * + * @path ch09/9.3/9.3.1/S9.3.1_A29.js + * @description Compare Number('0xD'), Number('0XD'), Number('0xd') and Number('0Xd') with 13 + */ + +// CHECK#1 +if (+("0xd") !== 13) { + $ERROR('#1: +("0xd") === 13. Actual: ' + (+("0xd"))); +} + +// CHECK#2 +if (Number("0xD") !== 13) { + $ERROR('#2: Number("0xD") === 13. Actual: ' + (Number("0xD"))); +} + +// CHECK#3 +if (Number("0Xd") !== 13) { + $ERROR('#3: Number("0Xd") === 13. Actual: ' + (Number("0Xd"))); +} + +// CHECK#4 +if (Number("0XD") !== 13) { + $ERROR('#4: Number("0XD") === 13. Actual: ' + (Number("0XD"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A30.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A30.js new file mode 100644 index 000000000..b94bacbd7 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A30.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of HexDigit ::: e or of HexDigit ::: E is 14 + * + * @path ch09/9.3/9.3.1/S9.3.1_A30.js + * @description Compare Number('0xE'), Number('0XE'), Number('0xe') and Number('0Xe') with 14 + */ + +// CHECK#1 +if (Number("0xe") !== 14) { + $ERROR('#1: Number("0xe") === 14. Actual: ' + (Number("0xe"))); +} + +// CHECK#2 +if (Number("0xE") !== 14) { + $ERROR('#2: Number("0xE") === 14. Actual: ' + (Number("0xE"))); +} + +// CHECK#3 +if (Number("0Xe") !== 14) { + $ERROR('#3: Number("0Xe") === 14. Actual: ' + (Number("0Xe"))); +} + +// CHECK#4 +if (+("0XE") !== 14) { + $ERROR('#4: +("0XE") === 14. Actual: ' + (+("0XE"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A31.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A31.js new file mode 100644 index 000000000..f5f151b76 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A31.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of HexDigit ::: f or of HexDigit ::: F is 15 + * + * @path ch09/9.3/9.3.1/S9.3.1_A31.js + * @description Compare Number('0xF'), Number('0XF'), Number('0xf') and Number('0Xf') with 15 + */ + +// CHECK#1 +if (Number("0xf") !== 15) { + $ERROR('#1: Number("0xf") === 15. Actual: ' + (Number("0xf"))); +} + +// CHECK#2 +if (Number("0xF") !== 15) { + $ERROR('#2: Number("0xF") === 15. Actual: ' + (Number("0xF"))); +} + +// CHECK#3 +if (+("0Xf") !== 15) { + $ERROR('#3: +("0Xf") === 15. Actual: ' + (+("0Xf"))); +} + +// CHECK#4 +if (Number("0XF") !== 15) { + $ERROR('#4: Number("0XF") === 15. Actual: ' + (Number("0XF"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A32.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A32.js new file mode 100644 index 000000000..700feb717 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A32.js @@ -0,0 +1,38 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Once the exact MV for a string numeric literal has been + * determined, it is then rounded to a value of the Number type with 20 + * significant digits by replacing each significant digit after the 20th + * with a 0 digit or the number value + * + * @path ch09/9.3/9.3.1/S9.3.1_A32.js + * @description Use various long numbers, for example, 1234567890.1234567890 + */ + +// CHECK#1 +if (Number("1234567890.1234567890") !== 1234567890.1234567890) { + $ERROR('#1: Number("1234567890.1234567890") === 1234567890.1234567890. Actual: ' + (Number("1234567890.1234567890"))); +} + +// CHECK#2 +if (Number("1234567890.1234567890") !== 1234567890.1234567000) { + $ERROR('#2: Number("1234567890.1234567890") === 1234567890.1234567000. Actual: ' + (Number("1234567890.1234567890"))); +} + +// CHECK#3 +if (+("1234567890.1234567890") === 1234567890.123456) { + $ERROR('#3: +("1234567890.1234567890") !== 1234567890.123456'); +} + +// CHECK#4 +if (Number("0.12345678901234567890") !== 0.123456789012345678) { + $ERROR('#4: Number("0.12345678901234567890") === 0.123456789012345678. Actual: ' + (Number("0.12345678901234567890"))); +} + +// CHECK#4 +if (Number("00.12345678901234567890") !== 0.123456789012345678) { + $ERROR('#4: Number("00.12345678901234567890") === 0.123456789012345678. Actual: ' + (Number("00.12345678901234567890"))); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A3_T1.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A3_T1.js new file mode 100644 index 000000000..304f5ba4e --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A3_T1.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StringNumericLiteral ::: StrWhiteSpaceopt StrNumericLiteral StrWhiteSpaceopt is the MV of StrNumericLiteral, no matter whether white space is present or not + * + * @path ch09/9.3/9.3.1/S9.3.1_A3_T1.js + * @description static string + */ + +// CHECK#1 +if (Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") !== Number("")) { + $ERROR('#1: Number("\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") === Number("")'); +} + +// CHECK#2 +if (Number("\u0009\u000C\u0020\u00A0\u000A\u000D\u2028\u2029\u000B\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u30001234567890\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") !== Number("1234567890")) { + $ERROR('#2: Number("\\u0009\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029\\u000B\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u30001234567890\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") === Number("1234567890")'); +} + +// CHECK#3 +if (!(+("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000Infinity\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") == Number("Infinity"))) { + $ERROR('#3: +("\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000Infinity\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") == Number("Infinity")'); +} + +// CHECK#4 +if (!(Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000-Infinity\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") == Number(-"Infinity"))) { + $ERROR('#4: Number("\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000-Infinity\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") == Number("-Infinity")'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A3_T2.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A3_T2.js new file mode 100644 index 000000000..0969dd9bb --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A3_T2.js @@ -0,0 +1,34 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StringNumericLiteral ::: StrWhiteSpaceopt StrNumericLiteral StrWhiteSpaceopt is the MV of StrNumericLiteral, no matter whether white space is present or not + * + * @path ch09/9.3/9.3.1/S9.3.1_A3_T2.js + * @description dynamic string + */ + +function dynaString(s1, s2){ + return String(s1)+String(s2); +} + +// CHECK#1 +if (Number(dynaString("\u0009\u000C\u0020\u00A0\u000B", "\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000")) !== Number("")) { + $ERROR('#1: Number("\\u0009\\u000C\\u0020\\u00A0\\u000B"+"\\u000A\\u000D\\u2028\\u2029\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") === Number("")'); +} + +// CHECK#2 +if (+(dynaString("\u0009\u000C\u0020\u00A0\u000A\u000D\u2028\u2029\u000B12345", "67890\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000")) !== Number("1234567890")) { + $ERROR('#2: +("\\u0009\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029\\u000B12345"+"67890\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") === Number("1234567890")'); +} + +// CHECK#3 +if (!(Number(dynaString("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029Infi", "nity\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000")) == Number("Infinity"))) { + $ERROR('#3: Number("\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029Infi"+"nity\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") == Number("Infinity")'); +} + +// CHECK#4 +if (!(Number(dynaString("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029-Infi", "nity\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000")) == Number(-"Infinity"))) { + $ERROR('#4: Number("\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029-Infi"+"nity\\u0009\\u000C\\u0020\\u00A0\\u000B\\u000A\\u000D\\u2028\\u2029\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000") == Number("-Infinity")'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A4_T1.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A4_T1.js new file mode 100644 index 000000000..8d2051140 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A4_T1.js @@ -0,0 +1,50 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StrDecimalLiteral::: + StrUnsignedDecimalLiteral is the MV of StrUnsignedDecimalLiteral + * + * @path ch09/9.3/9.3.1/S9.3.1_A4_T1.js + * @description Compare Number('+any_number') with Number('any_number') + */ + +// CHECK#1 +if (Number("+0") !== Number("0")) { + $ERROR('#1.1: Number("+0") === Number("0")'); +} else { + // CHECK#2 + if (1/Number("+0") !== 1/Number("0")) { + $ERROR('#2.2: 1/Number("+0") === 1/Number("0")'); + } +} + +// CHECK#3 +if (Number("+Infinity") !== Number("Infinity")) { + $ERROR('#3: Number("+Infinity") === Number("Infinity")'); +} + +// CHECK#4 +if (Number("+1234.5678") !== Number("1234.5678")) { + $ERROR('#4: Number("+1234.5678") === Number("1234.5678")'); +} + +// CHECK#5 +if (Number("+1234.5678e90") !== Number("1234.5678e90")) { + $ERROR('#5: Number("+1234.5678e90") === Number("1234.5678e90")'); +} + +// CHECK#6 +if (Number("+1234.5678E90") !== Number("1234.5678E90")) { + $ERROR('#6: Number("+1234.5678E90") === Number("1234.5678E90")'); +} + +// CHECK#7 +if (Number("+1234.5678e-90") !== Number("1234.5678e-90")) { + $ERROR('#7: Number("+1234.5678e-90") === Number("1234.5678e-90")'); +} + +// CHECK#8 +if (Number("+1234.5678E-90") !== Number("1234.5678E-90")) { + $ERROR('#8: Number("+1234.5678E-90") === Number("1234.5678E-90")'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A4_T2.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A4_T2.js new file mode 100644 index 000000000..e10d517ce --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A4_T2.js @@ -0,0 +1,54 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StrDecimalLiteral::: + StrUnsignedDecimalLiteral is the MV of StrUnsignedDecimalLiteral + * + * @path ch09/9.3/9.3.1/S9.3.1_A4_T2.js + * @description Compare Number('+' + 'any_number') with Number('any_number') + */ + +function dynaString(s1, s2){ + return String(s1)+String(s2); +} + +// CHECK#1 +if (Number(dynaString("+", "0")) !== Number("0")) { + $ERROR('#1: Number("+"+"0") === Number("0")'); +} else { + // CHECK#2 + if (1/Number(dynaString("+", "0")) !== 1/Number("0")) { + $ERROR('#2: 1/Number("+"+"0") === 1/Number("0")'); + } +} + +// CHECK#3 +if (Number(dynaString("+Infi", "nity")) !== Number("Infinity")) { + $ERROR('#3: Number("+Infin"+"ity") === Number("Infinity")'); +} + +// CHECK#4 +if (Number(dynaString("+1234.", "5678")) !== Number("1234.5678")) { + $ERROR('#4: Number("+1234."+"5678") === Number("1234.5678")'); +} + +// CHECK#5 +if (Number(dynaString("+1234.", "5678e90")) !== Number("1234.5678e90")) { + $ERROR('#5: Number("+1234."+"5678e90") === Number("1234.5678e90")'); +} + +// CHECK#6 +if (Number(dynaString("+1234.", "5678E90")) !== Number("1234.5678E90")) { + $ERROR('#6: Number("+1234."+"5678E90") === Number("1234.5678E90")'); +} + +// CHECK#7 +if (Number(dynaString("+1234.", "5678e-90")) !== Number("1234.5678e-90")) { + $ERROR('#7: Number("+1234."+"5678e-90") === Number("1234.5678e-90")'); +} + +// CHECK#8 +if (Number(dynaString("+1234.", "5678E-90")) !== Number("1234.5678E-90")) { + $ERROR('#8: Number("+1234."+"5678E-90") === Number("1234.5678E-90")'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A5_T1.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A5_T1.js new file mode 100644 index 000000000..b6bb8137d --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A5_T1.js @@ -0,0 +1,61 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StrDecimalLiteral::: - StrUnsignedDecimalLiteral is the negative + * of the MV of StrUnsignedDecimalLiteral. (the negative of this 0 is also 0) + * + * @path ch09/9.3/9.3.1/S9.3.1_A5_T1.js + * @description Compare Number('-any_number') with -Number('any_number') + */ + +// CHECK#1 +if (Number("-0") !== -Number("0")) { + $ERROR('#1: Number("-0") === -Number("0")'); +} else { + // CHECK#2 + if (1/Number("-0") !== -1/Number("0")) { + $ERROR('#2: 1/Number("-0") === -1/Number("0")'); + } +} + +// CHECK#3 +if (Number("-Infinity") !== -Number("Infinity")) { + $ERROR('#3: Number("-Infinity") === -Number("Infinity")'); +} + +// CHECK#4 +if (Number("-1234567890") !== -Number("1234567890")) { + $ERROR('#4: Number("-1234567890") === -Number("1234567890")'); +} + +// CHECK#5 +if (Number("-1234.5678") !== -Number("1234.5678")) { + $ERROR('#5: Number("-1234.5678") === -Number("1234.5678")'); +} + +// CHECK#6 +if (Number("-1234.5678e90") !== -Number("1234.5678e90")) { + $ERROR('#6: Number("-1234.5678e90") === -Number("1234.5678e90")'); +} + +// CHECK#7 +if (Number("-1234.5678E90") !== -Number("1234.5678E90")) { + $ERROR('#6: Number("-1234.5678E90") === -Number("1234.5678E90")'); +} + +// CHECK#8 +if (Number("-1234.5678e-90") !== -Number("1234.5678e-90")) { + $ERROR('#6: Number("-1234.5678e-90") === -Number("1234.5678e-90")'); +} + +// CHECK#9 +if (Number("-1234.5678E-90") !== -Number("1234.5678E-90")) { + $ERROR('#6: Number("-1234.5678E-90") === -Number("1234.5678E-90")'); +} + +// CHECK#10 +if (Number("-Infinity") !== Number.NEGATIVE_INFINITY) { + $ERROR('#3: Number("-Infinity") === Number.NEGATIVE_INFINITY'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A5_T2.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A5_T2.js new file mode 100644 index 000000000..47bc6549e --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A5_T2.js @@ -0,0 +1,146 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StrDecimalLiteral::: - StrUnsignedDecimalLiteral is the negative + * of the MV of StrUnsignedDecimalLiteral. (the negative of this 0 is also 0) + * + * @path ch09/9.3/9.3.1/S9.3.1_A5_T2.js + * @description Compare Number('-[or +]any_number') with -[or without -]any_number) + */ + +// CHECK#1 +if (Number("1") !== 1) { + $ERROR('#1: Number("1") === 1'); +} + +// CHECK#2 +if (Number("+1") !== 1) { + $ERROR('#3: Number("+1") === 1'); +} + +// CHECK#3 +if (Number("-1") !== -1) { + $ERROR('#3: Number("-1") === -1'); +} + +// CHECK#4 +if (Number("2") !== 2) { + $ERROR('#4: Number("2") === 2'); +} + +// CHECK#5 +if (Number("+2") !== 2) { + $ERROR('#5: Number("+2") === 2'); +} + +// CHECK#6 +if (Number("-2") !== -2) { + $ERROR('#6: Number("-2") === -2'); +} + +// CHECK#7 +if (Number("3") !== 3) { + $ERROR('#7: Number("3") === 3'); +} + +// CHECK#8 +if (Number("+3") !== 3) { + $ERROR('#8: Number("+3") === 3'); +} + +// CHECK#9 +if (Number("-3") !== -3) { + $ERROR('#9: Number("-3") === -3'); +} + +// CHECK#10 +if (Number("4") !== 4) { + $ERROR('#10: Number("4") === 4'); +} + +// CHECK#11 +if (Number("+4") !== 4) { + $ERROR('#11: Number("+4") === 4'); +} + +// CHECK#12 +if (Number("-4") !== -4) { + $ERROR('#12: Number("-4") === -4'); +} + +// CHECK#13 +if (Number("5") !== 5) { + $ERROR('#13: Number("5") === 5'); +} + +// CHECK#14 +if (Number("+5") !== 5) { + $ERROR('#14: Number("+5") === 5'); +} + +// CHECK#15 +if (Number("-5") !== -5) { + $ERROR('#15: Number("-5") === -5'); +} + +// CHECK#16 +if (Number("6") !== 6) { + $ERROR('#16: Number("6") === 6'); +} + +// CHECK#17 +if (Number("+6") !== 6) { + $ERROR('#17: Number("+6") === 6'); +} + +// CHECK#18 +if (Number("-6") !== -6) { + $ERROR('#18: Number("-6") === -6'); +} + +// CHECK#19 +if (Number("7") !== 7) { + $ERROR('#19: Number("7") === 7'); +} + +// CHECK#20 +if (Number("+7") !== 7) { + $ERROR('#20: Number("+7") === 7'); +} + +// CHECK#21 +if (Number("-7") !== -7) { + $ERROR('#21: Number("-7") === -7'); +} + +// CHECK#22 +if (Number("8") !== 8) { + $ERROR('#22: Number("8") === 8'); +} + +// CHECK#23 +if (Number("+8") !== 8) { + $ERROR('#23: Number("+8") === 8'); +} + +// CHECK#24 +if (Number("-8") !== -8) { + $ERROR('#24: Number("-8") === -8'); +} + +// CHECK#25 +if (Number("9") !== 9) { + $ERROR('#25: Number("9") === 9'); +} + +// CHECK#26 +if (Number("+9") !== 9) { + $ERROR('#26: Number("+9") === 9'); +} + +// CHECK#27 +if (Number("-9") !== -9) { + $ERROR('#27: Number("-9") === -9'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A5_T3.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A5_T3.js new file mode 100644 index 000000000..c062e198f --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A5_T3.js @@ -0,0 +1,65 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StrDecimalLiteral::: - StrUnsignedDecimalLiteral is the negative + * of the MV of StrUnsignedDecimalLiteral. (the negative of this 0 is also 0) + * + * @path ch09/9.3/9.3.1/S9.3.1_A5_T3.js + * @description Compare Number('-' + 'any_number') with -Number('any_number') + */ + +function dynaString(s1, s2){ + return String(s1)+String(s2); +} + +// CHECK#1 +if (Number(dynaString("-", "0")) !== -Number("0")) { + $ERROR('#1: Number("-"+"0") === -Number("0")'); +} else { + // CHECK#2 + if (1/Number(dynaString("-", "0")) !== -1/Number("0")) { + $ERROR('#2: 1/Number("-"+"0") === -1/Number("0")'); + } +} + +// CHECK#3 +if (Number(dynaString("-Infi", "nity")) !== -Number("Infinity")) { + $ERROR('#3: Number("-Infi"+"nity") === -Number("Infinity")'); +} + +// CHECK#4 +if (Number(dynaString("-12345", "67890")) !== -Number("1234567890")) { + $ERROR('#4: Number("-12345"+"67890") === -Number("1234567890")'); +} + +// CHECK#5 +if (Number(dynaString("-1234.", "5678")) !== -Number("1234.5678")) { + $ERROR('#5: Number("-1234."+"5678") === -Number("1234.5678")'); +} + +// CHECK#6 +if (Number(dynaString("-1234.", "5678e90")) !== -Number("1234.5678e90")) { + $ERROR('#6: Number("-1234."+"5678e90") === -Number("1234.5678e90")'); +} + +// CHECK#7 +if (Number(dynaString("-1234.", "5678E90")) !== -Number("1234.5678E90")) { + $ERROR('#6: Number("-1234."+"5678E90") === -Number("1234.5678E90")'); +} + +// CHECK#8 +if (Number(dynaString("-1234.", "5678e-90")) !== -Number("1234.5678e-90")) { + $ERROR('#6: Number("-1234."+"5678e-90") === -Number("1234.5678e-90")'); +} + +// CHECK#9 +if (Number(dynaString("-1234.", "5678E-90")) !== -Number("1234.5678E-90")) { + $ERROR('#6: Number("-1234."+"5678E-90") === -Number("1234.5678E-90")'); +} + +// CHECK#10 +if (Number(dynaString("-Infi", "nity")) !== Number.NEGATIVE_INFINITY) { + $ERROR('#3: Number("-Infi"+"nity") === Number.NEGATIVE_INFINITY'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A6_T1.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A6_T1.js new file mode 100644 index 000000000..6aeeef242 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A6_T1.js @@ -0,0 +1,31 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StrUnsignedDecimalLiteral::: Infinity is 10<sup><small>10000</small></sup> + * (a value so large that it will round to <b><tt>+∞</tt></b>) + * + * @path ch09/9.3/9.3.1/S9.3.1_A6_T1.js + * @description Compare Number('Infinity') with Number.POSITIVE_INFINITY, 10e10000, 10E10000 and Number("10e10000") + */ + +// CHECK#1 +if (Number("Infinity") !== Number.POSITIVE_INFINITY) { + $ERROR('#1: Number("Infinity") === Number.POSITIVE_INFINITY'); +} + +// CHECK#2 +if (Number("Infinity") !== 10e10000) { + $ERROR('#2: Number("Infinity") === 10e10000'); +} + +// CHECK#3 +if (Number("Infinity") !== 10E10000) { + $ERROR('#3: Number("Infinity") === 10E10000'); +} + +// CHECK#4 +if (Number("Infinity") !== Number("10e10000")) { + $ERROR('#4: Number("Infinity") === Number("10e10000")'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A6_T2.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A6_T2.js new file mode 100644 index 000000000..9e4659873 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A6_T2.js @@ -0,0 +1,36 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StrUnsignedDecimalLiteral::: Infinity is 10<sup><small>10000</small></sup> + * (a value so large that it will round to <b><tt>+∞</tt></b>) + * + * @path ch09/9.3/9.3.1/S9.3.1_A6_T2.js + * @description Compare Number('Infi'+'nity') with Number.POSITIVE_INFINITY, 10e10000, 10E10000 and Number("10e10000") + */ + +function dynaString(s1, s2){ + return String(s1)+String(s2); +} + + +// CHECK#1 +if (Number(dynaString("Infi", "nity")) !== Number.POSITIVE_INFINITY) { + $ERROR('#1: Number("Infi"+"nity") === Number.POSITIVE_INFINITY'); +} + +// CHECK#2 +if (Number(dynaString("Infi", "nity")) !== 10e10000) { + $ERROR('#2: Number("Infi"+"nity") === 10e10000'); +} + +// CHECK#3 +if (Number(dynaString("Infi", "nity")) !== 10E10000) { + $ERROR('#3: Number("Infi"+"nity") === 10E10000'); +} + +// CHECK#4 +if (Number(dynaString("Infi", "nity")) !== Number("10e10000")) { + $ERROR('#4: Number("Infi"+"nity") === Number("10e10000")'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A7.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A7.js new file mode 100644 index 000000000..50a7f357f --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A7.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StrUnsignedDecimalLiteral::: DecimalDigits. DecimalDigits + * is the MV of the first DecimalDigits plus the MV of the second DecimalDigits times + * 10<sup><small>-n</small></sup>, where n is the number of characters in the second DecimalDigits + * + * @path ch09/9.3/9.3.1/S9.3.1_A7.js + * @description Compare Number('1234.5678') with Number('1234')+(+('5678')*1e-4) + */ + +// CHECK#1 +if (Number("1234.5678") !== Number("1234")+(+("5678")*1e-4)) { + $ERROR('#1: Number("1234.5678") === Number("1234")+(+("5678")*1e-4)'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A8.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A8.js new file mode 100644 index 000000000..6b7a5d4a3 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A8.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StrUnsignedDecimalLiteral::: DecimalDigits. ExponentPart + * is the MV of DecimalDigits times 10<sup><small>e</small></sup> , where e is the MV of ExponentPart + * + * @path ch09/9.3/9.3.1/S9.3.1_A8.js + * @description Compare Number('1234e5') and Number('1234.e5') with Number('1234')*1e5 + */ + +// CHECK#1 +if (Number("1234e5") !== Number("1234")*1e5) { + $ERROR('#1: Number("1234e5") === Number("1234")*1e5'); +} + +// CHECK#2 +if (Number("1234.e5") !== +("1234")*1e5) { + $ERROR('#2: Number("1234.e5") === +("1234")*1e5'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A9.js b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A9.js new file mode 100644 index 000000000..1c88a5322 --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/S9.3.1_A9.js @@ -0,0 +1,24 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The MV of StrUnsignedDecimalLiteral::: DecimalDigits. DecimalDigits ExponentPart + * is (the MV of the first DecimalDigits plus (the MV of the second DecimalDigits times + * 10<sup><small>-n</small></sup>)) times 10<sup><small>e</small></sup>, where n is the number + * of characters in the second DecimalDigits and e is the MV of ExponentPart + * + * @path ch09/9.3/9.3.1/S9.3.1_A9.js + * @description Compare Number('1234.5678e9') with (Number('1234')+(Number('5678')*1e-4))*1e9, + * and +('1234.5678e-9') with (Number('1234')+(Number('5678')*1e-4))*1e-9 + */ + +// CHECK#1 +if (Number("1234.5678e9") !== (Number("1234")+(Number("5678")*1e-4))*1e9) { + $ERROR('#1: Number("1234.5678e9") === (Number("1234")+(Number("5678")*1e-4))*1e9'); +} + +// CHECK#2 +if (+("1234.5678e-9") !== (Number("1234")+(Number("5678")*1e-4))*1e-9) { + $ERROR('#2: +("1234.5678e-9") === (Number("1234")+(Number("5678")*1e-4))*1e-9'); +} + diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/browser.js b/js/src/tests/test262/ch09/9.3/9.3.1/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/browser.js diff --git a/js/src/tests/test262/ch09/9.3/9.3.1/shell.js b/js/src/tests/test262/ch09/9.3/9.3.1/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch09/9.3/9.3.1/shell.js |