diff options
Diffstat (limited to 'test/suite/sputnik')
93 files changed, 1508 insertions, 832 deletions
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.1.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.1.js index 67bf80508..d37ca0f53 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.1.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.1.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.1;
- * @section: 7.5.3;
- * @assertion: The "abstract" token can not be used as identifier;
- * @description: Checking if execution of "abstract=1" fails;
- * @negative
-*/
-
-abstract = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.1; + * @section: 7.5.3; + * @assertion: The "abstract" token can be used as identifier; + * @description: Checking if execution of "abstract=1" succeeds; + */ + +abstract = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.12.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.12.js index 8189b2ed5..2fbba1c64 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.12.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.12.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.12;
- * @section: 7.5.3;
- * @assertion: The "final" token can not be used as identifier;
- * @description: Checking if execution of "final=1" fails;
- * @negative
-*/
-
-final = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.12; + * @section: 7.5.3; + * @assertion: The "final" token can be used as identifier; + * @description: Checking if execution of "final=1" succeeds; + */ + +final = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.13.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.13.js index 783788d72..9e436929a 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.13.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.13.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.13;
- * @section: 7.5.3;
- * @assertion: The "float" token can not be used as identifier;
- * @description: Checking if execution of "float=1" fails;
- * @negative
-*/
-
-float = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.13; + * @section: 7.5.3; + * @assertion: The "float" token can be used as identifier; + * @description: Checking if execution of "float=1" succeeds; +*/ + +float = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.14.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.14.js index 1163ee477..6399276b5 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.14.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.14.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.14;
- * @section: 7.5.3;
- * @assertion: The "goto" token can not be used as identifier;
- * @description: Checking if execution of "goto=1" fails;
- * @negative
-*/
-
-goto = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.14; + * @section: 7.5.3; + * @assertion: The "goto" token can be used as identifier; + * @description: Checking if execution of "goto=1" succeeds; + */ + +goto = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15.js index 2a00baa24..be59187b7 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15.js @@ -1,12 +1,15 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.15;
- * @section: 7.5.3;
- * @assertion: The "implements" token can not be used as identifier;
- * @description: Checking if execution of "implements=1" fails;
- * @negative
-*/
-
-implements = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.15; + * @section: 7.5.3; + * @assertion: The "implements" token can not be used as identifier in + * strict code; + * @description: Checking if execution of "implements=1" fails in + * strict code; + * @negative + */ + +"use strict"; +implements = 1;
\ No newline at end of file diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15ns.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15ns.js new file mode 100644 index 000000000..939f3fbf1 --- /dev/null +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15ns.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.15; + * @section: 7.5.3; + * @assertion: The "implements" token can be used as identifier in + * non-strict code; + * @description: Checking if execution of "implements=1" succeeds in + * non-strict code; + */ + +new Function('implements = 1');
\ No newline at end of file diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.17.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.17.js index 99bee2c0a..5e7e72bde 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.17.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.17.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.17;
- * @section: 7.5.3;
- * @assertion: The "int" token can not be used as identifier;
- * @description: Checking if execution of "int=1" fails;
- * @negative
-*/
-
-int = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.17; + * @section: 7.5.3; + * @assertion: The "int" token can be used as identifier; + * @description: Checking if execution of "int=1" succeeds; +*/ + +int = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18.js index a490cebc5..1ce3a1b13 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18.js @@ -1,12 +1,15 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.18;
- * @section: 7.5.3;
- * @assertion: The "interface" token can not be used as identifier;
- * @description: Checking if execution of "interface = 1" fails;
- * @negative
-*/
-
-interface = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.18; + * @section: 7.5.3; + * @assertion: The "interface" token can not be used as identifier in + * strict code; + * @description: Checking if execution of "interface = 1" fails in + * strict code; + * @negative + */ + +"use strict"; +interface = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18ns.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18ns.js new file mode 100644 index 000000000..787e65646 --- /dev/null +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18ns.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.18; + * @section: 7.5.3; + * @assertion: The "interface" token can be used as identifier in + * non-strict code; + * @description: Checking if execution of "interface = 1" succeeds in + * strict code; + */ + +new Function('interface = 1'); diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.19.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.19.js index 68581ac45..1667d3905 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.19.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.19.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.19;
- * @section: 7.5.3;
- * @assertion: The "long" token can not be used as identifier;
- * @description: Checking if execution of "long=1" fails;
- * @negative
-*/
-
-long = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.19; + * @section: 7.5.3; + * @assertion: The "long" token can be used as identifier; + * @description: Checking if execution of "long=1" succeeds; + */ + +long = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.2.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.2.js index 551cd9f61..76c3c81c2 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.2.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.2.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.2;
- * @section: 7.5.3;
- * @assertion: The "boolean" token can not be used as identifier;
- * @description: Checking if execution of "boolean=1" fails;
- * @negative
-*/
-
-boolean = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.2; + * @section: 7.5.3; + * @assertion: The "boolean" token can be used as identifier; + * @description: Checking if execution of "boolean=1" succeeds; + */ + +boolean = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.20.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.20.js index b116451cc..979fff751 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.20.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.20.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.20;
- * @section: 7.5.3;
- * @assertion: The "native" token can not be used as identifier;
- * @description: Checking if execution of "native=1" fails;
- * @negative
-*/
-
-native = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.20; + * @section: 7.5.3; + * @assertion: The "native" token can be used as identifier; + * @description: Checking if execution of "native=1" succeeds; + */ + +native = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21.js index 289a066f7..05e0223ee 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21.js @@ -1,12 +1,14 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.21;
- * @section: 7.5.3;
- * @assertion: The "package" token can not be used as identifier;
- * @description: Checking if execution of "package=1" fails;
- * @negative
-*/
-
-package = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.21; + * @section: 7.5.3; + * @assertion: The "package" token can not be used as identifier in + * strict code; + * @description: Checking if execution of "package=1" fails in strict code; + * @negative + */ + +"use strict"; +package = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21ns.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21ns.js new file mode 100644 index 000000000..65cbd9363 --- /dev/null +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21ns.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.21; + * @section: 7.5.3; + * @assertion: The "package" token can be used as identifier in + * non-strict code; + * @description: Checking if execution of "package=1" succeeds in + * non-strict code; + */ + +new Function('package = 1'); diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22.js index d5eced439..96441b0b3 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22.js @@ -1,12 +1,14 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.22;
- * @section: 7.5.3;
- * @assertion: The "private" token can not be used as identifier;
- * @description: Checking if execution of "private=1" fails;
- * @negative
-*/
-
-private = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.22; + * @section: 7.5.3; + * @assertion: The "private" token can not be used as identifier in + * strict code; + * @description: Checking if execution of "private=1" fails in strict code; + * @negative + */ + +"use strict"; +private = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22ns.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22ns.js new file mode 100644 index 000000000..e8b1040de --- /dev/null +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22ns.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.22; + * @section: 7.5.3; + * @assertion: The "private" token can be used as identifier in + * non-strict code; + * @description: Checking if execution of "private=1" succeeds in + * non-strict code; + */ + +new Function('private = 1'); diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23.js index d99fd2476..fb272f7bc 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23.js @@ -1,12 +1,15 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.23;
- * @section: 7.5.3;
- * @assertion: The "protected" token can not be used as identifier;
- * @description: Checking if execution of "protected=1" fails;
- * @negative
-*/
-
-protected = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.23; + * @section: 7.5.3; + * @assertion: The "protected" token can not be used as identifier in + * strict code; + * @description: Checking if execution of "protected=1" fails in + * strict code; + * @negative + */ + +"use strict"; +protected = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23ns.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23ns.js new file mode 100644 index 000000000..19bc9f963 --- /dev/null +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23ns.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.23; + * @section: 7.5.3; + * @assertion: The "protected" token can be used as identifier in + * non-strict code; + * @description: Checking if execution of "protected=1" succeeds in + * non-strict code; + */ + +new Function('protected = 1'); diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24.js index bc3953b8c..ff3426949 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24.js @@ -1,12 +1,14 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.24;
- * @section: 7.5.3;
- * @assertion: The "public" token can not be used as identifier;
- * @description: Checking if execution of "public=1" fails;
- * @negative
-*/
-
-public = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.24; + * @section: 7.5.3; + * @assertion: The "public" token can not be used as identifier in + * strict code; + * @description: Checking if execution of "public=1" fails in strict code; + * @negative + */ + +"use strict"; +public = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24ns.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24ns.js new file mode 100644 index 000000000..cd4b780b5 --- /dev/null +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24ns.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.24; + * @section: 7.5.3; + * @assertion: The "public" token can be used as identifier in + * non-strict code; + * @description: Checking if execution of "public=1" succeeds in + * non-strict code; + */ + +new Function('public = 1'); diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.25.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.25.js index 0827f2a57..10218efbc 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.25.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.25.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.25;
- * @section: 7.5.3;
- * @assertion: The "short" token can not be used as identifier;
- * @description: Checking if execution of "short=1" fails;
- * @negative
-*/
-
-short = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.25; + * @section: 7.5.3; + * @assertion: The "short" token can be used as identifier; + * @description: Checking if execution of "short=1" succeeds; + */ + +short = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26.js index 05c7d1dc5..a26ad6d7f 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26.js @@ -1,12 +1,14 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.26;
- * @section: 7.5.3;
- * @assertion: The "static" token can not be used as identifier;
- * @description: Checking if execution of "static=1" fails;
- * @negative
-*/
-
-static = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.26; + * @section: 7.5.3; + * @assertion: The "static" token can not be used as identifier in + * strict code; + * @description: Checking if execution of "static=1" fails in strict code; + * @negative +*/ + +"use strict"; +static = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26ns.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26ns.js new file mode 100644 index 000000000..9d47c76d7 --- /dev/null +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26ns.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.26; + * @section: 7.5.3; + * @assertion: The "static" token can be used as identifier in + * non-strict code; + * @description: Checking if execution of "static=1" succeeds in + * non-strict code; + */ + +new Function('static = 1'); diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.28.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.28.js index 1025b574d..d70f857ab 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.28.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.28.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.28;
- * @section: 7.5.3;
- * @assertion: The "synchronized" token can not be used as identifier;
- * @description: Checking if execution of "synchronized=1" fails;
- * @negative
-*/
-
-synchronized = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.28; + * @section: 7.5.3; + * @assertion: The "synchronized" token can be used as identifier; + * @description: Checking if execution of "synchronized=1" succeeds; +*/ + +synchronized = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.29.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.29.js index 89d8f8b28..6aa1b70e4 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.29.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.29.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.29;
- * @section: 7.5.3;
- * @assertion: The "throws" token can not be used as identifier;
- * @description: Checking if execution of "throws=1" fails;
- * @negative
-*/
-
-throws = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.29; + * @section: 7.5.3; + * @assertion: The "throws" token can be used as identifier; + * @description: Checking if execution of "throws=1" succeeds; +*/ + +throws = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.3.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.3.js index d89ffdbbb..5d17b3639 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.3.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.3.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.3;
- * @section: 7.5.3;
- * @assertion: The "byte" token can not be used as identifier;
- * @description: Checking if execution of "byte=1" fails;
- * @negative
-*/
-
-byte = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.3; + * @section: 7.5.3; + * @assertion: The "byte" token can be used as identifier; + * @description: Checking if execution of "byte=1" succeeds; + */ + +byte = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.30.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.30.js index 0d726ec79..23d1e296f 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.30.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.30.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.30;
- * @section: 7.5.3;
- * @assertion: The "transient" token can not be used as identifier;
- * @description: Checking if execution of "transient=1" fails;
- * @negative
-*/
-
-transient = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.30; + * @section: 7.5.3; + * @assertion: The "transient" token can be used as identifier; + * @description: Checking if execution of "transient=1" succeeds; + */ + +transient = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.31.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.31.js index c16a5ea50..67fcbc722 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.31.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.31.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.31;
- * @section: 7.5.3;
- * @assertion: The "volatile" token can not be used as identifier;
- * @description: Checking if execution of "volatile=1" fails;
- * @negative
-*/
-
-volatile = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.31; + * @section: 7.5.3; + * @assertion: The "volatile" token can be used as identifier; + * @description: Checking if execution of "volatile=1" succeeds; + */ + +volatile = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.4.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.4.js index edbfe20aa..589c6b553 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.4.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.4.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.4;
- * @section: 7.5.3;
- * @assertion: The "char" token can not be used as identifier;
- * @description: Checking if execution of "char=1" fails;
- * @negative
-*/
-
-char = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.4; + * @section: 7.5.3; + * @assertion: The "char" token can be used as identifier; + * @description: Checking if execution of "char=1" succeeds; + */ + +char = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.8.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.8.js index ab1ef74d7..40e509a3e 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.8.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.8.js @@ -1,12 +1,11 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.5.3_A1.8;
- * @section: 7.5.3;
- * @assertion: The "double" token can not be used as identifier;
- * @description: Checking if execution of "double=1" fails;
- * @negative
-*/
-
-double = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.5.3_A1.8; + * @section: 7.5.3; + * @assertion: The "double" token can be used as identifier; + * @description: Checking if execution of "double=1" succeeds; + */ + +double = 1; diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.js index f05423d27..4c112480b 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.js @@ -1,20 +1,15 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.8.5_A3.1_T7;
- * @section: 7.8.5, 15.10.4.1;
- * @assertion: RegularExpressionFlags :: IdentifierPart;
- * @description: IdentifierPart :: \u0067 (g);
-*/
-
-//CHECK#1
-
-//Test262 Change
-//var regexp = /(?:)/\u0067;
-var regexp;
-eval('regexp = /(?:)/\\u0067;');
-
-if (regexp.global !== true) {
- $ERROR('#1: var regexp = /(?:)/\\u0067; regexp.global === true. Actual: ' + (regexp.global));
-}
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.8.5_A3.1_T7; + * @section: 7.8.5, 15.10.4.1; + * @assertion: RegularExpressionFlags :: IdentifierPart; + * @description: IdentifierPart :: \u0067 (g); +*/ + +//CHECK#1 +var regexp = /(?:)/\u0067; +if (regexp.global !== true) { + $ERROR('#1: var regexp = /(?:)/\\u0067; regexp.global === true. Actual: ' + (regexp.global)); +} diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.js index b2021e6ad..75d4a72af 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.js @@ -1,21 +1,15 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.8.5_A3.1_T8;
- * @section: 7.8.5, 15.10.4.1;
- * @assertion: RegularExpressionFlags :: IdentifierPart;
- * @description: IdentifierPart :: \u0069 (i);
-*/
-
-//CHECK#1
-
-//Test262 Change
-//var regexp = /(?:)/\u0069;
-
-var regexp;
-eval('regexp = /(?:)/\\u0069;');
-
-if (regexp.ignoreCase !== true) {
- $ERROR('#1: var regexp = /(?:)/\\u0069; regexp.ignoreCase === true. Actual: ' + (regexp.ignoreCase));
-}
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.8.5_A3.1_T8; + * @section: 7.8.5, 15.10.4.1; + * @assertion: RegularExpressionFlags :: IdentifierPart; + * @description: IdentifierPart :: \u0069 (i); +*/ + +//CHECK#1 +var regexp = /(?:)/\u0069; +if (regexp.ignoreCase !== true) { + $ERROR('#1: var regexp = /(?:)/\\u0069; regexp.ignoreCase === true. Actual: ' + (regexp.ignoreCase)); +} diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.js index ef3bc4d16..2086e12fe 100644 --- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.js +++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.js @@ -1,20 +1,15 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.8.5_A3.1_T9;
- * @section: 7.8.5, 15.10.4.1;
- * @assertion: RegularExpressionFlags :: IdentifierPart;
- * @description: IdentifierPart :: \u006D (m);
-*/
-
-//CHECK#1
-
-//Test262 Change
-//var regexp = /(?:)/\u006D;
-var regexp;
-eval('regexp = /(?:)/\\u006D;');
-
-if (regexp.multiline !== true) {
- $ERROR('#1: var regexp = /(?:)/\\u006D; regexp.multiline === true. Actual: ' + (regexp.multiline));
-}
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S7.8.5_A3.1_T9; + * @section: 7.8.5, 15.10.4.1; + * @assertion: RegularExpressionFlags :: IdentifierPart; + * @description: IdentifierPart :: \u006D (m); +*/ + +//CHECK#1 +var regexp = /(?:)/\u006D; +if (regexp.multiline !== true) { + $ERROR('#1: var regexp = /(?:)/\\u006D; regexp.multiline === true. Actual: ' + (regexp.multiline)); +} diff --git a/test/suite/sputnik/Conformance/12_Statement/12.10_The_with_Statement/S12.10_A3.3_T4.js b/test/suite/sputnik/Conformance/12_Statement/12.10_The_with_Statement/S12.10_A3.3_T4.js index 6cb0081c7..9932f9d9b 100644 --- a/test/suite/sputnik/Conformance/12_Statement/12.10_The_with_Statement/S12.10_A3.3_T4.js +++ b/test/suite/sputnik/Conformance/12_Statement/12.10_The_with_Statement/S12.10_A3.3_T4.js @@ -1,57 +1,59 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S12.10_A3.3_T4;
- * @section: 12.10;
- * @assertion: No matter how control leaves the embedded 'Statement',
- * the scope chain is always restored to its former state;
- * @description: Declaring "with" statement within a function constructor, leading to completion by exception;
- * @strict_mode_negative
- */
-
-this.p1 = 1;
-
-var result = "result";
-
-var myObj = {
- p1: 'a',
- value: 'myObj_value',
- valueOf : function(){return 'obj_valueOf';}
-}
-
-try {
- function __FACTORY(){
- with(myObj){
- p1 = 'x1';
- throw value;
- }
- }
- var obj = new __FACTORY();
-} catch(e){
- result = p1;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#1
-if(result !== 1){
- $ERROR('#1: result === 1. Actual: result ==='+ result );
-}
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#2
-if(p1 !== 1){
- $ERROR('#2: p1 === 1. Actual: p1 ==='+ p1 );
-}
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#3
-if(myObj.p1 !== "x1"){
- $ERROR('#3: myObj.p1 === "x1". Actual: myObj.p1 ==='+ myObj.p1 );
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S12.10_A3.3_T4; + * @section: 12.10; + * @assertion: No matter how control leaves the embedded 'Statement', + * the scope chain is always restored to its former state; + * @description: Declaring "with" statement within a function + * constructor, leading to completion by exception; + * @strict_mode_negative + */ + +this.p1 = 1; + +var result = "result"; + +var myObj = { + p1: 'a', + value: 'myObj_value', + valueOf : function(){return 'obj_valueOf';} +}; + +function __FACTORY(){ + with(myObj){ + var p1 = 'x1'; + throw value; + } +} + +try { + var obj = new __FACTORY(); +} catch(e){ + result = p1; +} + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (result !== 1) { + $ERROR('#1: result === 1. Actual: result ==='+ result ); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (p1 !== 1) { + $ERROR('#2: p1 === 1. Actual: p1 ==='+ p1 ); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +if (myObj.p1 !== "x1") { + $ERROR('#3: myObj.p1 === "x1". Actual: myObj.p1 ==='+ myObj.p1 ); +} +// +////////////////////////////////////////////////////////////////////////////// diff --git a/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A14.js b/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A14.js index 3207e2d63..d6b9298d4 100644 --- a/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A14.js +++ b/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A14.js @@ -1,77 +1,78 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S12.14_A14;
- * @section: 12.14;
- * @assertion: Using "try" with "catch" or "finally" statement within/without a "with" statement;
- * @description: Using try/catch/finally in With and With in try/catch/finally;
- */
-
-var myObj = {p1: 'a',
- p2: 'b',
- p3: 'c',
- value: 'myObj_value',
- valueOf : function(){return 'obj_valueOf';},
- parseInt : function(){return 'obj_parseInt';},
- NaN : 'obj_NaN',
- Infinity : 'obj_Infinity',
- eval : function(){return 'obj_eval';},
- parseFloat : function(){return 'obj_parseFloat';},
- isNaN : function(){return 'obj_isNaN';},
- isFinite : function(){return 'obj_isFinite';}
-}
-
-// CHECK#1
-try{
- with(myObj){
- throw "ex";
- }
-}
-catch(e){
- if (e!=="ex") $ERROR('#1: Exception ==="ex". Actual: Exception ==='+ e );
-}
-
-// CHECK#2
-with(myObj){
- try{
- throw p1;
- }
- catch(e){
- if (e!=="a") $ERROR('#2.1: Exception ==="a". Actual: Exception ==='+ e );
- p1='pass';
- }
-}
-if(myObj.p1!=='pass') $ERROR('#2.2: "throw p1" lead to throwing exception');
-
-// CHECK#3
-with(myObj){
- try{
- p1='fail';
- throw p2;
- }
- catch(e){
- if (e!=="b") $ERROR('#3.1: Exception ==="b". Actual: Exception ==='+ e );
- p1='pass';
- }
- finally{
- p2='pass';
- }
-}
-if(myObj.p1!=='pass') $ERROR('#3.2: "throw p2" lead to throwing exception');
-if(myObj.p2!=='pass') $ERROR('#3.3: "finally" block must be evaluated');
-
-// CHECK#4
-myObj.p1='fail';
-try{
- with(myObj){
- try{
- throw p3;
- }
- finally{
- p1='pass';
- }
- }
-}
-catch(e){}
-if(myObj.p1!=='pass') $ERROR('#4: "finally" block must be evaluated');
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S12.14_A14; + * @section: 12.14; + * @assertion: Using "try" with "catch" or "finally" statement within/without a "with" statement; + * @description: Using try/catch/finally in With and With in try/catch/finally; + * @strict_mode_negative SyntaxError; + */ + +var myObj = {p1: 'a', + p2: 'b', + p3: 'c', + value: 'myObj_value', + valueOf : function(){return 'obj_valueOf';}, + parseInt : function(){return 'obj_parseInt';}, + NaN : 'obj_NaN', + Infinity : 'obj_Infinity', + eval : function(){return 'obj_eval';}, + parseFloat : function(){return 'obj_parseFloat';}, + isNaN : function(){return 'obj_isNaN';}, + isFinite : function(){return 'obj_isFinite';} +} + +// CHECK#1 +try{ + with(myObj){ + throw "ex"; + } +} +catch(e){ + if (e!=="ex") $ERROR('#1: Exception ==="ex". Actual: Exception ==='+ e ); +} + +// CHECK#2 +with(myObj){ + try{ + throw p1; + } + catch(e){ + if (e!=="a") $ERROR('#2.1: Exception ==="a". Actual: Exception ==='+ e ); + p1='pass'; + } +} +if(myObj.p1!=='pass') $ERROR('#2.2: "throw p1" lead to throwing exception'); + +// CHECK#3 +with(myObj){ + try{ + p1='fail'; + throw p2; + } + catch(e){ + if (e!=="b") $ERROR('#3.1: Exception ==="b". Actual: Exception ==='+ e ); + p1='pass'; + } + finally{ + p2='pass'; + } +} +if(myObj.p1!=='pass') $ERROR('#3.2: "throw p2" lead to throwing exception'); +if(myObj.p2!=='pass') $ERROR('#3.3: "finally" block must be evaluated'); + +// CHECK#4 +myObj.p1='fail'; +try{ + with(myObj){ + try{ + throw p3; + } + finally{ + p1='pass'; + } + } +} +catch(e){} +if(myObj.p1!=='pass') $ERROR('#4: "finally" block must be evaluated'); diff --git a/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A4.js b/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A4.js index 7f5a06707..e76809232 100644 --- a/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A4.js +++ b/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A4.js @@ -1,35 +1,36 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S12.14_A4;
- * @section: 12.14;
- * @assertion: Sanity test for "catch(Indetifier) statement";
- * @description: Checking if deleting an exception fails;
- */
-
-// CHECK#1
-try {
- throw "catchme";
- $ERROR('#1.1: throw "catchme" lead to throwing exception');
-}
-catch (e) {
- if (delete e){
- $ERROR('#1.2: Exception has DontDelete property');
- }
- if (e!=="catchme") {
- $ERROR('#1.3: Exception === "catchme". Actual: Exception ==='+ e );
- }
-}
-
-// CHECK#2
-try {
- throw "catchme";
- $ERROR('#2.1: throw "catchme" lead to throwing exception');
-}
-catch(e){}
-try{
- e;
- $ERROR('#2.2: Deleting catching exception after ending "catch" block');
-}
-catch(err){}
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S12.14_A4; + * @section: 12.14; + * @assertion: Sanity test for "catch(Indetifier) statement"; + * @description: Checking if deleting an exception fails; + * @strict_mode_negative SyntaxError; + */ + +// CHECK#1 +try { + throw "catchme"; + $ERROR('#1.1: throw "catchme" lead to throwing exception'); +} +catch (e) { + if (delete e){ + $ERROR('#1.2: Exception has DontDelete property'); + } + if (e!=="catchme") { + $ERROR('#1.3: Exception === "catchme". Actual: Exception ==='+ e ); + } +} + +// CHECK#2 +try { + throw "catchme"; + $ERROR('#2.1: throw "catchme" lead to throwing exception'); +} +catch(e){} +try{ + e; + $ERROR('#2.2: Deleting catching exception after ending "catch" block'); +} +catch(err){} diff --git a/test/suite/sputnik/Conformance/12_Statement/12.1_Block/S12.1_A1.js b/test/suite/sputnik/Conformance/12_Statement/12.1_Block/S12.1_A1.js index 2f7a24e34..e9f3f79e2 100644 --- a/test/suite/sputnik/Conformance/12_Statement/12.1_Block/S12.1_A1.js +++ b/test/suite/sputnik/Conformance/12_Statement/12.1_Block/S12.1_A1.js @@ -1,13 +1,18 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S12.1_A1;
-* @section: 12.1;
-* @assertion: The production Block { } can't contain function declaration;
-* @description: Trying to declare function at the Block statement;
-* @negative;
-*/
-{
- function __func(){}
-}
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S12.1_A1; +* @section: 12.1; +* @assertion: The production Block { } in strict code can't contain +* function declaration; +* @description: Trying to declare function at the Block statement; +* @negative SyntaxError; +*/ + +"use strict"; +if (!strict_mode) { throw new SyntaxError('unspecified case'); } + +{ + function __func(){} +} diff --git a/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A7.js b/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A7.js index 4968eb712..7d213f3c6 100644 --- a/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A7.js +++ b/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A7.js @@ -1,25 +1,25 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S12.5_A7;
-* @section: 12.5;
-* @assertion: In the "if" statement empty statement is allowed and is evaluated to "undefined";
-* @description: Checking by using eval "eval("if(1);"))";
-*/
-
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#1
-try {
- __evaluated = eval("if(1);");
- if (__evaluated !== undefined) {
- $ERROR('#1: __evaluated === undefined. Actual: __evaluated ==='+ __evaluated );
- }
-
-} catch (e) {
- $ERROR('#1.1: "__evaluated = eval("if(1);")" does not lead to throwing exception');
-
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S12.5_A7; +* @section: 12.5; +* @assertion: In the "if" statement empty statement is allowed and is evaluated to "undefined"; +* @description: Checking by using eval "eval("if(1);"))"; +*/ + + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +try { + var __evaluated = eval("if(1);"); + if (__evaluated !== undefined) { + $ERROR('#1: __evaluated === undefined. Actual: __evaluated ==='+ __evaluated ); + } + +} catch (e) { + $ERROR('#1.1: "__evaluated = eval("if(1);")" does not lead to throwing exception'); + +} +// +////////////////////////////////////////////////////////////////////////////// diff --git a/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T1.js b/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T1.js index 3613a982b..498bd3578 100644 --- a/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T1.js +++ b/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T1.js @@ -1,16 +1,20 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S12.5_A9_T1;
-* @section: 12.5;
-* @assertion: Function declaration within an "if" statement is not allowed;
-* @description: Declaring function within an "if" statement;
-* @negative;
-*/
-
-if (true) {
- function __func(){};
-} else {
- function __func(){};
-}
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S12.5_A9_T1; +* @section: 12.5; +* @assertion: Function declaration within an "if" statement in strict +* code is not allowed; +* @description: Declaring function within an "if" statement; +* @negative SyntaxError; +*/ + +"use strict"; +if (!strict_mode) { throw new SyntaxError('unspecified case'); } + +if (true) { + function __func(){}; +} else { + function __func(){}; +} diff --git a/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T2.js b/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T2.js index 98c48f805..ae979d8f7 100644 --- a/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T2.js +++ b/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T2.js @@ -1,20 +1,23 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S12.5_A9_T2;
-* @section: 12.5;
-* @assertion: Function declaration within an "if" statement is not allowed;
-* @description: Declaring function within and "if" that is declared within the function call;
-* @negative;
-*/
-
-(function(){
-
-if (true) {
- function __func(){};
-} else {
- function __func(){};
-}
-
-})();
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S12.5_A9_T2; +* @section: 12.5; +* @assertion: Function declaration within an "if" statement in strict +* code is not allowed; +* @description: Declaring function within an "if" that is declared +* within the strict function; +* @negative SyntaxError; +*/ + +(function(){ +"use strict"; + +if (true) { + function __func(){}; +} else { + function __func(){}; +} + +}); diff --git a/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A1.js b/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A1.js index 1de59767f..e0436e37a 100644 --- a/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A1.js +++ b/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A1.js @@ -1,39 +1,41 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S12.6.1_A1;
-* @section: 12.6.1;
-* @assertion: When the production "do Statement while ( Expression )" is evaluated, Statement is evaluated first;
-* @description: Evaluating various Expressions;
-*/
-
-do __in__do=1; while ( false );
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#1
-if (__in__do!==1) {
- $ERROR('#1: false evaluates to false');
-}
-//
-//////////////////////////////////////////////////////////////////////////////
-
-do __in__do=2; while ( 0 );
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#2
-if (__in__do!==2) {
- $ERROR('#2: 0 evaluates to false');
-}
-//
-//////////////////////////////////////////////////////////////////////////////
-
-do __in__do=3; while ( "" );
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#3
-if (__in__do!==3) {
- $ERROR('#3: "" evaluates to false');
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S12.6.1_A1; +* @section: 12.6.1; +* @assertion: When the production "do Statement while ( Expression )" is evaluated, Statement is evaluated first; +* @description: Evaluating various Expressions; +*/ + +var __in__do; + +do __in__do=1; while ( false ); + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (__in__do!==1) { + $ERROR('#1: false evaluates to false'); +} +// +////////////////////////////////////////////////////////////////////////////// + +do __in__do=2; while ( 0 ); + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (__in__do!==2) { + $ERROR('#2: 0 evaluates to false'); +} +// +////////////////////////////////////////////////////////////////////////////// + +do __in__do=3; while ( "" ); + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +if (__in__do!==3) { + $ERROR('#3: "" evaluates to false'); +} +// +////////////////////////////////////////////////////////////////////////////// diff --git a/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T1.js b/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T1.js index 9bd30414f..28e118c87 100644 --- a/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T1.js +++ b/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T1.js @@ -1,14 +1,18 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S12.6.1_A13_T1;
-* @section: 12.6.1, 13;
-* @assertion: FunctionDeclaration within a "do-while" Block is not allowed;
-* @description: Declaring function within a "do-while" loop;
-* @negative;
-*/
-
-do{
- function __func(){};
-} while(0);
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S12.6.1_A13_T1; +* @section: 12.6.1, 13; +* @assertion: FunctionDeclaration within a "do-while" Block in strict +* code is not allowed; +* @description: Declaring function within a "do-while" loop; +* @negative SyntaxError; +*/ + +"use strict"; +if (!strict_mode) { throw new SyntaxError('unspecified case'); } + +do{ + function __func(){}; +} while(0); diff --git a/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T2.js b/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T2.js index c62321a2e..78cd75881 100644 --- a/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T2.js +++ b/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T2.js @@ -1,18 +1,20 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S12.6.1_A13_T2;
-* @section: 12.6.1, 13;
-* @assertion: FunctionDeclaration within a "do-while" Block is not allowed;
-* @description: Declaring a function within a "do-while" loop that is within a function call;
-* @negative;
-*/
-
-(function(){
-
-do{
- function __func(){};
-}while(0);
-
-})();
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S12.6.1_A13_T2; +* @section: 12.6.1, 13; +* @assertion: FunctionDeclaration within a "do-while" Block in strict +* code is not allowed; +* @description: Declaring a function within a "do-while" loop that is +* within a strict function; +* @negative SyntaxError; +*/ + +(function(){ +"use strict"; +do{ + function __func(){}; +}while(0); + +}); diff --git a/test/suite/sputnik/Conformance/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A12.js b/test/suite/sputnik/Conformance/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A12.js new file mode 100644 index 000000000..111aedb39 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A12.js @@ -0,0 +1,18 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.6.2_A12; +* @section: 15.10.6.2; +* @assertion: regExp exec() acts like regExp.exec('undefined') (step 2); +* @description: Checking RegExp.prototype.exec.length; +*/ + +(/foo/).test('xfoox'); +var match = new RegExp('(.|\r|\n)*','').exec()[0]; +if (match === 'xfoox') { + $FAIL('#1: regExp.exec() leaks match globally'); +} +if (match !== 'undefined') { + $FAIL('#2: regExp.exec() must coerce absent first arg to "undefined"'); +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.12_The_JSON_Object/15.12.2_JSON.parse/S15.12.2_A1.js b/test/suite/sputnik/Conformance/15_Native/15.12_The_JSON_Object/15.12.2_JSON.parse/S15.12.2_A1.js new file mode 100644 index 000000000..a7b140810 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.12_The_JSON_Object/15.12.2_JSON.parse/S15.12.2_A1.js @@ -0,0 +1,19 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.12.2_A1; + * @section: 15.12.2; + * @assertion: JSON.parse must create a property with the given + * property name; + * @description: Tests that JSON.parse treats "__proto__" as a regular + * property name; + */ + +var x = JSON.parse('{"__proto__":[]}'); +if (Object.getPrototypeOf(x) !== Object.prototype) { + $FAIL('#1: JSON.parse confused by "__proto__"'); +} +if (!Array.isArray(x.__proto__)) { + $FAIL('#2: JSON.parse did not set "__proto__" as a regular property'); +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A12.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A12.js new file mode 100644 index 000000000..466ae756a --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A12.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.2_A12; +* @section: 15.2.4.2; +* @assertion: If the this value is undefined, return "[object Undefined]". +*/ + +if (Object.prototype.toString.call(undefined) !== "[object Undefined]") { + $ERROR('If the this value is undefined, return "[object Undefined]".'); +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A13.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A13.js new file mode 100644 index 000000000..f095a629b --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A13.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.2_A13; +* @section: 15.2.4.2; +* @assertion: If the this value is null, return "[object Null]". +*/ + +if (Object.prototype.toString.call(null) !== "[object Null]") { + $ERROR('If the this value is null, return "[object Null]".'); +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A14.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A14.js new file mode 100644 index 000000000..0ac2023ee --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A14.js @@ -0,0 +1,14 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.2_A14; +* @section: 15.2.4.2; +* @assertion: Let O be the result of calling ToObject passing the this +* value as the argument. +*/ + +if (Object.prototype.toString.call(33) !== "[object Number]") { + $ERROR('Let O be the result of calling ToObject passing the this ' + + 'value as the argument.'); +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A15.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A15.js new file mode 100644 index 000000000..2bcdb6bb9 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A15.js @@ -0,0 +1,14 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.2_A15; +* @section: 15.2.4.2; +* @assertion: Let O be the result of calling ToObject passing the this +* value as the argument. +*/ + +if (Object.prototype.toString.call(true) !== "[object Boolean]") { + $ERROR('Let O be the result of calling ToObject passing the this ' + + 'value as the argument.'); +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A16.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A16.js new file mode 100644 index 000000000..30e0ab548 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A16.js @@ -0,0 +1,14 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.2_A16; +* @section: 15.2.4.2; +* @assertion: Let O be the result of calling ToObject passing the this +* value as the argument. +*/ + +if (Object.prototype.toString.call('foo') !== "[object String]") { + $ERROR('Let O be the result of calling ToObject passing the this ' + + 'value as the argument.'); +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A12.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A12.js new file mode 100644 index 000000000..bf78b1aa4 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A12.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.3_A12; +* @section: 15.2.4.3; +* @assertion: Let O be the result of calling ToObject passing the this +* value as the argument. +* @negative +*/ + +Object.prototype.toLocaleString.call(undefined); diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A13.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A13.js new file mode 100644 index 000000000..8bc052aaa --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A13.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.3_A13; +* @section: 15.2.4.3; +* @assertion: Let O be the result of calling ToObject passing the this +* value as the argument. +* @negative +*/ + +Object.prototype.toLocaleString.call(null); diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A12.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A12.js new file mode 100644 index 000000000..fa1de95ec --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A12.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.4_A12; +* @section: 15.2.4.4; +* @assertion: Let O be the result of calling ToObject passing the this +* value as the argument. +* @negative +*/ + +Object.prototype.valueOf.call(undefined); diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A13.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A13.js new file mode 100644 index 000000000..5094fed61 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A13.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.4_A13; +* @section: 15.2.4.4; +* @assertion: Let O be the result of calling ToObject passing the this +* value as the argument. +* @negative +*/ + +Object.prototype.valueOf.call(null); diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A14.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A14.js new file mode 100644 index 000000000..268ae9e87 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A14.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.4_A14; +* @section: 15.2.4.4; +* @assertion: Let O be the result of calling ToObject passing the this +* value as the argument. +* @negative +*/ + +(1,Object.prototype.valueOf)(); diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A12.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A12.js new file mode 100644 index 000000000..321114150 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A12.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.5_A12; +* @section: 15.2.4.5; +* @assertion: Let O be the result of calling ToObject passing the this +* value as the argument. +* @negative +*/ + +Object.prototype.hasOwnProperty.call(undefined, 'foo'); diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A13.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A13.js new file mode 100644 index 000000000..42a8861c0 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A13.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.5_A13; +* @section: 15.2.4.5; +* @assertion: Let O be the result of calling ToObject passing the this +* value as the argument. +* @negative +*/ + +Object.prototype.hasOwnProperty.call(null, 'foo'); diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A12.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A12.js new file mode 100644 index 000000000..8572d61fa --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A12.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.6_A12; +* @section: 15.2.4.6; +* @assertion: Let O be the result of calling ToObject passing the this +* value as the argument. +* @negative +*/ + +Object.prototype.isPrototypeOf.call(undefined, {}); diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A13.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A13.js new file mode 100644 index 000000000..d12da2aaa --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A13.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.6_A13; +* @section: 15.2.4.6; +* @assertion: Let O be the result of calling ToObject passing the this +* value as the argument. +* @negative +*/ + +Object.prototype.isPrototypeOf.call(null, {}); diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A12.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A12.js new file mode 100644 index 000000000..71f73443e --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A12.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.7_A12; +* @section: 15.2.4.7; +* @assertion: Let O be the result of calling ToObject passing the this +* value as the argument. +* @negative +*/ + +Object.prototype.propertyIsEnumerable.call(undefined, 'foo'); diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A13.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A13.js new file mode 100644 index 000000000..ee855bdd1 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A13.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.2.4.7_A13; +* @section: 15.2.4.7; +* @assertion: Let O be the result of calling ToObject passing the this +* value as the argument. +* @negative +*/ + +Object.prototype.propertyIsEnumerable.call(null, 'foo'); diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A10.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A10.js index 9fc6c9394..f44729e95 100644 --- a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A10.js +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A10.js @@ -1,23 +1,23 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S15.3.4.2_A10;
-* @section: 15.3.4.2;
-* @assertion: The Function.prototype.toString.length property has the attribute ReadOnly;
-* @description: Checking if varying the Function.prototype.toString.length property fails;
-*/
-
-//CHECK#1
-if (!(Function.prototype.toString.hasOwnProperty('length'))) {
- $FAIL('#1: the Function.prototype.toString has length property.');
-}
-
-obj = Function.prototype.toString.length;
-
-Function.prototype.toString.length = function(){return "shifted";};
-
-//CHECK#2
-if (Function.prototype.toString.length !== obj) {
- $ERROR('#2: the Function.prototype.toString length property has the attributes ReadOnly.');
-}
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.2_A10; +* @section: 15.3.4.2; +* @assertion: The Function.prototype.toString.length property has the attribute ReadOnly; +* @description: Checking if varying the Function.prototype.toString.length property fails; +*/ + +//CHECK#1 +if (!(Function.prototype.toString.hasOwnProperty('length'))) { + $FAIL('#1: the Function.prototype.toString has length property.'); +} + +var obj = Function.prototype.toString.length; + +Function.prototype.toString.length = function(){return "shifted";}; + +//CHECK#2 +if (Function.prototype.toString.length !== obj) { + $ERROR('#2: the Function.prototype.toString length property has the attributes ReadOnly.'); +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A12.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A12.js new file mode 100644 index 000000000..6c26bd6a8 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A12.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.2_A12; +* @section: 15.3.4.2; +* @assertion: The Function.prototype.toString function is not generic; +* it throws a TypeError exception if its this value is not +* a Function object. +* @negative TypeError; +*/ + +Function.prototype.toString.call(undefined); diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A13.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A13.js new file mode 100644 index 000000000..32a391302 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A13.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.2_A13; +* @section: 15.3.4.2; +* @assertion: The toString function is not generic; it throws a +* TypeError exception if its this value is not a Function +* object. +* @negative TypeError; +*/ + +Function.prototype.toString.call(null); diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A14.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A14.js new file mode 100644 index 000000000..8ff48e6de --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A14.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.2_A14; +* @section: 15.3.4.2; +* @assertion: The toString function is not generic; it throws a +* TypeError exception if its this value is not a Function +* object. +* @negative TypeError; +*/ + +Function.prototype.toString.call({}); diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A15.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A15.js new file mode 100644 index 000000000..4dbd35928 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A15.js @@ -0,0 +1,16 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.2_A15; +* @section: 15.3.4.2; +* @assertion: The toString function is not generic; it throws a +* TypeError exception if its this value is not a Function +* object. +* @description: Whether or not they are callable, RegExp objects are +* not Function objects, so toString should throw a +* TypeError. +* @negative TypeError; +*/ + +Function.prototype.toString.call(/x/); diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A16.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A16.js new file mode 100644 index 000000000..6a51b0cee --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A16.js @@ -0,0 +1,18 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.2_A16; +* @section: 15.3.4.2; +* @assertion: The toString function is not generic; it throws a +* TypeError exception if its this value is not a Function +* object. +* @description: The String constructor, given an object, should invoke +* that object's toString method as a method, i.e., with +* its this value bound to that object. +* @negative TypeError; +*/ + +var obj = {toString: Function.prototype.toString}; + +String(obj); diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A1_T1.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A1_T1.js index 9e14063d1..7cc0d5bf8 100644 --- a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A1_T1.js +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A1_T1.js @@ -1,18 +1,18 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S15.3.4.2_A1_T1;
-* @section: 15.3.4.2;
-* @assertion: An implementation-dependent representation of the function is returned. This representation has the syntax of a FunctionDeclaration;
-* @description: For testing use Function.prototype.toString() function;
-*/
-
-f = function(x) {
- return x*x;
-}
-
-//CHECK#1
-if (eval(f.toString())(10) !== f(10)) {
- $ERROR('#1: An implementation-dependent representation of the function is returned. This representation has the syntax of a FunctionDeclaration');
-}
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.2_A1_T1; +* @section: 15.3.4.2; +* @assertion: An implementation-dependent representation of the function is returned. This representation has the syntax of a FunctionDeclaration; +* @description: For testing use Function.prototype.toString() function; +*/ + +var f = function(x) { + return x*x; +}; + +//CHECK#1 +if (eval(f.toString())(10) !== f(10)) { + $ERROR('#1: An implementation-dependent representation of the function is returned. This representation has the syntax of a FunctionDeclaration'); +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A13.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A13.js new file mode 100644 index 000000000..01196f9a0 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A13.js @@ -0,0 +1,11 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.3_A13; +* @section: 15.3.4.3; +* @assertion: If IsCallable(func) is false, then throw a TypeError exception. +* @negative TypeError; +*/ + +Function.prototype.apply.call(undefined, {}, []); diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A14.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A14.js new file mode 100644 index 000000000..c756e4c41 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A14.js @@ -0,0 +1,11 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.3_A14; +* @section: 15.3.4.3; +* @assertion: If IsCallable(func) is false, then throw a TypeError exception. +* @negative TypeError; +*/ + +Function.prototype.apply.call(null, {}, []); diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A15.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A15.js new file mode 100644 index 000000000..339d44689 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A15.js @@ -0,0 +1,11 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.3_A15; +* @section: 15.3.4.3; +* @assertion: If IsCallable(func) is false, then throw a TypeError exception. +* @negative TypeError; +*/ + +Function.prototype.apply.call({}, {}, []); diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A16.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A16.js new file mode 100644 index 000000000..08425ed70 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A16.js @@ -0,0 +1,27 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.3_A16; +* @section: 15.3.4.3; +* @assertion: If IsCallable(func) is false, then throw a TypeError exception. +* @description: A RegExp is not a function, but it may be +* callable. Iff it is, it's typeof should be 'function', +* in which case apply should accept it as a valid this +* value. +*/ + +var re = (/x/); +if (typeof re === 'function') { + Function.prototype.apply.call(re, undefined, ['x']); +} else { + try { + Function.prototype.bind.call(re, undefined); + $FAIL('#1: If IsCallable(func) is false, ' + + 'then (bind should) throw a TypeError exception'); + } catch (e) { + if (!(e instanceof TypeError)) { + $ERROR('#1: TypeError expected. Actual: ' + e); + } + } +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A13.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A13.js new file mode 100644 index 000000000..6dcf1f960 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A13.js @@ -0,0 +1,11 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.4_A13; +* @section: 15.3.4.4; +* @assertion: If IsCallable(func) is false, then throw a TypeError exception. +* @negative TypeError; +*/ + +Function.prototype.call.call(undefined, {}); diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A14.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A14.js new file mode 100644 index 000000000..88a8ae002 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A14.js @@ -0,0 +1,11 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.4_A14; +* @section: 15.3.4.4; +* @assertion: If IsCallable(func) is false, then throw a TypeError exception. +* @negative TypeError; +*/ + +Function.prototype.call.call(null, {}); diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A15.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A15.js new file mode 100644 index 000000000..d337793eb --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A15.js @@ -0,0 +1,11 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.4_A15; +* @section: 15.3.4.4; +* @assertion: If IsCallable(func) is false, then throw a TypeError exception. +* @negative TypeError; +*/ + +Function.prototype.call.call({}, {}); diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A16.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A16.js new file mode 100644 index 000000000..2333f4ec4 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A16.js @@ -0,0 +1,27 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.4_A16; +* @section: 15.3.4.4; +* @assertion: If IsCallable(func) is false, then throw a TypeError exception. +* @description: A RegExp is not a function, but it may be +* callable. Iff it is, it's typeof should be 'function', +* in which case call should accept it as a valid this +* value. +*/ + +var re = (/x/); +if (typeof re === 'function') { + Function.prototype.call.call(re, undefined, 'x'); +} else { + try { + Function.prototype.bind.call(re, undefined); + $FAIL('#1: If IsCallable(func) is false, ' + + 'then (bind should) throw a TypeError exception'); + } catch (e) { + if (!(e instanceof TypeError)) { + $ERROR('#1: TypeError expected. Actual: ' + e); + } + } +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A1.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A1.js new file mode 100644 index 000000000..c58334ba2 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A1.js @@ -0,0 +1,15 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.5_A1; +* @section: 15.3.4.5; +* @assertion: "caller" of bound function is poisoned (step 20); +* @description A bound function should fail to find its "caller"; +* @negative TypeError; +*/ + +function foo() { return bar.caller; } +var bar = foo.bind({}); +function baz() { return bar(); } +baz(); diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A13.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A13.js new file mode 100644 index 000000000..9b677d8cd --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A13.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.5_A13; +* @section: 15.3.4.5; +* @assertion: If IsCallable(func) is false, then throw a TypeError exception. +* @negative TypeError; +*/ + +Function.prototype.bind.call(undefined, {}); + diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A14.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A14.js new file mode 100644 index 000000000..f3b209f24 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A14.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.5_A14; +* @section: 15.3.4.5; +* @assertion: If IsCallable(func) is false, then throw a TypeError exception. +* @negative TypeError; +*/ + +Function.prototype.bind.call(null, {}); + diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A15.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A15.js new file mode 100644 index 000000000..281983a64 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A15.js @@ -0,0 +1,12 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.5_A15; +* @section: 15.3.4.5; +* @assertion: If IsCallable(func) is false, then throw a TypeError exception. +* @negative TypeError; +*/ + +Function.prototype.bind.call({}, {}); + diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A16.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A16.js new file mode 100644 index 000000000..c0d57b81a --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A16.js @@ -0,0 +1,27 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.5_A16; +* @section: 15.3.4.5; +* @assertion: If IsCallable(func) is false, then throw a TypeError exception. +* @description: A RegExp is not a function, but it may be +* callable. Iff it is, it's typeof should be 'function', +* in which case bind should accept it as a valid this +* value. +*/ + +var re = (/x/); +if (typeof re === 'function') { + Function.prototype.bind.call(re, undefined); +} else { + try { + Function.prototype.bind.call(re, undefined); + $FAIL('#1: If IsCallable(func) is false, ' + + 'then (bind should) throw a TypeError exception'); + } catch (e) { + if (!(e instanceof TypeError)) { + $ERROR('#1: TypeError expected. Actual: ' + e); + } + } +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A2.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A2.js new file mode 100644 index 000000000..08e3489a5 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A2.js @@ -0,0 +1,16 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4.5_A1; +* @section: 15.3.4.5; +* @assertion: "arguments" of bound function is poisoned (step 21); +* @description a bound function should fail to find the bound function +* "arguments"; +* @negative TypeError; +*/ + +function foo() { return bar.arguments; } +var bar = foo.bind({}); +function baz() { return bar(); } +baz(); diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js index cfafdb143..4f4639648 100644 --- a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js @@ -1,17 +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.3.4_A1;
-* @section: 15.3.4;
-* @assertion: The Function prototype object is itself a Function object (its [[Class]] is "Function");
-* @description: first we delete Function.prototype.toString cause it overrides Object prototype toString.
-* Object.prototype.toString returns [object+[[class]]+];
-*/
-
-delete Function.prototype.toString;
-
-//CHECK#1
-if (Function.prototype.toString() !== "[object "+"Function"+"]") {
- $ERROR('#1: The Function prototype object is itself a Function object (its [[Class]] is "Function")');
-}
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4_A1; +* @section: 15.3.4; +* @assertion: The Function prototype object is itself a Function +* object (its [[Class]] is "Function"); +* @description: Object.prototype.toString returns [object+[[Class]]+]; +*/ + +if (Object.prototype.toString.call(Function.prototype) !== "[object Function]") { + $ERROR('#2: The Function prototype object is itself a Function ' + + 'object (its [[Class]] is "Function") (15.3.4)'); +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js index cde3f50f4..423bf92f1 100644 --- a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js @@ -1,21 +1,17 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S15.3.4_A3_T1;
-* @section: 15.3.4, 15.3.2.1;
-* @assertion: The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.2.1);
-* @description: Checking prototype of Function.prototype;
-*/
-
-//CHECK#1
-if (!(Object.prototype.isPrototypeOf(Function.prototype))) {
- $ERROR('#1: The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.2.1)');
-}
-
-delete Function.prototype.toString;
-
-//CHECK#2
-if (Function.prototype.toString() !== "[object "+"Function"+"]") {
- $ERROR('#2: The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.2.1)');
-}
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.4_A3_T1; +* @section: 15.3.4; +* @assertion: The value of the internal [[Prototype]] property of the +* Function prototype object is the Object prototype object +* (15.3.4); +* @description: Checking prototype of Function.prototype; +*/ + +if (Object.getPrototypeOf(Function.prototype) !== Object.prototype) { + $ERROR('#1: The value of the internal [[Prototype]] property of ' + + 'the Function prototype object is the Object prototype ' + + 'object (15.3.4)'); +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js index 88efb7e45..9f23a6efc 100644 --- a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js @@ -1,21 +1,23 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S15.3.5.1_A1_T1;
-* @section: 15.3.5.1;
-* @assertion: The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function;
-* @description: Checking length property of Function("arg1,arg2,arg3", null);
-*/
-
-f = new Function("arg1,arg2,arg3", null);
-
-//CHECK#1
-if (!(f.hasOwnProperty('length'))) {
- $FAIL('#1: the function has length property.');
-}
-
-//CHECK#2
-if (f.length !== 3) {
- $ERROR('#2: The value of the length property is usually an integer that indicates the "typical" number of arguments expected by the function');
-}
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.5.1_A1_T1; +* @section: 15.3.5.1; +* @assertion: The value of the length property is usually an integer +* that indicates the 'typical' number of arguments +* expected by the function; +* @description: Checking length property of Function("arg1,arg2,arg3", null); +*/ + +f = new Function("arg1,arg2,arg3", null); + +//CHECK#1 +if (!(f.hasOwnProperty('length'))) { + $FAIL('#1: the function has length property.'); +} + +//CHECK#2 +if (f.length !== 3) { + $ERROR('#2: The value of the length property is usually an integer that indicates the "typical" number of arguments expected by the function'); +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js index 88a0493d3..51444367a 100644 --- a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js @@ -1,20 +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.3.5_A1_T1;
-* @section: 15.3.5;
-* @assertion: The value of the [[Class]] property is "Function" ;
-* @description: We delete Function.prototype.toString method to access Object.prototype.toString method.
-* For testing use variable f = new Function;
-*/
-
-f = new Function;
-
-delete Function.prototype.toString;
-
-//CHECK#1
-if (f.toString() !== "[object "+"Function"+"]") {
- $ERROR('#1: The value of the [[Class]] property is "Function"');
-}
-
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.5_A1_T1; +* @section: 15.3.5; +* @assertion: The value of the [[Class]] property is "Function"; +* @description: For testing use variable f = new Function; +*/ + +var f = new Function; + +if (Object.prototype.toString.call(f) !== "[object Function]") { + $ERROR('#1: The value of the [[Class]] property is "Function"'); +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js index c5165874b..893dbc3ae 100644 --- a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js +++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js @@ -1,20 +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.3.5_A1_T2;
-* @section: 15.3.5;
-* @assertion: The value of the [[Class]] property is "Function" ;
-* @description: We delete Function.prototype.toString method to access Object.prototype.toString method
-* For testing use variable f = Function();
-*/
-
-f = Function();
-
-delete Function.prototype.toString;
-
-//CHECK#1
-if (f.toString() !== "[object "+"Function"+"]") {
- $ERROR('#1: The value of the [[Class]] property is "Function"');
-}
-
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.3.5_A1_T2; +* @section: 15.3.5; +* @assertion: The value of the [[Class]] property is "Function" ; +* @description: For testing use variable f = Function(); +*/ + +var f = Function(); + +if (Object.prototype.toString.call(f) !== "[object Function]") { + $ERROR('#1: The value of the [[Class]] property is "Function"'); +} + diff --git a/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A8.js b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A8.js new file mode 100644 index 000000000..b32842a7b --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A8.js @@ -0,0 +1,24 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.4.4.11_A8; +* @section: 15.4.4.11; +* @assertion: Call the comparefn passing undefined as the this value +* (step 13b); +* @description: comparefn tests that its this value is undefined; +*/ + +var global = this; +[2,3].sort(function(x,y) { + "use strict"; + + if (this === global) { + $FAIL('#1: Sort leaks global'); + } + if (this !== undefined) { + $FAIL('#2: Sort comparefn should be called with this===undefined. ' + + 'Actual: ' + this); + } + return x - y; +}); diff --git a/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A1.js b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A1.js new file mode 100644 index 000000000..8497a0cdc --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A1.js @@ -0,0 +1,11 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.4.4.18_A1; + * @section: 15.4.4.18; + * @assertion: array.forEach can be frozen while in progress + * @description: Freezes array.forEach during a forEach to see if it works +*/ + +['z'].forEach(function(){ Object.freeze(Array.prototype.forEach); }); diff --git a/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A2.js b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A2.js new file mode 100644 index 000000000..e22dc1fbf --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A2.js @@ -0,0 +1,14 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.4.4.18_A2; + * @section: 15.4.4.18; + * @assertion: array.forEach can be frozen while in progress + * @description: Freezes array.forEach during a forEach to see if it works +*/ + +function foo() { + ['z'].forEach(function(){ Object.freeze(Array.prototype.forEach); }); +} +foo(); diff --git a/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js index 259509ecd..e038e553d 100644 --- a/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js +++ b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js @@ -1,17 +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.4.4_A1.1_T2;
- * @section: 15.4.4, 11.4.1;
- * @assertion: The value of the internal [[Prototype]] property of
- * the Array prototype object is the Object prototype object;
- * @description: delete Array.prototype.toString;
- * @strict_mode_negative
-*/
-
-//CHECK#1
-delete Array.prototype.toString;
-if (Array.prototype.toString() !== "[object " + "Array" + "]") {
- $ERROR('#1: delete Array.prototype.toString; var Array.prototype = Object(); Array.prototype.toString() === "[object " + "Array" + "]". Actual: ' + (Array.prototype.toString()));
-}
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * @name: S15.4.4_A1.1_T2; + * @section: 15.4.4; + * @assertion:The Array prototype object is itself an array; its +* [[Class]] is "Array", +*/ + +//CHECK#1 +if (Object.prototype.toString.call(Array.prototype) !== "[object Array]") { + $ERROR('The Array prototype object is itself an array; its' + + '[[Class]] is "Array".'); +} diff --git a/test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A12.js b/test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A12.js new file mode 100644 index 000000000..bfc32db70 --- /dev/null +++ b/test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A12.js @@ -0,0 +1,23 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.5.4.11_A12; +* @section: 15.5.4.11; +* @assertion: Call replaceValue passing undefined as the this value; +* @description: replaceValue tests that its this value is undefined; +*/ + +var global = this; +'x'.replace(/x/, function() { + "use strict"; + + if (this === global) { + $FAIL('#1: String replace leaks global'); + } + if (this !== undefined) { + $FAIL('#2: replaceValue should be called with this===undefined. ' + + 'Actual: ' + this); + } + return 'y'; +}); diff --git a/test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T1.js b/test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T1.js index c36c8847b..36b70ebd2 100644 --- a/test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T1.js +++ b/test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T1.js @@ -1,24 +1,21 @@ -// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S15.5.4.8_A1_T1;
-* @section: 15.5.4.8;
-* @assertion: String.prototype.lastIndexOf(searchString, position);
-* @description: Arguments are false and true, and instance is object;
-*/
-
-var __instance = new Object(true);
-
-//Test262 Change
-//var __instance.lastIndexOf = String.prototype.lastIndexOf;
-__instance.lastIndexOf = String.prototype.lastIndexOf;
-
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#1
-if (__instance.lastIndexOf(true, false) !== 0) {
- $ERROR('#1: __instance = new Object(true); __instance.lastIndexOf = String.prototype.lastIndexOf; __instance.lastIndexOf(true, false) === 0. Actual: '+__instance.lastIndexOf(true, false) );
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.5.4.8_A1_T1; +* @section: 15.5.4.8; +* @assertion: String.prototype.lastIndexOf(searchString, position); +* @description: Arguments are false and true, and instance is object; +*/ + +var __instance = new Object(true); + +var __instance.lastIndexOf = String.prototype.lastIndexOf; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (__instance.lastIndexOf(true, false) !== 0) { + $ERROR('#1: __instance = new Object(true); __instance.lastIndexOf = String.prototype.lastIndexOf; __instance.lastIndexOf(true, false) === 0. Actual: '+__instance.lastIndexOf(true, false) ); +} +// +////////////////////////////////////////////////////////////////////////////// |