diff options
Diffstat (limited to 'external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects')
34 files changed, 1111 insertions, 0 deletions
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T1.js new file mode 100644 index 000000000..16246b837 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_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. + +/** + * @name: S15.6.1.1_A1_T1; + * @section: 15.6.1.1; + * @assertion: Returns a boolean value (not a Boolean object) computed by + * ToBoolean(value); + * @description: Used values 1, new String("1"), new Object(1) and called without argument; +*/ + +//CHECK#1 +if( typeof Boolean() !== "boolean" ) { + $ERROR('#1: typeof Boolean() should be "boolean", actual is "'+typeof Boolean()+'"'); +} + +//CHECK#2 +if( typeof Boolean(1) !== "boolean" ) { + $ERROR('#2: typeof Boolean(1) should be "boolean", actual is "'+typeof Boolean(1)+'"'); +} + +//CHECK#3 +if( typeof Boolean(new String("1")) !== "boolean" ) { + $ERROR('#3: typeof Boolean(new String("1")) should be "boolean", actual is "'+typeof Boolean(new String("1"))+'"'); +} + +//CHECK#4 +if( typeof Boolean(new Object(1)) !== "boolean" ) { + $ERROR('#4: typeof Boolean(new Object(1)) should be "boolean", actual is "'+typeof Boolean(new Object(1))+'"'); +} + diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T2.js new file mode 100644 index 000000000..3e4822bc9 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T2.js @@ -0,0 +1,42 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.6.1.1_A1_T2; + * @section: 15.6.1.1; + * @assertion: Returns a boolean value (not a Boolean object) computed by + * ToBoolean(value); + * @description: Used various number values as argument; +*/ + +//CHECK#1 +if( typeof Boolean(0) !== "boolean" ) { + $ERROR('#1.1: typeof Boolean(0) should be "boolean", actual is "'+typeof Boolean(0)+'"'); +} +if( Boolean(0) !== false ) { + $ERROR('#1.2: Boolean(0) should be false, actual is '+Boolean(0)); +} + +//CHECK#2 +if( typeof Boolean(-1) !== "boolean" ) { + $ERROR('#2.1: typeof Boolean(-1) should be "boolean", actual is "'+typeof Boolean(-1)+'"'); +} +if( Boolean(-1) !== true ) { + $ERROR('#2.2: Boolean(-1) should be true, actual is '+Boolean(-1)); +} + +//CHECK#3 +if( typeof Boolean(-Infinity) !== "boolean" ) { + $ERROR('#3.1: typeof Boolean(-Infinity) should be "boolean", actual is "'+typeof Boolean(-Infinity)+'"'); +} +if( Boolean(-Infinity) !== true ) { + $ERROR('#3.2: Boolean(-Infinity) should be true, actual is '+Boolean(-Infinity)); +} + +//CHECK#4 +if( typeof Boolean(NaN) !== "boolean" ) { + $ERROR('#4.1: typeof Boolean(NaN) should be "boolean", actual is "'+typeof Boolean(NaN)+'"'); +} +if( Boolean(NaN) !== false ) { + $ERROR('#4.2: Boolean(NaN) should be false, actual is '+Boolean(NaN)); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T3.js new file mode 100644 index 000000000..d34d60503 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T3.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. + +/** + * @name: S15.6.1.1_A1_T3; + * @section: 15.6.1.1; + * @assertion: Returns a boolean value (not a Boolean object) computed by + * ToBoolean(value); + * @description: Used various string values as argument; +*/ + +//CHECK#1 +if( typeof Boolean("0") !== "boolean" ) { + $ERROR('#1.1: typeof Boolean("0") should be "boolean", actual is "'+typeof Boolean("0")+'"'); +} +if( Boolean("0") !== true ) { + $ERROR('#1.2: Boolean("0") should be true'); +} + +//CHECK#2 +if( typeof Boolean("-1") !== "boolean" ) { + $ERROR('#2.1: typeof Boolean("-1") should be "boolean", actual is "'+typeof Boolean("-1")+'"'); +} +if( Boolean("-1") !== true ) { + $ERROR('#2.2: Boolean("-1") should be true'); +} + +//CHECK#3 +if( typeof Boolean("1") !== "boolean" ) { + $ERROR('#3.1: typeof Boolean("1") should be "boolean", actual is "'+typeof Boolean("1")+'"'); +} +if( Boolean("1") !== true ) { + $ERROR('#3.2: Boolean("1") should be true'); +} + +//CHECK#4 +if( typeof Boolean("false") !== "boolean" ) { + $ERROR('#4.1: typeof Boolean("false") should be "boolean", actual is "'+typeof Boolean("false")+'"'); +} +if( Boolean("false") !== true ) { + $ERROR('#4.2: Boolean("false") should be true'); +} + +//CHECK#5 +if( typeof Boolean("true") !== "boolean" ) { + $ERROR('#5.1: typeof Boolean("true") should be "boolean", actual is "'+typeof Boolean("true")+'"'); +} +if( Boolean("true") !== true ) { + $ERROR('#5.2: Boolean("true") should be true'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T4.js new file mode 100644 index 000000000..468b8f11f --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T4.js @@ -0,0 +1,51 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.6.1.1_A1_T4; + * @section: 15.6.1.1; + * @assertion: Returns a boolean value (not a Boolean object) computed by + * ToBoolean(value); + * @description: Used various undefined values and null as argument; +*/ + +//CHECK#1 +if( typeof Boolean(undefined) !== "boolean" ) { + $ERROR('#1.1: typeof Boolean(undefined) should be "boolean", actual is "'+typeof Boolean(undefined)+'"'); +} +if( Boolean(undefined) !== false ) { + $ERROR('#1.2: Boolean(undefined) should be false'); +} + +//CHECK#2 +if( typeof Boolean(void 0) !== "boolean" ) { + $ERROR('#2.1: typeof Boolean(void 0) should be "boolean", actual is "'+typeof Boolean(void 0)+'"'); +} +if( Boolean(void 0) !== false ) { + $ERROR('#2.2: Boolean(void 0) should be false'); +} + +//CHECK#3 +if( typeof Boolean(function(){}()) !== "boolean" ) { + $ERROR('#3.1: typeof Boolean(function(){}()) should be "boolean", actual is "'+typeof Boolean(function(){}())+'"'); +} +if( Boolean(function(){}()) !== false ) { + $ERROR('#3.2: Boolean(function(){}()) should be false'); +} + +//CHECK#4 +if( typeof Boolean(null) !== "boolean" ) { + $ERROR('#4.1: typeof Boolean(null) should be "boolean", actual is "'+typeof Boolean(null)+'"'); +} +if( Boolean(null) !== false ) { + $ERROR('#4.2: Boolean(null) should be false'); +} + +//CHECK#5 +if( typeof Boolean(x) !== "boolean" ) { + $ERROR('#5.1: var x; typeof Boolean(x) should be "boolean", actual is "'+typeof Boolean(x)+'"'); +} +if( Boolean(x) !== false ) { + $ERROR('#5.2: var x; Boolean(x) should be false'); +} +var x; diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T5.js new file mode 100644 index 000000000..d86561e14 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A1_T5.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. + +/** + * @name: S15.6.1.1_A1_T5; + * @section: 15.6.1.1; + * @assertion: Returns a boolean value (not a Boolean object) computed by + * ToBoolean(value); + * @description: Used various assigning values to any variable as argument; +*/ + +//CHECK#1 +if( typeof Boolean(x=0) !== "boolean" ) { + $ERROR('#1.1: typeof Boolean(x=0) should be "boolean", actual is "'+typeof Boolean(x=0)+'"'); +} +if( Boolean(x=0) !== false ) { + $ERROR('#1.2: Boolean(x=0) should be false'); +} + +//CHECK#2 +if( typeof Boolean(x=1) !== "boolean" ) { + $ERROR('#2.1: typeof Boolean(x=1) should be "boolean", actual is "'+typeof Boolean(x=1)+'"'); +} +if( Boolean(x=1) !== true ) { + $ERROR('#2.2: Boolean(x=1) should be true'); +} + +//CHECK#3 +if( typeof Boolean(x=false) !== "boolean" ) { + $ERROR('#3.1: typeof Boolean(x=false) should be "boolean", actual is "'+typeof Boolean(x=false)+'"'); +} +if( Boolean(x=false) !== false ) { + $ERROR('#3.2: Boolean(x=false) should be false'); +} + +//CHECK#4 +if( typeof Boolean(x=true) !== "boolean" ) { + $ERROR('#4.1: typeof Boolean(x=true) should be "boolean", actual is "'+typeof Boolean(x=true)+'"'); +} +if( Boolean(x=true) !== true ) { + $ERROR('#4.2: Boolean(x=true) should be true'); +} + +//CHECK#5 +if( typeof Boolean(x=null) !== "boolean" ) { + $ERROR('#5.1: typeof Boolean(x=null) should be "boolean", actual is "'+typeof Boolean(x=null)+'"'); +} +if( Boolean(x=null) !== false ) { + $ERROR('#5.2: Boolean(x=null) should be false'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A2.js new file mode 100644 index 000000000..719865783 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.1_The_Boolean_Constructor_Called_as_a_Function/S15.6.1.1_A2.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. + +/** + * @name: S15.6.1.1_A2; + * @section: 15.6.1.1; + * @assertion: Boolean() returns false; + * @description: Call Boolean() and check result; +*/ + +//CHECK#1 +if( typeof Boolean() !== "boolean" ) { + $ERROR('#1: typeof Boolean() should be "boolean", actual is "'+typeof Boolean()+'"'); +} + +//CHECK#2 +if( Boolean() !== false ) { + $ERROR('#2: Boolean() should be false'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A1.js new file mode 100644 index 000000000..5b23ea900 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A1.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. + +/** + * @name: S15.6.2.1_A1; + * @section: 15.6.2.1; + * @assertion: When Boolean is called as part of a new expression it is + * a constructor: it initialises the newly created object; + * @description: Checking type of the newly created object and it value; +*/ + +//CHECK#1 +if (typeof new Boolean() !== "object") { + $ERROR("#1: typeof new Boolean() === 'object'"); +} + +//CHECK#2 +if (new Boolean() === undefined) { + $ERROR("#2: new Boolean() should not be undefined"); +} + +//CHECK#3 +var x3 = new Boolean(); +if(typeof x3 !== "object"){ + $ERROR("#3: typeof new Boolean() !== 'object'"); +} + +//CHECK#4 +var x4 = new Boolean(); +if(x4 === undefined){ + $ERROR("#4: new Boolean() should not be undefined"); +} + +//CHECK#5 +if (typeof new Boolean(1) !== "object") { + $ERROR("#5: typeof new Boolean(10) === 'object'"); +} + +//CHECK#6 +if (new Boolean(1) === undefined) { + $ERROR("#6: new Boolean(1) should not be undefined"); +} + +//CHECK#7 +var x7 = new Boolean(1); +if(typeof x7 !== "object"){ + $ERROR("#7: typeof new Boolean(1) !== 'object'"); +} + +//CHECK#8 +var x8 = new Boolean(1); +if(x8 === undefined){ + $ERROR("#8: new Boolean(1) should not be undefined"); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A2.js new file mode 100644 index 000000000..59d1439e7 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A2.js @@ -0,0 +1,29 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.6.2.1_A2; + * @section: 15.6.2.1; + * @assertion: The [[Prototype]] property of the newly constructed object + * is set to the original Boolean prototype object, the one that is the + * initial value of Boolean.prototype; + * @description: Checking prototype property of the newly created object; + */ + +// CHECK#1 +var x1 = new Boolean(1); +if (typeof x1.constructor.prototype !== "object") { + $ERROR('#1: typeof x1.constructor.prototype === "object"'); +} + +//CHECK#2 +var x2 = new Boolean(2); +if (!Boolean.prototype.isPrototypeOf(x2)) { + $ERROR('#2: Boolean.prototype.isPrototypeOf(x2)'); +} + +//CHECK#3 +var x3 = new Boolean(3); +if (Boolean.prototype !== x3.constructor.prototype) { + $ERROR('#3: Boolean.prototype === x3.constructor.prototype'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A3.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A3.js new file mode 100644 index 000000000..9f4f0c60c --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A3.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. + +/** + * @name: S15.6.2.1_A3; + * @section: 15.6.2.1; + * @assertion: The [[Value]] property of the newly constructed object + * is set to ToBoolean(value); + * @description: Checking value of the newly created object; + */ + +// CHECK#1 +var x1 = new Boolean(1); +if (x1.valueOf() !== true) { + $ERROR('#1: var x1 = new Boolean(1); x1.valueOf() === true'); +} + +//CHECK#2 +var x2 = new Boolean(); +if (x2.valueOf() !== false) { + $ERROR('#2: var x2 = new Boolean(); x2.valueOf() === false'); +} + +//CHECK#3 +var x2 = new Boolean(0); +if (x2.valueOf() !== false) { + $ERROR('#3: var x2 = new Boolean(0); x2.valueOf() === false'); +} + +//CHECK#4 +var x2 = new Boolean(new Object()); +if (x2.valueOf() !== true) { + $ERROR('#4: var x2 = new Boolean(new Object()); x2.valueOf() === true'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A4.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A4.js new file mode 100644 index 000000000..1aa660a79 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.2_The_Boolean_Constructor/S15.6.2.1_A4.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. + +/** + * @name: S15.6.2.1_A4; + * @section: 15.6.2.1; + * @assertion: The [[Class]] property of the newly constructed object + * is set to "Boolean"; + * @description: For testing toString function is used; + */ + +delete Boolean.prototype.toString; + +var obj = new Boolean(); + +//CHECK#1 +if (obj.toString() !== "[object Boolean]") { + $ERROR('#1: The [[Class]] property of the newly constructed object is set to "Boolean"'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A1.js new file mode 100644 index 000000000..50bef718f --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A1.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. + +/** + * @name: S15.6.3.1_A1; + * @section: 15.6.3.1; + * @assertion: The initial value of Boolean.prototype is the Boolean + * prototype object; + * @description: Checking Boolean.prototype property; + */ + +//CHECK#1 +if (typeof Boolean.prototype !== "object") { + $ERROR('#1: typeof Boolean.prototype === "object"'); +} + +//CHECK#2 +if (Boolean.prototype != false) { + $ERROR('#2: Boolean.prototype == false'); +} + +delete Boolean.prototype.toString; + +if (Boolean.prototype.toString() !== "[object Boolean]") { + $ERROR('#3: The [[Class]] property of the Boolean prototype object is set to "Boolean"'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A2.js new file mode 100644 index 000000000..373f54e96 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A2.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.6.3.1_A2; + * @section: 15.6.3.1; + * @assertion: Boolean.prototype has the attribute ReadOnly; + * @description: Checking if varying the Boolean.prototype property fails; + */ + +// CHECK#1 +x = Boolean.prototype; +Boolean.prototype = 1; +if (Boolean.prototype !== x) { + $ERROR('#1: Boolean.prototype has the attribute ReadOnly'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A3.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A3.js new file mode 100644 index 000000000..6158ea0de --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A3.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.6.3.1_A3; + * @section: 15.6.3.1; + * @assertion: Boolean.prototype has the attribute DontDelete; + * @description: Checking if deleting the Boolean.prototype property fails; + */ + +// CHECK#1 +if (delete Boolean.prototype !== false) { + $ERROR('#1: Boolean.prototype has the attribute DontDelete'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A4.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A4.js new file mode 100644 index 000000000..236266aac --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/15.6.3.1_Boolean.prototype/S15.6.3.1_A4.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.6.3.1_A4; + * @section: 15.6.3.1; + * @assertion: Boolean.prototype has the attribute DontEnum; + * @description: Checking if enumerating the Boolean.prototype property fails; + */ + +//CHECK#1 +for(x in Boolean) { + if(x === "prototype") { + $ERROR('#1: Boolean.prototype has the attribute DontEnum'); + } +} + +if (Boolean.propertyIsEnumerable('prototype')) { + $ERROR('#2: Boolean.prototype has the attribute DontEnum'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/S15.6.3_A1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/S15.6.3_A1.js new file mode 100644 index 000000000..673d7c050 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/S15.6.3_A1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.6.3_A1; + * @section: 15.6.3; + * @assertion: The Boolean constructor has the property "prototype"; + * @description: Checking existence of the property "prototype"; + */ + +if(!Boolean.hasOwnProperty("prototype")){ + $ERROR('#1: The Boolean constructor has the property "prototype"'); +} + diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/S15.6.3_A2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/S15.6.3_A2.js new file mode 100644 index 000000000..02415f8db --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/S15.6.3_A2.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. + +/** +* @name: S15.6.3_A2; +* @section: 15.6.3; +* @assertion: The value of the internal [[Prototype]] property of the Boolean +* constructor is the Function prototype object; +* @description: Checking prototype of the Boolean constructor; +*/ + +//CHECK#1 +if (!(Function.prototype.isPrototypeOf(Boolean))) { + $ERROR('#1: the value of the internal [[Prototype]] property of the Boolean constructor is the Function prototype object.'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/S15.6.3_A3.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/S15.6.3_A3.js new file mode 100644 index 000000000..ab1b1e953 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.3_Properties_of_the_Boolean_Constructor/S15.6.3_A3.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. + +/** +* @name: S15.6.3_A3; +* @section: 15.6.3; +* @assertion: Boolean constructor has length property whose value is 1; +* @description: Checking Boolean.length property; +*/ + +//CHECK#1 +if (!Boolean.hasOwnProperty("length")){ + $ERROR('#1: Boolean constructor has length property'); +} + +//CHECK#2 +if (Boolean.length !== 1) { + $ERROR('#2: Boolean constructor length property value is 1'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.1_A1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.1_A1.js new file mode 100644 index 000000000..de366a7cd --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.1_A1.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. + +/** + * @name: S15.6.4.1_A1; + * @section: 15.6.4.1; + * @assertion: The initial value of Boolean.prototype.constructor is the + * built-in Boolean constructor; + * @description: Compare Boolean.prototype.constructor with Boolean; + */ + +//CHECK#1 +if(Boolean.prototype.constructor !== Boolean){ + $ERROR('#1: Boolean.prototype.constructor === Boolean'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A1_T1.js new file mode 100644 index 000000000..93f8590b8 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A1_T1.js @@ -0,0 +1,46 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.6.4.2_A1_T1; + * @section: 15.6.4.2; + * @assertion: toString: If this boolean value is true, then the string "true" + * is returned, otherwise, this boolean value must be false, and the string + * "false" is returned; + * @description: no arguments; + */ + +//CHECK#1 +if(Boolean.prototype.toString() !== "false"){ + $ERROR('#1: Boolean.prototype.toString() === "false"'); +} + +//CHECK#2 +if((new Boolean()).toString() !== "false"){ + $ERROR('#2: (new Boolean()).toString() === "false"'); +} + +//CHECK#3 +if((new Boolean(false)).toString() !== "false"){ + $ERROR('#3: (new Boolean(false)).toString() === "false"'); +} + +//CHECK#4 +if((new Boolean(true)).toString() !== "true"){ + $ERROR('#4: (new Boolean(true)).toString() === "true"'); +} + +//CHECK#5 +if((new Boolean(1)).toString() !== "true"){ + $ERROR('#5: (new Boolean(1)).toString() === "true"'); +} + +//CHECK#6 +if((new Boolean(0)).toString() !== "false"){ + $ERROR('#6: (new Boolean(0)).toString() === "false"'); +} + +//CHECK#7 +if((new Boolean(new Object())).toString() !== "true"){ + $ERROR('#7: (new Boolean(new Object())).toString() === "true"'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A1_T2.js new file mode 100644 index 000000000..d28f196f6 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A1_T2.js @@ -0,0 +1,46 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.6.4.2_A1_T2; + * @section: 15.6.4.2; + * @assertion: toString: If this boolean value is true, then the string "true" + * is returned, otherwise, this boolean value must be false, and the string + * "false" is returned; + * @description: with some argument; + */ + +//CHECK#1 +if(Boolean.prototype.toString(true) !== "false"){ + $ERROR('#1: Boolean.prototype.toString(true) === "false"'); +} + +//CHECK#2 +if((new Boolean()).toString(true) !== "false"){ + $ERROR('#2: (new Boolean()).toString(true) === "false"'); +} + +//CHECK#3 +if((new Boolean(false)).toString(true) !== "false"){ + $ERROR('#3: (new Boolean(false)).toString(true) === "false"'); +} + +//CHECK#4 +if((new Boolean(true)).toString(false) !== "true"){ + $ERROR('#4: (new Boolean(true)).toString(false) === "true"'); +} + +//CHECK#5 +if((new Boolean(1)).toString(false) !== "true"){ + $ERROR('#5: (new Boolean(1)).toString(false) === "true"'); +} + +//CHECK#6 +if((new Boolean(0)).toString(true) !== "false"){ + $ERROR('#6: (new Boolean(0)).toString(true) === "false"'); +} + +//CHECK#7 +if((new Boolean(new Object())).toString(false) !== "true"){ + $ERROR('#7: (new Boolean(new Object())).toString(false) === "true"'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T1.js new file mode 100644 index 000000000..26c0a0003 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T1.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. + +/** + * @name: S15.6.4.2_A2_T1; + * @section: 15.6.4.2; + * @assertion: The toString function is not generic, it cannot be transferred + * to other kinds of objects for use as a method and there is should be + * a TypeError exception if its this value is not a Boolean object; + * @description: transferring to the String objects; +*/ + +//CHECK#1 +try{ + var s1 = new String(); + s1.toString = Boolean.prototype.toString; + var v1 = s1.toString(); + $ERROR('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError, not '+e); + } +} + +//CHECK#2 +try{ + var s2 = new String(); + s2.myToString = Boolean.prototype.toString; + var v2 = s2.myToString(); + $ERROR('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError, not '+e); + } +} + diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T2.js new file mode 100644 index 000000000..5fba5e924 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T2.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. + +/** + * @name: S15.6.4.2_A2_T2; + * @section: 15.6.4.2; + * @assertion: The toString function is not generic, it cannot be transferred + * to other kinds of objects for use as a method and there is should be + * a TypeError exception if its this value is not a Boolean object; + * @description: transferring to the Number objects; +*/ + +//CHECK#1 +try{ + var s1 = new Number(); + s1.toString = Boolean.prototype.toString; + var v1 = s1.toString(); + $ERROR('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError, not '+e); + } +} + +//CHECK#1 +try{ + var s2 = new Number(); + s2.myToString = Boolean.prototype.toString; + var v2 = s2.myToString(); + $ERROR('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError, not '+e); + } +} + diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T3.js new file mode 100644 index 000000000..25facab8a --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T3.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. + +/** + * @name: S15.6.4.2_A2_T3; + * @section: 15.6.4.2; + * @assertion: The toString function is not generic, it cannot be transferred + * to other kinds of objects for use as a method and there is should be + * a TypeError exception if its this value is not a Boolean object; + * @description: transferring to the Date objects; +*/ + +//CHECK#1 +try{ + var s1 = new Date(); + s1.toString = Boolean.prototype.toString; + var v1 = s1.toString(); + $ERROR('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError, not '+e); + } +} + +//CHECK#1 +try{ + var s2 = new Date(); + s2.myToString = Boolean.prototype.toString; + var v2 = s2.myToString(); + $ERROR('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError, not '+e); + } +} + diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T4.js new file mode 100644 index 000000000..eab0866cc --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T4.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. + +/** + * @name: S15.6.4.2_A2_T4; + * @section: 15.6.4.2; + * @assertion: The toString function is not generic, it cannot be transferred + * to other kinds of objects for use as a method and there is should be + * a TypeError exception if its this value is not a Boolean object; + * @description: transferring to the Object objects; +*/ + +//CHECK#1 +try{ + var s1 = new Object(); + s1.toString = Boolean.prototype.toString; + var v1 = s1.toString(); + $ERROR('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError, not '+e); + } +} + +//CHECK#1 +try{ + var s2 = new Object(); + s2.myToString = Boolean.prototype.toString; + var v2 = s2.myToString(); + $ERROR('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError, not '+e); + } +} + diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T5.js new file mode 100644 index 000000000..6978c515d --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.2_A2_T5.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. + +/** + * @name: S15.6.4.2_A2_T5; + * @section: 15.6.4.2; + * @assertion: The toString function is not generic, it cannot be transferred + * to other kinds of objects for use as a method and there is should be + * a TypeError exception if its this value is not a Boolean object; + * @description: transferring to the other objects; +*/ + +//CHECK#1 +try{ + var s1 = {x: 1}; + s1.toString = Boolean.prototype.toString; + var v1 = s1.toString(); + $ERROR('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#1: Boolean.prototype.toString on not a Boolean object should throw TypeError, not '+e); + } +} + +//CHECK#1 +try{ + var s2 = {x: 1}; + s2.myToString = Boolean.prototype.toString; + var v2 = s2.myToString(); + $ERROR('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#2: Boolean.prototype.toString on not a Boolean object should throw TypeError, not '+e); + } +} + diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A1_T1.js new file mode 100644 index 000000000..25ece6d6e --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A1_T1.js @@ -0,0 +1,40 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.6.4.3_A1_T1; + * @section: 15.6.4.3; + * @assertion: Boolean.prototype.valueOf() returns this boolean value; + * @description: no arguments; +*/ + +//CHECK#1 +if(Boolean.prototype.valueOf() !== false){ + $ERROR('#1: Boolean.prototype.valueOf() === false'); +} + +//CHECK#2 +if((new Boolean()).valueOf() !== false){ + $ERROR('#2: (new Boolean()).valueOf() === false'); +} + +//CHECK#3 +if((new Boolean(0)).valueOf() !== false){ + $ERROR('#3: (new Boolean(0)).valueOf() === false'); +} + +//CHECK#4 +if((new Boolean(-1)).valueOf() !== true){ + $ERROR('#4: (new Boolean(-1)).valueOf() === true'); +} + +//CHECK#5 +if((new Boolean(1)).valueOf() !== true){ + $ERROR('#5: (new Boolean(1)).valueOf() === true'); +} + +//CHECK#6 +if((new Boolean(new Object())).valueOf() !== true){ + $ERROR('#6: (new Boolean(new Object())).valueOf() === true'); +} + diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A1_T2.js new file mode 100644 index 000000000..77362c781 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A1_T2.js @@ -0,0 +1,40 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.6.4.3_A1_T2; + * @section: 15.6.4.3; + * @assertion: Boolean.prototype.valueOf() returns this boolean value; + * @description: calling with argument; +*/ + +//CHECK#1 +if(Boolean.prototype.valueOf(true) !== false){ + $ERROR('#1: Boolean.prototype.valueOf(true) === false'); +} + +//CHECK#2 +if((new Boolean()).valueOf(true) !== false){ + $ERROR('#2: (new Boolean()).valueOf(true) === false'); +} + +//CHECK#3 +if((new Boolean(0)).valueOf(true) !== false){ + $ERROR('#3: (new Boolean(0)).valueOf(true) === false'); +} + +//CHECK#4 +if((new Boolean(-1)).valueOf(false) !== true){ + $ERROR('#4: (new Boolean(-1)).valueOf(false) === true'); +} + +//CHECK#5 +if((new Boolean(1)).valueOf(false) !== true){ + $ERROR('#5: (new Boolean(1)).valueOf(false) === true'); +} + +//CHECK#6 +if((new Boolean(new Object())).valueOf(false) !== true){ + $ERROR('#6: (new Boolean(new Object())).valueOf(false) === true'); +} + diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T1.js new file mode 100644 index 000000000..08b61cbd0 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T1.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. + +/** + * @name: S15.6.4.3_A2_T1; + * @section: 15.6.4.3; + * @assertion: The valueOf function is not generic, it cannot be transferred + * to other kinds of objects for use as a method and there is should be + * a TypeError exception if its this value is not a Boolean object; + * @description: transferring to the String objects; +*/ + +//CHECK#1 +try{ + var s1 = new String(); + s1.valueOf = Boolean.prototype.valueOf; + var v1 = s1.valueOf(); + $ERROR('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not '+e); + } +} + +//CHECK#1 +try{ + var s2 = new String(); + s2.myValueOf = Boolean.prototype.valueOf; + var v2 = s2.myValueOf(); + $ERROR('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not '+e); + } +} + diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T2.js new file mode 100644 index 000000000..69d39940b --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T2.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. + +/** + * @name: S15.6.4.3_A2_T2; + * @section: 15.6.4.3; + * @assertion: The valueOf function is not generic, it cannot be transferred + * to other kinds of objects for use as a method and there is should be + * a TypeError exception if its this value is not a Boolean object; + * @description: transferring to the Number objects; +*/ + +//CHECK#1 +try{ + var s1 = new Number(); + s1.valueOf = Boolean.prototype.valueOf; + var v1 = s1.valueOf(); + $ERROR('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not '+e); + } +} + +//CHECK#1 +try{ + var s2 = new Number(); + s2.myValueOf = Boolean.prototype.valueOf; + var v2 = s2.myValueOf(); + $ERROR('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not '+e); + } +} + diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T3.js new file mode 100644 index 000000000..3393c28ef --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T3.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. + +/** + * @name: S15.6.4.3_A2_T3; + * @section: 15.6.4.3; + * @assertion: The valueOf function is not generic, it cannot be transferred + * to other kinds of objects for use as a method and there is should be + * a TypeError exception if its this value is not a Boolean object; + * @description: transferring to the Date objects; +*/ + +//CHECK#1 +try{ + var s1 = new Date(); + s1.valueOf = Boolean.prototype.valueOf; + var v1 = s1.valueOf(); + $ERROR('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not '+e); + } +} + +//CHECK#1 +try{ + var s2 = new Date(); + s2.myValueOf = Boolean.prototype.valueOf; + var v2 = s2.myValueOf(); + $ERROR('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not '+e); + } +} + diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T4.js new file mode 100644 index 000000000..d1d277000 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T4.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. + +/** + * @name: S15.6.4.3_A2_T4; + * @section: 15.6.4.3; + * @assertion: The valueOf function is not generic, it cannot be transferred + * to other kinds of objects for use as a method and there is should be + * a TypeError exception if its this value is not a Boolean object; + * @description: transferring to the Object objects; +*/ + +//CHECK#1 +try{ + var s1 = new Object(); + s1.valueOf = Boolean.prototype.valueOf; + var v1 = s1.valueOf(); + $ERROR('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not '+e); + } +} + +//CHECK#1 +try{ + var s2 = new Object(); + s2.myValueOf = Boolean.prototype.valueOf; + var v2 = s2.myValueOf(); + $ERROR('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not '+e); + } +} + diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T5.js new file mode 100644 index 000000000..4922cf395 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4.3_A2_T5.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. + +/** + * @name: S15.6.4.3_A2_T5; + * @section: 15.6.4.3; + * @assertion: The valueOf function is not generic, it cannot be transferred + * to other kinds of objects for use as a method and there is should be + * a TypeError exception if its this value is not a Boolean object; + * @description: transferring to the other objects; +*/ + +//CHECK#1 +try{ + var s1 = {x: 1}; + s1.valueOf = Boolean.prototype.valueOf; + var v1 = s1.valueOf(); + $ERROR('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#1: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not '+e); + } +} + +//CHECK#1 +try{ + var s2 = {x: 1}; + s2.myValueOf = Boolean.prototype.valueOf; + var v2 = s2.myValueOf(); + $ERROR('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError'); +} +catch(e){ + if(!(e instanceof TypeError)){ + $ERROR('#2: Boolean.prototype.valueOf on not a Boolean object should throw TypeError, not '+e); + } +} + diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4_A1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4_A1.js new file mode 100644 index 000000000..7af82b2a4 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4_A1.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. + +/** + * @name: S15.6.4_A1; + * @section: 15.6.4; + * @assertion: The Boolean prototype object is itself a Boolean object + * (its [[Class]] is "Boolean") whose value is false; + * @description: Checking type and value of Boolean.prototype; + */ + +//CHECK#1 +if (typeof Boolean.prototype !== "object") { + $ERROR('#1: typeof Boolean.prototype === "object"'); +} + +//CHECK#2 +if (Boolean.prototype != false) { + $ERROR('#2: Boolean.prototype == false'); +} + +delete Boolean.prototype.toString; + +if (Boolean.prototype.toString() !== "[object Boolean]") { + $ERROR('#3: The [[Class]] property of the Boolean prototype object is set to "Boolean"'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4_A2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4_A2.js new file mode 100644 index 000000000..515d1f436 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.6_Boolean_Objects/15.6.4_Properties_of_the_Boolean_Prototype_Object/S15.6.4_A2.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. + +/** + * @name: S15.6.4_A2; + * @section: 15.6.4; + * @assertion: The value of the internal [[Prototype]] property of the Boolean + * prototype object is the Object prototype object; + * @description: Checking Object.prototype.isPrototypeOf(Boolean.prototype); + */ + +//CHECK#1 +if (!Object.prototype.isPrototypeOf(Boolean.prototype)) { + $ERROR('#1: Object prototype object is the prototype of Boolean prototype object'); +} |