84 IE Test Center test cases had corrupted 'path' properties in

their test case objects.  Created an automated tool, FixPathsAndIds.py,
to fix these.

TestCasePackager.py no longer throws when it encounters a non-*.js
file where it expects test cases.  Instead, it simply ignores it.
This commit is contained in:
David Fugate 2011-03-30 09:48:29 -07:00
parent 58fbb10d21
commit 09186bafb4
95 changed files with 278 additions and 94 deletions

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "7.8.5-1",
path: "TestCases/chapter7/7.8.5/7.8.5-1.js",
path: "TestCases/chapter07/7.8/7.8.5/7.8.5-1.js",
description: "Literal RegExp Objects - SyntaxError exception is thrown if the RegularExpressionNonTerminator position of a RegularExpressionBackslashSequence is a LineTerminator.",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "11.8.2-1",
path: "TestCases/chapter11/11.8/11.8.2-1.js",
path: "TestCases/chapter11/11.8/11.8.2/11.8.2-1.js",
description: "11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: valueOf > valueOf",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "11.8.2-2",
path: "TestCases/chapter11/11.8/11.8.2-2.js",
path: "TestCases/chapter11/11.8/11.8.2/11.8.2-2.js",
description: "11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: valueOf > toString",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "11.8.2-3",
path: "TestCases/chapter11/11.8/11.8.2-3.js",
path: "TestCases/chapter11/11.8/11.8.2/11.8.2-3.js",
description: "11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: toString > valueOf",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "11.8.2-4",
path: "TestCases/chapter11/11.8/11.8.2-4.js",
path: "TestCases/chapter11/11.8/11.8.2/11.8.2-4.js",
description: "11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: toString > toString",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "11.8.3-1",
path: "TestCases/chapter11/11.8/11.8.2-1.js",
path: "TestCases/chapter11/11.8/11.8.3/11.8.3-1.js",
description: "11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: valueOf <= valueOf",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "11.8.3-2",
path: "TestCases/chapter11/11.8/11.8.3-2.js",
path: "TestCases/chapter11/11.8/11.8.3/11.8.3-2.js",
description: "11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: valueOf <= toString",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "11.8.3-3",
path: "TestCases/chapter11/11.8/11.8.3-3.js",
path: "TestCases/chapter11/11.8/11.8.3/11.8.3-3.js",
description: "11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: toString <= valueOf",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "11.8.3-4",
path: "TestCases/chapter11/11.8/11.8.3-4.js",
path: "TestCases/chapter11/11.8/11.8.3/11.8.3-4.js",
description: "11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: toString <= toString",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "11.8.3-5",
path: "TestCases/chapter11/11.8/11.8.3-5.js",
path: "TestCases/chapter11/11.8/11.8.3/11.8.3-5.js",
description: "11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: valueOf <= valueOf",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "15.10.2.15-3-1",
path: "TestCases/15.10.2.15-3-1.js",
path: "TestCases/chapter15/15.10/15.10.2/15.10.2.15-3-1.js",
description: "Pattern - SyntaxError was thrown when 'A' does not contain exactly one character (15.10.2.5 step 3)",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "15.10.2.15-3-2",
path: "TestCases/15.10.2.15-3-2.js",
path: "TestCases/chapter15/15.10/15.10.2/15.10.2.15-3-2.js",
description: "Pattern - SyntaxError was thrown when 'B' does not contain exactly one character (15.10.2.5 step 3)",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "15.10.2.15-6-1",
path: "TestCases/15.10.2.15-6-1.js",
path: "TestCases/chapter15/15.10/15.10.2/15.10.2.15-6-1.js",
description: "Pattern - SyntaxError was thrown when one character in CharSet 'A' greater than one character in CharSet 'B' (15.10.2.15 CharacterRange step 6)",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "15.10.2.2-1",
path: "TestCases/15.10.2.2-1.js",
path: "TestCases/chapter15/15.10/15.10.2/15.10.2.2-1.js",
description: "Pattern - SyntaxError was thrown when compile a pattern",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "15.10.2.5-3-1",
path: "TestCases/15.10.2.5-3-1.js",
path: "TestCases/chapter15/15.10/15.10.2/15.10.2.5-3-1.js",
description: "Term - SyntaxError was thrown when max is finite and less than min (15.10.2.5 step 3)",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.10.4.1-1",
path: "TestCases/chapter15/15.10/15.10.4.1/15.10.4.1-1.js",
path: "TestCases/chapter15/15.10/15.10.4/15.10.4.1-1.js",
description: "RegExp - the thrown error is TypeError instead of RegExpError when pattern is an object whose [[Class]] property is 'RegExp' and flags is not undefined ",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.10.4.1-2",
path: "TestCases/chapter15/15.10/15.10.4.1/15.10.4.1-2.js",
path: "TestCases/chapter15/15.10/15.10.4/15.10.4.1-2.js",
description: "RegExp - the thrown error is SyntaxError instead of RegExpError when the characters of 'P' do not have the syntactic form Pattern",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.10.4.1-3",
path: "TestCases/chapter15/15.10/15.10.4.1/15.10.4.1-3.js",
path: "TestCases/chapter15/15.10/15.10.4/15.10.4.1-3.js",
description: "RegExp - the thrown error is SyntaxError instead of RegExpError when 'F' contains any character other than 'g', 'i', or 'm' ",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.10.4.1-4",
path: "TestCases/chapter15/15.10/15.10.4.1/15.10.4.1-4.js",
path: "TestCases/chapter15/15.10/15.10.4/15.10.4.1-4.js",
description: "RegExp - the SyntaxError is not thrown when flags is 'gim'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-0-1",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-1.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js",
description: "The JSON lexical grammar treats whitespace as a token seperator",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-0-2",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-2.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js",
description: "<VT> is not valid JSON whitespace as specified by the production JSONWhitespace.",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-0-3",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-3.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js",
description: "<FF> is not valid JSON whitespace as specified by the production JSONWhitespace.",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-0-4",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-4.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js",
description: "<NBSP> is not valid JSON whitespace as specified by the production JSONWhitespace.",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-0-5",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-5.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js",
description: "<ZWSPP> is not valid JSON whitespace as specified by the production JSONWhitespace.",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-0-6",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-6.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js",
description: "<BOM> is not valid JSON whitespace as specified by the production JSONWhitespace.",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-0-7",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-7.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js",
description: "other category z spaces are not valid JSON whitespace as specified by the production JSONWhitespace.",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-0-8",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-8.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js",
description: "U+2028 and U+2029 are not valid JSON whitespace as specified by the production JSONWhitespace.",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-0-9",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-9.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js",
description: "Whitespace characters can appear before/after any JSONtoken",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g1-1",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g1-1.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js",
description: "The JSON lexical grammar treats <TAB> as a whitespace character",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g1-2",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g1-2.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js",
description: "The JSON lexical grammar treats <CR> as a whitespace character",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g1-3",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g1-3.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js",
description: "The JSON lexical grammar treats <LF> as a whitespace character",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g1-4",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g1-4.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js",
description: "The JSON lexical grammar treats <SP> as a whitespace character",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g2-1",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g2-1.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-1.js",
description: "JSONStrings can be written using double quotes",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g2-2",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g2-2.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js",
description: "A JSONString may not be delimited by single quotes ",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g2-3",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g2-3.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js",
description: "A JSONString may not be delimited by Uncode escaped quotes ",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g2-4",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g2-4.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js",
description: "A JSONString must both begin and end with double quotes",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g2-5",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g2-5.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-5.js",
description: "A JSONStrings can contain no JSONStringCharacters (Empty JSONStrings)",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g4-1",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g4-1.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js",
description: "The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0000 thru U+0007",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g4-2",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g4-2.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js",
description: "The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0008 thru U+000F",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g4-3",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g4-3.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js",
description: "The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0010 thru U+0017",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g4-4",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g4-4.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js",
description: "The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0018 thru U+001F",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g5-1",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g5-1.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-1.js",
description: "The JSON lexical grammar allows Unicode escape sequences in a JSONString",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g5-2",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g5-2.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js",
description: "A JSONStringCharacter UnicodeEscape may not have fewer than 4 hex characters",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g5-3",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g5-3.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js",
description: "A JSONStringCharacter UnicodeEscape may not include any non=hex characters",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g6-1",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g6-1.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-1.js",
description: "The JSON lexical grammer allows '/' as a JSONEscapeCharacter after '\' in a JSONString",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g6-2",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g6-2.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-2.js",
description: "The JSON lexical grammer allows '\' as a JSONEscapeCharacter after '\' in a JSONString",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g6-3",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g6-3.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-3.js",
description: "The JSON lexical grammer allows 'b' as a JSONEscapeCharacter after '\' in a JSONString",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g6-4",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g6-4.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-4.js",
description: "The JSON lexical grammer allows 'f' as a JSONEscapeCharacter after '\' in a JSONString",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g6-5",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g6-5.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-5.js",
description: "The JSON lexical grammer allows 'n' as a JSONEscapeCharacter after '\' in a JSONString",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g6-6",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g6-6.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-6.js",
description: "The JSON lexical grammer allows 'r' as a JSONEscapeCharacter after '\' in a JSONString",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.12.1.1-g6-7",
path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g6-7.js",
path: "TestCases/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-7.js",
description: "The JSON lexical grammer allows 't' as a JSONEscapeCharacter after '\' in a JSONString",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "15.12.2-2-5",
path: "TestCases/chapter15/15.12/15.12.2/15.12.2-5.js",
path: "TestCases/chapter15/15.12/15.12.2/15.12.2-2-5.js",
description: "JSON.parse - parsing an object where property name middles with a null character",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "15.2.3.6-4-573",
path: "TestCases/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-573",
path: "TestCases/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-573.js",
description: "ES5 Attributes - [[Set]] attribute is a function which has one argument",

View File

@ -21,7 +21,7 @@
ES5Harness.registerTest({
id: "15.2.3.6-4-574",
path: "TestCases/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574",
path: "TestCases/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574.js",
description: "ES5 Attributes - [[Set]] attribute is a function which has two arguments",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-1",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-1.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-1.js",
description: "[[Call]] - 'F''s [[BoundArgs]] is used as the former part of arguments of calling the [[Call]] internal method of 'F''s [[TargetFunction]] when 'F' is called",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-10",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-10.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-10.js",
description: "[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and with 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-11",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-11.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-11.js",
description: "[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and with 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-12",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-12.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-12.js",
description: "[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 2, and with 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-13",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-13.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-13.js",
description: "[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0, and with 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-14",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-14.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-14.js",
description: "[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1, and with 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-15",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-15.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-15.js",
description: "[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 2, length of 'ExtraArgs' is 0, and with 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-2",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-2.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-2.js",
description: "[[Call]] - 'F''s [[BoundThis]] is used as the 'this' value of calling the [[Call]] internal method of 'F''s [[TargetFunction]] when 'F' is called",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-3",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-3.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-3.js",
description: "[[Call]] - the provided arguments is used as the latter part of arguments of calling the [[Call]] internal method of 'F''s [[TargetFunction]] when 'F' is called",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-4",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-4.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-4.js",
description: "[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and without 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-5",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-5.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-5.js",
description: "[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and without 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-6",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-6.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-6.js",
description: "[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and with 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-7",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-7.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-7.js",
description: "[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0, and with 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-8",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-8.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-8.js",
description: "[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and with 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.1-4-9",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.1/15.3.4.5.1-4-9.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-9.js",
description: "[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1, and with 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.2-4-1",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.2/15.3.4.5.2-4-1.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-1.js",
description: "[[Construct]] - 'F''s [[BoundArgs]] is used as the former part of arguments of calling the [[Construct]] internal method of 'F''s [[TargetFunction]] when 'F' is called as constructor",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.2-4-10",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.2/15.3.4.5.2-4-10.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-10.js",
description: "[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.2-4-11",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.2/15.3.4.5.2-4-11.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-11.js",
description: "[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 2",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.2-4-12",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.2/15.3.4.5.2-4-12.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-12.js",
description: "[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.2-4-13",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.2/15.3.4.5.2-4-13.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-13.js",
description: "[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.2-4-14",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.2/15.3.4.5.2-4-14.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-14.js",
description: "[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 2, length of 'ExtraArgs' is 0",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.2-4-2",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.2/15.3.4.5.2-4-2.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-2.js",
description: "[[Construct]] - the provided arguments is used as the latter part of arguments of calling the [[Construct]] internal method of 'F''s [[TargetFunction]] when 'F' is called as constructor",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.2-4-3",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.2/15.3.4.5.2-4-3.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-3.js",
description: "[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and without 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.2-4-4",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.2/15.3.4.5.2-4-4.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-4.js",
description: "[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and without 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.2-4-5",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.2/15.3.4.5.2-4-5.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-5.js",
description: "[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and with 'boundThis'",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.2-4-6",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.2/15.3.4.5.2-4-6.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-6.js",
description: "[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.2-4-7",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.2/15.3.4.5.2-4-7.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-7.js",
description: "[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.2-4-8",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.2/15.3.4.5.2-4-8.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-8.js",
description: "[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest({
id: "15.3.4.5.2-4-9",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5.2/15.3.4.5.2-4-9.js",
path: "TestCases/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-9.js",
description: "[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0",

View File

@ -22,7 +22,7 @@
ES5Harness.registerTest( {
id: "15.7.4-1",
path: "TestCases/chapter15/15.7/15.7.3/15.7.4/15.7.4-1.js",
path: "TestCases/chapter15/15.7/15.7.4/15.7.4-1.js",
description: "Number prototype object: its [[Class]] must be 'Number'",

View File

@ -99,8 +99,8 @@ def getJSCount(dirName):
tempList = [os.path.join(dirName, x) for x in os.listdir(dirName)]
for x in tempList:
retVal += getJSCount(x)
else:
raise Exception("getJSCount: encountered a non-file/non-dir!")
#else:
# raise Exception("getJSCount: encountered a non-file/non-dir!")
return retVal
#------------------------------------------------------------------------------

View File

@ -0,0 +1,80 @@
#--Imports---------------------------------------------------------------------
import argparse
import os
import sys
import re
#--Globals---------------------------------------------------------------------
PRE_PATH = "TestCases/"
#------------------------------------------------------------------------------
def getAllJSFiles(dirName):
'''
Returns all JS files under dirName
'''
retVal = []
if os.path.isfile(dirName) and dirName.endswith(".js"):
retVal = [dirName]
elif os.path.isdir(dirName):
tempList = [os.path.join(dirName, x) for x in os.listdir(dirName)]
for x in tempList:
retVal += getAllJSFiles(x)
#else:
# raise Exception("getAllJSFiles: encountered a non-file/non-dir:" + dirName)
return retVal
#------------------------------------------------------------------------------
def handleFile(filePath, partialPath):
global PRE_PATH
tempPath = filePath.replace(partialPath + os.path.sep, "", 1)
tempPath = tempPath.replace(os.path.sep, "/")
tempId = tempPath.rsplit("/", 1)[1][:-3]
with open(filePath, "r") as f:
origLines = f.readlines()
with open(filePath, "w") as f:
pathHit = False
idHit = False
testHit = False
descriptHit = False
for line in origLines:
#TODO?
#if (not testHit) and re.match("^$", line)!=None:
# #Throw away empty lines until we hit the first test function
# continue
#elif (not testHit) and re.search("test\s*:\s*function\s+testcase\(\)", line)!=None:
# testHit = True
# line = line.rstrip() + os.linesep
if (not pathHit) and re.search("path\s*:\s*\"", line)!=None:
pathHit = True
line = re.sub("\"[^\"]*\"",
"\"%s\"" % (PRE_PATH + tempPath),
line)
elif (not idHit) and re.search("id\s*:\s*\"", line)!=None:
idHit = True
line = re.sub("\"[^\"]*\"",
"\"%s\"" % tempId,
line)
#TODO?
#elif (not descriptHit) and re.search("description\s*:\s*\"", line)!=None:
# descriptHit = True
# line = line.strip() + os.linesep
f.write(line)
#--Main------------------------------------------------------------------------
if __name__=="__main__":
__parser = argparse.ArgumentParser(description='Tool used to fix the id and path properties of test case objects')
__parser.add_argument('tpath', action='store',
help='Full path to test cases. E.g., C:\repos\test262-msft\test\suite\ietestcenter')
ARGS = __parser.parse_args()
if not os.path.exists(ARGS.tpath):
print "Cannot fix tests in '%s' when it doesn't exist!" % ARGS.tpath
sys.exit(1)
ALL_JS_FILES = getAllJSFiles(ARGS.tpath)
for fileName in ALL_JS_FILES:
handleFile(fileName, ARGS.tpath)
print "Done!"

104
tools/misc/move_test.py Normal file
View File

@ -0,0 +1,104 @@
#--Imports---------------------------------------------------------------------
import argparse
import os
import sys
import re
#--Globals---------------------------------------------------------------------
PRE_PATH = "TestCases/"
#------------------------------------------------------------------------------
def getAllJSFiles(dirName):
'''
Returns all JS files under dirName
'''
retVal = []
if os.path.isfile(dirName) and dirName.endswith(".js"):
retVal = [dirName]
elif os.path.isdir(dirName):
tempList = [os.path.join(dirName, x) for x in os.listdir(dirName)]
for x in tempList:
retVal += getAllJSFiles(x)
#else:
# raise Exception("getAllJSFiles: encountered a non-file/non-dir:" + dirName)
return retVal
#------------------------------------------------------------------------------
def handleFile(filePath, partialPath):
global PRE_PATH
tempPath = filePath.replace(partialPath + os.path.sep, "", 1)
tempPath = tempPath.replace(os.path.sep, "/")
tempId = tempPath.rsplit("/", 1)[1][:-3]
with open(filePath, "r") as f:
origLines = f.readlines()
with open(filePath, "w") as f:
pathHit = False
idHit = False
testHit = False
descriptHit = False
for line in origLines:
if (not testHit) and re.match("^$", line)!=None:
#Throw away empty lines until we hit the first test function
continue
elif (not testHit) and re.search("test\s*:\s*function\s+testcase\(\)", line)!=None:
testHit = True
line = line.rstrip() + os.linesep
elif (not pathHit) and re.search("path\s*:\s*\"", line)!=None:
pathHit = True
line = "path: \"%s\",%s" % (PRE_PATH + tempPath, os.linesep)
elif (not idHit) and re.search("id\s*:\s*\"", line)!=None:
idHit = True
line = "id: \"%s\",%s" % (tempId, os.linesep)
elif (not descriptHit) and re.search("description\s*:\s*\"", line)!=None:
descriptHit = True
line = line.strip() + os.linesep
f.write(line)
def getPartialPath(tc):
tc = os.path.splitext(os.path.basename(tc))[0]
if not ("-" in tc):
print "'-' not detected in '%s'; cannot continue!" % tc
sys.exit(1)
elif not ("." in tc):
tc = tc.replace("-", ".0-", 1)
#Generate the partial path of the test case
tempList = tc.split("-",1)[0].split(".")
partialPath = ""
for i in xrange(1, len(tempList)+1):
partialPath += ".".join(tempList[0:i]) + os.path.sep
partialPath = os.path.join(partialPath, tc + ".js")
if partialPath.index(os.path.sep)==1:
partialPath = "chapter0" + partialPath
elif partialPath.index(os.path.sep)==2:
partialPath = "chapter" + partialPath
return partialPath
#--Main------------------------------------------------------------------------
if __name__=="__main__":
__parser = argparse.ArgumentParser(description='Tool used to fix the id and path properties of test case objects')
__parser.add_argument('path', action='store',
help='Full path to test cases. E.g., C:\repos\test262-msft\test\suite\ietestcenter')
__parser.add_argument('add', action='store',
help='Command used to add a test file to source control')
__parser.add_argument('del', action='store',
help='Command used to remove a test file from source control')
__parser.add_argument('tc', action='store',
help='test case to move')
ARGS = __parser.parse_args()
if not os.path.exists(ARGS.path):
print "Cannot fix tests in '%s' when it doesn't exist!" % ARGS.path
sys.exit(1)
elif not os.path.isfile(ARGS.tc):
print "Cannot move '%s' when it doesn't exist!" % ARGS.tc
partialPath = getPartialPath(ARGS.tc)
print "Done!", partialPath

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"testsCollection":{"name":"Chapter - 15.7","numTests":"5","tests":[{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS43LjMtMSIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS43LzE1LjcuMy8xNS43LjMtMS5qcyIsCgpkZXNjcmlwdGlvbjogIk51bWJlciBjb25zdHJ1Y3RvciAtIFtbUHJvdG90eXBlXV0gaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKE51bWJlcikgPT09IHRydWUpIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0KfSk7Cg==","id":"15.7.3-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS43LjMtMiIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS43LzE1LjcuMy8xNS43LjMtMi5qcyIsCgpkZXNjcmlwdGlvbjogIk51bWJlciBjb25zdHJ1Y3RvciAtIFtbUHJvdG90eXBlXV0gaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgKHVzaW5nIGdldFByb3RvdHlwZU9mKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgcCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihOdW1iZXIpOwogIGlmIChwID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKTsKIH0KfSk7Cg==","id":"15.7.3-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS43LjMuMS0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjcvMTUuNy4zLzE1LjcuMy4xLzE1LjcuMy4xLTEuanMiLAoKZGVzY3JpcHRpb246ICJOdW1iZXIucHJvdG90eXBlIGlzIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoZmFsc2UpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIHZhciBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIsICdwcm90b3R5cGUnKTsKICAKICBpZiAoZC53cml0YWJsZSA9PT0gZmFsc2UgJiYKICAgICAgZC5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgogICAgICBkLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CiB9Cn0pOwo=","id":"15.7.3.1-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS43LjMuMS0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjcvMTUuNy4zLzE1LjcuMy4xLzE1LjcuMy4xLTIuanMiLAoKZGVzY3JpcHRpb246ICJOdW1iZXIucHJvdG90eXBlLCBpbml0aWFsIHZhbHVlIGlzIHRoZSBOdW1iZXIgcHJvdG90eXBlIG9iamVjdCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAvLyBhc3N1bWUgdGhhdCBOdW1iZXIucHJvdG90eXBlIGhhcyBub3QgYmVlbiBtb2RpZmllZC4KICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG5ldyBOdW1iZXIoNDIpKT09PU51bWJlci5wcm90b3R5cGU7CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRQcm90b3R5cGVPZik7CiB9Cgp9KTsK","id":"15.7.3.1-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS43LjQtMSIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS43LzE1LjcuMy8xNS43LjQvMTUuNy40LTEuanMiLAoKZGVzY3JpcHRpb246ICJOdW1iZXIgcHJvdG90eXBlIG9iamVjdDogaXRzIFtbQ2xhc3NdXSBtdXN0IGJlICdOdW1iZXInIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIHZhciBudW1Qcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihuZXcgTnVtYmVyKDQyKSk7CiAgdmFyIHMgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobnVtUHJvdG8gKTsKICByZXR1cm4gKHMgPT09ICdbb2JqZWN0IE51bWJlcl0nKSA7CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRQcm90b3R5cGVPZik7CiB9Cgp9KTsK","id":"15.7.4-1"}]}}
{"testsCollection":{"name":"Chapter - 15.7","numTests":"5","tests":[{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS43LjMtMSIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS43LzE1LjcuMy8xNS43LjMtMS5qcyIsCgpkZXNjcmlwdGlvbjogIk51bWJlciBjb25zdHJ1Y3RvciAtIFtbUHJvdG90eXBlXV0gaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKE51bWJlcikgPT09IHRydWUpIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0KfSk7Cg==","id":"15.7.3-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS43LjMtMiIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS43LzE1LjcuMy8xNS43LjMtMi5qcyIsCgpkZXNjcmlwdGlvbjogIk51bWJlciBjb25zdHJ1Y3RvciAtIFtbUHJvdG90eXBlXV0gaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgKHVzaW5nIGdldFByb3RvdHlwZU9mKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgcCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihOdW1iZXIpOwogIGlmIChwID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKTsKIH0KfSk7Cg==","id":"15.7.3-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS43LjMuMS0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjcvMTUuNy4zLzE1LjcuMy4xLzE1LjcuMy4xLTEuanMiLAoKZGVzY3JpcHRpb246ICJOdW1iZXIucHJvdG90eXBlIGlzIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoZmFsc2UpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIHZhciBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIsICdwcm90b3R5cGUnKTsKICAKICBpZiAoZC53cml0YWJsZSA9PT0gZmFsc2UgJiYKICAgICAgZC5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgogICAgICBkLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcik7CiB9Cn0pOwo=","id":"15.7.3.1-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS43LjMuMS0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjcvMTUuNy4zLzE1LjcuMy4xLzE1LjcuMy4xLTIuanMiLAoKZGVzY3JpcHRpb246ICJOdW1iZXIucHJvdG90eXBlLCBpbml0aWFsIHZhbHVlIGlzIHRoZSBOdW1iZXIgcHJvdG90eXBlIG9iamVjdCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAvLyBhc3N1bWUgdGhhdCBOdW1iZXIucHJvdG90eXBlIGhhcyBub3QgYmVlbiBtb2RpZmllZC4KICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG5ldyBOdW1iZXIoNDIpKT09PU51bWJlci5wcm90b3R5cGU7CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKE9iamVjdC5nZXRQcm90b3R5cGVPZik7CiB9Cgp9KTsK","id":"15.7.3.1-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS43LjQtMSIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS43LzE1LjcuNC8xNS43LjQtMS5qcyIsCgpkZXNjcmlwdGlvbjogIk51bWJlciBwcm90b3R5cGUgb2JqZWN0OiBpdHMgW1tDbGFzc11dIG11c3QgYmUgJ051bWJlciciLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgdmFyIG51bVByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG5ldyBOdW1iZXIoNDIpKTsKICB2YXIgcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChudW1Qcm90byApOwogIHJldHVybiAocyA9PT0gJ1tvYmplY3QgTnVtYmVyXScpIDsKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKTsKIH0KCn0pOwo=","id":"15.7.4-1"}]}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"date":"2011-03-23","numTests":10440,"testSuite":["resources/scripts/testcases/07_Lexical_Conventions.json","resources/scripts/testcases/08_Types.json","resources/scripts/testcases/09_Type_Conversion.json","resources/scripts/testcases/10_Execution_Contexts.json","resources/scripts/testcases/11.10_Binary_Bitwise_Operators.json","resources/scripts/testcases/11.11_Binary_Logical_Operators.json","resources/scripts/testcases/11.12_Conditional_Operator.json","resources/scripts/testcases/11.13_Assignment_Operators.json","resources/scripts/testcases/11.14_Comma_Operator.json","resources/scripts/testcases/11.1_Primary_Expressions.json","resources/scripts/testcases/11.2_Left_Hand_Side_Expressions.json","resources/scripts/testcases/11.3_PostfixExpressions.json","resources/scripts/testcases/11.4_Unary_Operators.json","resources/scripts/testcases/11.5_Multiplicative_Operators.json","resources/scripts/testcases/11.6_Additive_Operators.json","resources/scripts/testcases/11.7_Bitwise_Shift_Operators.json","resources/scripts/testcases/11.8_Relational_Operators.json","resources/scripts/testcases/11.9_Equality_Operators.json","resources/scripts/testcases/12_Statement.json","resources/scripts/testcases/13_Function_Definition.json","resources/scripts/testcases/14_Program.json","resources/scripts/testcases/15.10_RegExp_Objects.json","resources/scripts/testcases/15.11_Error_Objects.json","resources/scripts/testcases/15.1_The_Global_Object.json","resources/scripts/testcases/15.2_Object_Objects.json","resources/scripts/testcases/15.3_Function_Objects.json","resources/scripts/testcases/15.4_Array_Objects.json","resources/scripts/testcases/15.5_String_Objects.json","resources/scripts/testcases/15.6_Boolean_Objects.json","resources/scripts/testcases/15.7_Number_Objects.json","resources/scripts/testcases/15.8_The_Math_Object.json","resources/scripts/testcases/15.9_Date_Objects.json","resources/scripts/testcases/chapter07.json","resources/scripts/testcases/chapter10.json","resources/scripts/testcases/chapter11.json","resources/scripts/testcases/chapter12.json","resources/scripts/testcases/chapter13.json","resources/scripts/testcases/15.1.json","resources/scripts/testcases/15.10.json","resources/scripts/testcases/15.11.json","resources/scripts/testcases/15.12.json","resources/scripts/testcases/15.2.3.1.json","resources/scripts/testcases/15.2.3.10.json","resources/scripts/testcases/15.2.3.11.json","resources/scripts/testcases/15.2.3.12.json","resources/scripts/testcases/15.2.3.13.json","resources/scripts/testcases/15.2.3.14.json","resources/scripts/testcases/15.2.3.2.json","resources/scripts/testcases/15.2.3.3.json","resources/scripts/testcases/15.2.3.4.json","resources/scripts/testcases/15.2.3.5.json","resources/scripts/testcases/15.2.3.6.json","resources/scripts/testcases/15.2.3.7.json","resources/scripts/testcases/15.2.3.8.json","resources/scripts/testcases/15.2.3.9.json","resources/scripts/testcases/15.2.4.json","resources/scripts/testcases/15.3.json","resources/scripts/testcases/15.4.3.json","resources/scripts/testcases/15.4.4.10.json","resources/scripts/testcases/15.4.4.12.json","resources/scripts/testcases/15.4.4.14.json","resources/scripts/testcases/15.4.4.15.json","resources/scripts/testcases/15.4.4.16.json","resources/scripts/testcases/15.4.4.17.json","resources/scripts/testcases/15.4.4.18.json","resources/scripts/testcases/15.4.4.19.json","resources/scripts/testcases/15.4.4.20.json","resources/scripts/testcases/15.4.4.21.json","resources/scripts/testcases/15.4.4.22.json","resources/scripts/testcases/15.4.4.4.json","resources/scripts/testcases/15.4.5.json","resources/scripts/testcases/15.5.json","resources/scripts/testcases/15.7.json","resources/scripts/testcases/15.9.json"],"version":"0.6.2"}
{"date":"2011-03-30","numTests":10440,"testSuite":["resources/scripts/testcases/07_Lexical_Conventions.json","resources/scripts/testcases/08_Types.json","resources/scripts/testcases/09_Type_Conversion.json","resources/scripts/testcases/10_Execution_Contexts.json","resources/scripts/testcases/11.10_Binary_Bitwise_Operators.json","resources/scripts/testcases/11.11_Binary_Logical_Operators.json","resources/scripts/testcases/11.12_Conditional_Operator.json","resources/scripts/testcases/11.13_Assignment_Operators.json","resources/scripts/testcases/11.14_Comma_Operator.json","resources/scripts/testcases/11.1_Primary_Expressions.json","resources/scripts/testcases/11.2_Left_Hand_Side_Expressions.json","resources/scripts/testcases/11.3_PostfixExpressions.json","resources/scripts/testcases/11.4_Unary_Operators.json","resources/scripts/testcases/11.5_Multiplicative_Operators.json","resources/scripts/testcases/11.6_Additive_Operators.json","resources/scripts/testcases/11.7_Bitwise_Shift_Operators.json","resources/scripts/testcases/11.8_Relational_Operators.json","resources/scripts/testcases/11.9_Equality_Operators.json","resources/scripts/testcases/12_Statement.json","resources/scripts/testcases/13_Function_Definition.json","resources/scripts/testcases/14_Program.json","resources/scripts/testcases/15.10_RegExp_Objects.json","resources/scripts/testcases/15.11_Error_Objects.json","resources/scripts/testcases/15.1_The_Global_Object.json","resources/scripts/testcases/15.2_Object_Objects.json","resources/scripts/testcases/15.3_Function_Objects.json","resources/scripts/testcases/15.4_Array_Objects.json","resources/scripts/testcases/15.5_String_Objects.json","resources/scripts/testcases/15.6_Boolean_Objects.json","resources/scripts/testcases/15.7_Number_Objects.json","resources/scripts/testcases/15.8_The_Math_Object.json","resources/scripts/testcases/15.9_Date_Objects.json","resources/scripts/testcases/chapter07.json","resources/scripts/testcases/chapter10.json","resources/scripts/testcases/chapter11.json","resources/scripts/testcases/chapter12.json","resources/scripts/testcases/chapter13.json","resources/scripts/testcases/15.1.json","resources/scripts/testcases/15.10.json","resources/scripts/testcases/15.11.json","resources/scripts/testcases/15.12.json","resources/scripts/testcases/15.2.3.1.json","resources/scripts/testcases/15.2.3.10.json","resources/scripts/testcases/15.2.3.11.json","resources/scripts/testcases/15.2.3.12.json","resources/scripts/testcases/15.2.3.13.json","resources/scripts/testcases/15.2.3.14.json","resources/scripts/testcases/15.2.3.2.json","resources/scripts/testcases/15.2.3.3.json","resources/scripts/testcases/15.2.3.4.json","resources/scripts/testcases/15.2.3.5.json","resources/scripts/testcases/15.2.3.6.json","resources/scripts/testcases/15.2.3.7.json","resources/scripts/testcases/15.2.3.8.json","resources/scripts/testcases/15.2.3.9.json","resources/scripts/testcases/15.2.4.json","resources/scripts/testcases/15.3.json","resources/scripts/testcases/15.4.3.json","resources/scripts/testcases/15.4.4.10.json","resources/scripts/testcases/15.4.4.12.json","resources/scripts/testcases/15.4.4.14.json","resources/scripts/testcases/15.4.4.15.json","resources/scripts/testcases/15.4.4.16.json","resources/scripts/testcases/15.4.4.17.json","resources/scripts/testcases/15.4.4.18.json","resources/scripts/testcases/15.4.4.19.json","resources/scripts/testcases/15.4.4.20.json","resources/scripts/testcases/15.4.4.21.json","resources/scripts/testcases/15.4.4.22.json","resources/scripts/testcases/15.4.4.4.json","resources/scripts/testcases/15.4.5.json","resources/scripts/testcases/15.5.json","resources/scripts/testcases/15.7.json","resources/scripts/testcases/15.9.json"],"version":"0.6.2"}