diff --git a/doc/test262-known-issues.yaml b/doc/test262-known-issues.yaml index 42d595f2..b6759324 100644 --- a/doc/test262-known-issues.yaml +++ b/doc/test262-known-issues.yaml @@ -1,174 +1,526 @@ -[ - { "test": "annexB/B.RegExp.prototype.compile", "knownissue": "RegExp.prototype.compile() not part of E5.1" }, - { "test": "ch07/7.8/7.8.5/S7.8.5_A1.4_T1", "knownissue": "uses invalid RegExp formats, e.g. '/\\1/' and '/\\a/'", "regexp_leniency": true }, - { "test": "ch07/7.8/7.8.5/S7.8.5_A1.4_T2", "knownissue": "uses invalid RegExp format '/\\1/' (#0031)", "regexp_leniency": true }, - { "test": "ch07/7.8/7.8.5/S7.8.5_A2.4_T1", "knownissue": "uses invalid RegExp format '/\\1/'", "regexp_leniency": true }, - { "test": "ch07/7.8/7.8.5/S7.8.5_A2.4_T2", "knownissue": "uses invalid RegExp format '/\\1/' (#0031)", "regexp_leniency": true }, - { "test": "ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.1_T1", "knownissue": "octal input to parseInt() accepted by Duktape" }, - { "test": "ch15/15.10/15.10.2/S15.10.2_A1_T1", "knownissue": "XML Shallow Parsing with Regular Expression: [^]]*]([^]]+])*]+. The intent of [^]] is probably [^\\]]. An unescaped ']' is not allowed in a character class, so the expression is parsed as [^] (empty inverted class) followed by a literal ']', which is a SyntaxError. There are two other literal ']' issues. The RegExp can be fixed to: /[^\\]]*\\]([^\\]]+\\])*\\]+/.", "regexp_leniency": true }, - { "test": "ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T5", "diagnosed": "Duktape bug, matching /(a*)b\\1+/ against 'baaaac' causes first capture to match the empty string; the '\\1+' part will then use the '+' quantifier over the empty string. As there is no handling to empty quantified now, Duktape bails out with a RangeError.", "regexp_empty_quantified": true }, - { "test": "ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T5", "diagnosed": "Duktape bug, matching /(a*)b\\1+/ against 'baaac' causes first capture to be empty, the '\\1+' part will then quantify over an empty string leading to Duktape RangeError (there is no proper handling for an empty quantified now)", "regexp_empty_quantified": true }, - { "test": "ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T3", "knownissue": "uses invalid RegExp control escape '\\cX' where X is non-ASCII", "regexp_leniency": true }, - { "test": "ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A5.1_T1", "knownissue": "possible test case bug, compiles invalid RegExp '/\\undefined/'", "regexp_leniency": true }, - { "test": "ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T16", "knownissue": "uses invalid DecimalEscape inside a character class, '/[\\12-\\14]/'" }, - { "test": "ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T7", "knownissue": "the test case has unescaped invalid PatternCharacters (^, ] {, }) which follow the escaped '\\['" }, - { "test": "ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T4", "knownissue": "invalid backreference '\\2', RegExp only has one capture; in E5.1 this is a SyntaxError", "regexp_leniency": true }, - { "test": "ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T3", "diagnosed": "probably Duktape bug related to long array corner cases or 'length' sign handling (C typing?)" }, - { "test": "ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T3", "diagnosed": "probably Duktape bug related to long array corner cases or 'length' sign handling (C typing?)" }, - { "test": "ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-9", "diagnosed": "a.indexOf(,4294967290) returns -1 for all indices n=2,3,4,5 but is supposed to return 4294967294 for n=2. The cause is long array corner case handling, possibly signed length handling (C typing?)" }, - { "test": "ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-12", "diagnosed": "probably Duktape bug: long array corner cases (C typing?)" }, - { "test": "ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-16", "diagnosed": "probably Duktape bug: long array corner cases (C typing?)" }, - { "test": "ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9", "diagnosed": "probably Duktape bug: long array corner cases (C typing?)" }, - { "test": "ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T11", "knownissue": "test case relies on locale specific Date format, Duktape uses ISO 8601 for Date toString()" }, - { "test": "ch15/15.9/15.9.3/S15.9.3.1_A5_T1", "knownissue": "apparently test case bug" }, - { "test": "ch15/15.9/15.9.3/S15.9.3.1_A5_T2", "knownissue": "apparently test case bug" }, - { "test": "ch15/15.9/15.9.3/S15.9.3.1_A5_T3", "knownissue": "apparently test case bug" }, - { "test": "ch15/15.9/15.9.3/S15.9.3.1_A5_T4", "knownissue": "apparently test case bug" }, - { "test": "ch15/15.9/15.9.3/S15.9.3.1_A5_T5", "knownissue": "apparently test case bug" }, - { "test": "ch15/15.9/15.9.3/S15.9.3.1_A5_T6", "knownissue": "apparently test case bug" }, - { "test": "ch12/12.6/12.6.4/12.6.4-2", "diagnosed": "enumeration corner case issue, see test-bug-enum-shadow-nonenumerable.js" }, - { "test": "ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574", "knownissue": "Duktape provides property name as a (intended non-standard) second parameter to setter, this testcase tests that no extra parameter is given so it breaks" }, - { "test": "ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-12", "diagnosed": "Array length over 2G, not supported right now" }, - { "test": "ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-16", "diagnosed": "Array length over 2G, not supported right now" }, - { "test": "intl402/ch06/6.2/6.2.2_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch06/6.2/6.2.2_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch06/6.2/6.2.2_c", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch06/6.2/6.2.3", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch06/6.2/6.2.4", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch06/6.3/6.3.1_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch06/6.3/6.3.1_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch06/6.4/6.4_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch06/6.4/6.4_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch06/6.4/6.4_c", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch08/8.0/8.0", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch08/8.0/8.0_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.1/9.1_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.1/9.1_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.1_1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.1_2", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.1_3", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.1_4", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.1_8_c_ii", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.1_8_c_vi", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.2", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.3_5", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.5_11_g_ii_2", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.5_6", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.6_2", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.6_4", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.6_4_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.6_4_c", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.8_1_c", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch09/9.2/9.2.8_4", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.1/10.1.1_1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.1/10.1.1_10", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.1/10.1.1_11", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.1/10.1.1_13", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.1/10.1.1_19_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.1/10.1.1_19_c", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.1/10.1.1_20", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.1/10.1.1_23", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.1/10.1.1_6", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.1/10.1.1_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.1/10.1.2.1_4", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.1/10.1.2_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.1/10.1.3", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.1/10.1_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.2/10.2.1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.2/10.2.2_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.2/10.2.2_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.2/10.2.2_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.2/10.2.3_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.3/10.3.1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.3/10.3.2_1_a_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.3/10.3.2_1_c", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.3/10.3.2_CS_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.3/10.3.2_CS_b_NN", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.3/10.3.2_CS_c_NN", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.3/10.3.2_CS_d_NN", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.3/10.3.2_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.3/10.3.3", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.3/10.3.3_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.3/10.3_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.3/10.3_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.3/10.3_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch10/10.4/10.4_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1.1_1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1.1_15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1.1_17", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1.1_19", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1.1_20_c", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1.1_21", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1.1_32", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1.1_34", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1.1_6", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1.1_7", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1.1_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1.2.1_4", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1.2", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1.3", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.1/11.1_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.2/11.2.1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.2/11.2.2_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.2/11.2.2_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.2/11.2.2_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.2/11.2.3_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3.1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3.2_1_a_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3.2_1_a_ii", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3.2_1_c", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3.2_FN_1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3.2_FN_2", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3.2_FN_3_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3.2_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3.2_TRF", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3.2_TRP", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3.3", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3.3_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.3/11.3_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch11/11.4/11.4_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.1/12.1.1_1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.1/12.1.1_18", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.1/12.1.1_22", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.1/12.1.1_23", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.1/12.1.1_25", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.1/12.1.1_5", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.1/12.1.1_6", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.1/12.1.1_TDTO", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.1/12.1.1_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.1/12.1.2.1_4", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.1/12.1.2", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.1/12.1.3", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.1/12.1_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.2/12.2.1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.2/12.2.2_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.2/12.2.2_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.2/12.2.2_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.2/12.2.3_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.2/12.2.3_c", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.3/12.3.1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.3/12.3.2_1_a_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.3/12.3.2_1_c", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.3/12.3.2_FDT_1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.3/12.3.2_FDT_7_a_iv", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.3/12.3.2_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.3/12.3.2_TLT_2", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.3/12.3.3", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.3/12.3.3_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.3/12.3_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.3/12.3_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.3/12.3_b", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch12/12.4/12.4_a", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch13/13.1/13.1.1_6_1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch13/13.1/13.1.1_6_2", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch13/13.1/13.1.1_7", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch13/13.2/13.2.1_4_1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch13/13.2/13.2.1_4_2", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch13/13.2/13.2.1_5", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch13/13.2/13.2.1_L15", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch13/13.3/13.3.0_6_1", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch13/13.3/13.3.0_6_2", "knownissue": "Intl module not part of E5.1" }, - { "test": "intl402/ch13/13.3/13.3.0_7", "knownissue": "Intl module not part of E5.1" } -] +- + test: "annexB/B.RegExp.prototype.compile" + knownissue: "RegExp.prototype.compile() not part of E5.1" +- + test: "ch07/7.8/7.8.5/S7.8.5_A1.4_T1" + knownissue: "uses invalid RegExp formats, e.g. '/\\1/' and '/\\a/'" + regexp_leniency: true +- + test: "ch07/7.8/7.8.5/S7.8.5_A1.4_T2" + knownissue": "uses invalid RegExp format '/\\1/' (#0031)" + regexp_leniency: true +- + test: "ch07/7.8/7.8.5/S7.8.5_A2.4_T1" + knownissue: "uses invalid RegExp format '/\\1/'" + regexp_leniency: true +- + test: "ch07/7.8/7.8.5/S7.8.5_A2.4_T2" + knownissue: "uses invalid RegExp format '/\\1/' (#0031)" + regexp_leniency: true +- + test: "ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.1_T1" + knownissue: "octal input to parseInt() accepted by Duktape" +- + test: "ch15/15.10/15.10.2/S15.10.2_A1_T1" + knownissue: "XML Shallow Parsing with Regular Expression: [^]]*]([^]]+])*]+. The intent of [^]] is probably [^\\]]. An unescaped ']' is not allowed in a character class, so the expression is parsed as [^] (empty inverted class) followed by a literal ']', which is a SyntaxError. There are two other literal ']' issues. The RegExp can be fixed to: /[^\\]]*\\]([^\\]]+\\])*\\]+/." + regexp_leniency: true +- + test: "ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T5" + diagnosed: "Duktape bug, matching /(a*)b\\1+/ against 'baaaac' causes first capture to match the empty string; the '\\1+' part will then use the '+' quantifier over the empty string. As there is no handling to empty quantified now, Duktape bails out with a RangeError." + regexp_empty_quantified": true +- + test: "ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T5" + diagnosed: "Duktape bug, matching /(a*)b\\1+/ against 'baaac' causes first capture to be empty, the '\\1+' part will then quantify over an empty string leading to Duktape RangeError (there is no proper handling for an empty quantified now)" + regexp_empty_quantified: true +- + test: "ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T3" + knownissue: "uses invalid RegExp control escape '\\cX' where X is non-ASCII" + regexp_leniency": true +- + test: "ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A5.1_T1" + knownissue: "possible test case bug, compiles invalid RegExp '/\\undefined/'" + regexp_leniency: true +- + test: "ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T16" + knownissue: "uses invalid DecimalEscape inside a character class, '/[\\12-\\14]/'" +- + test: "ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T7" + knownissue: "the test case has unescaped invalid PatternCharacters (^, ] {, }) which follow the escaped '\\['" +- + test: "ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T4" + knownissue: "invalid backreference '\\2', RegExp only has one capture; in E5.1 this is a SyntaxError" + regexp_leniency: true +- + test: "ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T3" + diagnosed: "probably Duktape bug related to long array corner cases or 'length' sign handling (C typing?)" +- + test: "ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T3" + diagnosed: "probably Duktape bug related to long array corner cases or 'length' sign handling (C typing?)" +- + test: "ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-9" + diagnosed: "a.indexOf(,4294967290) returns -1 for all indices n=2,3,4,5 but is supposed to return 4294967294 for n=2. The cause is long array corner case handling, possibly signed length handling (C typing?)" +- + test: "ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-12" + diagnosed: "probably Duktape bug: long array corner cases (C typing?)" +- + test: "ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-16" + diagnosed: "probably Duktape bug: long array corner cases (C typing?)" +- + test: "ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9" + diagnosed: "probably Duktape bug: long array corner cases (C typing?)" +- + test: "ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T11" + knownissue: "test case relies on locale specific Date format, Duktape uses ISO 8601 for Date toString()" +- + test: "ch15/15.9/15.9.3/S15.9.3.1_A5_T1" + knownissue: "apparently test case bug" +- + test: "ch15/15.9/15.9.3/S15.9.3.1_A5_T2" + knownissue: "apparently test case bug" +- + test: "ch15/15.9/15.9.3/S15.9.3.1_A5_T3" + knownissue: "apparently test case bug" +- + test: "ch15/15.9/15.9.3/S15.9.3.1_A5_T4" + knownissue: "apparently test case bug" +- + test: "ch15/15.9/15.9.3/S15.9.3.1_A5_T5" + knownissue: "apparently test case bug" +- + test: "ch15/15.9/15.9.3/S15.9.3.1_A5_T6" + knownissue: "apparently test case bug" +- + test: "ch12/12.6/12.6.4/12.6.4-2" + diagnosed: "enumeration corner case issue, see test-bug-enum-shadow-nonenumerable.js" +- + test: "ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574" + knownissue: "Duktape provides property name as a (intended non-standard) second parameter to setter, this testcase tests that no extra parameter is given so it breaks" +- + test: "ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-12" + diagnosed: "Array length over 2G, not supported right now" +- + test: "ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-16" + diagnosed: "Array length over 2G, not supported right now" +- + test: "intl402/ch06/6.2/6.2.2_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch06/6.2/6.2.2_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch06/6.2/6.2.2_c" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch06/6.2/6.2.3" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch06/6.2/6.2.4" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch06/6.3/6.3.1_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch06/6.3/6.3.1_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch06/6.4/6.4_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch06/6.4/6.4_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch06/6.4/6.4_c" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch08/8.0/8.0" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch08/8.0/8.0_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.1/9.1_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.1/9.1_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.1_1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.1_2" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.1_3" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.1_4" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.1_8_c_ii" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.1_8_c_vi" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.2" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.3_5" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.5_11_g_ii_2" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.5_6" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.6_2" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.6_4" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.6_4_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.6_4_c" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.8_1_c" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch09/9.2/9.2.8_4" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.1/10.1.1_1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.1/10.1.1_10" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.1/10.1.1_11" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.1/10.1.1_13" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.1/10.1.1_19_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.1/10.1.1_19_c" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.1/10.1.1_20" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.1/10.1.1_23" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.1/10.1.1_6" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.1/10.1.1_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.1/10.1.2.1_4" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.1/10.1.2_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.1/10.1.3" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.1/10.1_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.2/10.2.1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.2/10.2.2_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.2/10.2.2_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.2/10.2.2_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.2/10.2.3_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.3/10.3.1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.3/10.3.2_1_a_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.3/10.3.2_1_c" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.3/10.3.2_CS_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.3/10.3.2_CS_b_NN" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.3/10.3.2_CS_c_NN" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.3/10.3.2_CS_d_NN" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.3/10.3.2_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.3/10.3.3" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.3/10.3.3_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.3/10.3_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.3/10.3_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.3/10.3_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch10/10.4/10.4_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1.1_1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1.1_15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1.1_17" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1.1_19" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1.1_20_c" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1.1_21" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1.1_32" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1.1_34" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1.1_6" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1.1_7" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1.1_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1.2.1_4" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1.2" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1.3" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.1/11.1_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.2/11.2.1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.2/11.2.2_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.2/11.2.2_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.2/11.2.2_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.2/11.2.3_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3.1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3.2_1_a_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3.2_1_a_ii" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3.2_1_c" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3.2_FN_1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3.2_FN_2" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3.2_FN_3_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3.2_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3.2_TRF" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3.2_TRP" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3.3" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3.3_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.3/11.3_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch11/11.4/11.4_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.1/12.1.1_1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.1/12.1.1_18" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.1/12.1.1_22" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.1/12.1.1_23" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.1/12.1.1_25" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.1/12.1.1_5" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.1/12.1.1_6" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.1/12.1.1_TDTO" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.1/12.1.1_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.1/12.1.2.1_4" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.1/12.1.2" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.1/12.1.3" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.1/12.1_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.2/12.2.1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.2/12.2.2_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.2/12.2.2_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.2/12.2.2_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.2/12.2.3_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.2/12.2.3_c" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.3/12.3.1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.3/12.3.2_1_a_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.3/12.3.2_1_c" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.3/12.3.2_FDT_1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.3/12.3.2_FDT_7_a_iv" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.3/12.3.2_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.3/12.3.2_TLT_2" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.3/12.3.3" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.3/12.3.3_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.3/12.3_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.3/12.3_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.3/12.3_b" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch12/12.4/12.4_a" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch13/13.1/13.1.1_6_1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch13/13.1/13.1.1_6_2" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch13/13.1/13.1.1_7" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch13/13.2/13.2.1_4_1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch13/13.2/13.2.1_4_2" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch13/13.2/13.2.1_5" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch13/13.2/13.2.1_L15" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch13/13.3/13.3.0_6_1" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch13/13.3/13.3.0_6_2" + knownissue: "Intl module not part of E5.1" +- + test: "intl402/ch13/13.3/13.3.0_7" + knownissue: "Intl module not part of E5.1" diff --git a/doc/testcase-known-issues.yaml b/doc/testcase-known-issues.yaml index 32e48c08..5a86d179 100644 --- a/doc/testcase-known-issues.yaml +++ b/doc/testcase-known-issues.yaml @@ -1,53 +1,137 @@ -[ - { "comment": "Ecmascript testcase (ecmascript-testcases/) known issues" }, +# Ecmascript testcase (ecmascript-testcases/) known issues - { "test": "test-bi-date-tzoffset-brute-fi.js", "knownissue": "year 1970 deviates from expected, Duktape uses equiv. year for 1970 on purpose at the moment" }, - { "test": "test-bi-global-parseint.js", "knownissue": "rounding differences for parsing integers larger than 2^53" }, - { "test": "test-bi-global-parseint-oct.js", "knownissue": "non-standard octal behavior does not match V8/Rhino" }, - { "test": "test-bi-json-dec-types.js", "knownissue": "'\\x' should be allowed by eval() but not by JSON.parse(), Duktape rejects '\\x' in both" }, - { "test": "test-bi-json-enc-proplist-dups.js", "knownissue": "JSON.stringify() can be given a property list to serialize; duplicates should be eliminated but Duktape (and other engines) will happily serialize a property multiple times" }, - { "test": "test-bi-number-proto-toexponential.js", "knownissue": "corner case rounding errors in toExponential()" }, - { "test": "test-bi-number-proto-tostring.js", "knownissue": "expect strings to be checked, but probably Duktape rounding issues" }, - { "test": "test-bi-regexp-gh39.js", "knownissue": "requires leniency for non-standard regexps" }, - { "test": "test-bug-date-timeval-edges.js", "knownissue": "test case depends on current timezone offset" }, - { "test": "test-bug-enum-shadow-nonenumerable.js", "knownissue": "corner case enumeration semantics, not sure what correct behavior is (test262 ch12/12.6/12.6.4/12.6.4-2)" }, - { "test": "test-bug-error-linenumber-2.js", "knownissue": "in corner cases (related to automatic semicolon insertion) throw statement error linenumber can be unexpected" }, - { "test": "test-bug-invalid-oct-as-dec.js", "knownissue": "V8/Rhino parse invalid octal constants as decimal values, Duktape doesn't at the moment" }, - { "test": "test-bug-json-parse-__proto__.js", "knownissue": "when ES6 __proto__ enabled, JSON.parse() parses '__proto__' property incorrectly when a specially crafted reviver is used" }, - { "test": "test-bug-numconv-1e23.js", "knownissue": "corner case in floating point parse rounding" }, - { "test": "test-bug-numconv-denorm-toprec.js", "knownissue": "in a denormal corner case toPrecision() can output a zero leading digit" }, - { "test": "test-bug-tonumber-u0000.js", "knownissue": "'\\u0000' should ToNumber() coerce to NaN, but now coerces to zero like an empty string" }, - { "test": "test-bug-trycatch-many-constants.js", "knownissue": "out of regs for try-catch in functions with a lot of constants" }, - { "test": "test-conv-number-tostring-tonumber-roundtrip.js", "knownissue": "rounding corner cases" }, - { "test": "test-dev-bound-thread-start-func.js", "knownissue": "initial function of a new coroutine cannot be bound" }, - { "test": "test-dev-func-cons-args.js", "knownissue": "corner cases for 'new Function()' when arguments and code are given as strings" }, - { "test": "test-dev-yield-after-callapply.js", "knownissue": "yield() not allowed when function called via Function.prototype.(call|apply)()" }, - { "test": "test-lex-unterminated-hex-uni-escape.js", "knownissue": "unterminated hex escapes should be parsed leniently, e.g. '\\uX' -> 'uX' but Duktape now refuses to parse them" }, - { "test": "test-numconv-parse-misc.js", "knownissue": "rounding corner case for 1e+23 (parses/prints as 1.0000000000000001e+23)" }, - { "test": "test-numconv-tostring-gen.js", "knownissue": "rounding corner cases in number-to-string coercion" }, - { "test": "test-numconv-tostring-misc.js", "knownissue": "rounding corner case, 1e+23 string coerces to 1.0000000000000001e+23" }, - { "test": "test-regexp-empty-quantified.js", "knownissue": "a suitable empty quantified (e.g. '(x*)*') causes regexp parsing to terminate due to step limit" }, - { "test": "test-regexp-invalid-charclass.js", "knownissue": "some invalid character classes are accepted (e.g. '[\\d-z]' and '[z-x]')" }, - { "test": "test-regexp-nonstandard-patternchar.js", "knownissue": "other engines allow an unescaped brace to appear literally (e.g. /{/), Duktape does not (which seems correct but is against real world behavior)" }, - { "test": "test-stmt-for-in-lhs.js", "knownissue": "for-in allows some invalid left-hand-side expressions which cause a runtime ReferenceError instead of a compile-time SyntaxError (e.g. 'for (a+b in [0,1]) {...}')" }, - { "test": "test-bi-array-proto-push.js", "knownissue": "array length above 2^32-1 not supported" }, - { "test": "test-bi-array-push-maxlen.js", "knownissue": "array length above 2^32-1 not supported" }, +- + test: "test-bi-date-tzoffset-brute-fi.js" + knownissue: "year 1970 deviates from expected, Duktape uses equiv. year for 1970 on purpose at the moment" +- + test: "test-bi-global-parseint.js" + knownissue: "rounding differences for parsing integers larger than 2^53" +- + test: "test-bi-global-parseint-oct.js" + knownissue: "non-standard octal behavior does not match V8/Rhino" +- + test: "test-bi-json-dec-types.js" + knownissue: "'\\x' should be allowed by eval() but not by JSON.parse(), Duktape rejects '\\x' in both" +- + test: "test-bi-json-enc-proplist-dups.js" + knownissue: "JSON.stringify() can be given a property list to serialize; duplicates should be eliminated but Duktape (and other engines) will happily serialize a property multiple times" +- + test: "test-bi-number-proto-toexponential.js" + knownissue: "corner case rounding errors in toExponential()" +- + test: "test-bi-number-proto-tostring.js" + knownissue: "expect strings to be checked, but probably Duktape rounding issues" +- + test: "test-bi-regexp-gh39.js" + knownissue: "requires leniency for non-standard regexps" +- + test: "test-bug-date-timeval-edges.js" + knownissue: "test case depends on current timezone offset" +- + test: "test-bug-enum-shadow-nonenumerable.js" + knownissue: "corner case enumeration semantics, not sure what correct behavior is (test262 ch12/12.6/12.6.4/12.6.4-2)" +- + test: "test-bug-error-linenumber-2.js" + knownissue: "in corner cases (related to automatic semicolon insertion) throw statement error linenumber can be unexpected" +- + test: "test-bug-invalid-oct-as-dec.js" + knownissue: "V8/Rhino parse invalid octal constants as decimal values, Duktape doesn't at the moment" +- + test: "test-bug-json-parse-__proto__.js" + knownissue: "when ES6 __proto__ enabled, JSON.parse() parses '__proto__' property incorrectly when a specially crafted reviver is used" +- + test: "test-bug-numconv-1e23.js" + knownissue: "corner case in floating point parse rounding" +- + test: "test-bug-numconv-denorm-toprec.js" + knownissue: "in a denormal corner case toPrecision() can output a zero leading digit" +- + test: "test-bug-tonumber-u0000.js" + knownissue: "'\\u0000' should ToNumber() coerce to NaN, but now coerces to zero like an empty string" +- + test: "test-bug-trycatch-many-constants.js" + knownissue: "out of regs for try-catch in functions with a lot of constants" +- + test: "test-conv-number-tostring-tonumber-roundtrip.js" + knownissue: "rounding corner cases" +- + test: "test-dev-bound-thread-start-func.js" + knownissue: "initial function of a new coroutine cannot be bound" +- + test: "test-dev-func-cons-args.js" + knownissue: "corner cases for 'new Function()' when arguments and code are given as strings" +- + test: "test-dev-yield-after-callapply.js" + knownissue: "yield() not allowed when function called via Function.prototype.(call|apply)()" +- + test: "test-lex-unterminated-hex-uni-escape.js" + knownissue: "unterminated hex escapes should be parsed leniently, e.g. '\\uX' -> 'uX' but Duktape now refuses to parse them" +- + test: "test-numconv-parse-misc.js" + knownissue: "rounding corner case for 1e+23 (parses/prints as 1.0000000000000001e+23)" +- + test: "test-numconv-tostring-gen.js" + knownissue: "rounding corner cases in number-to-string coercion" +- + test: "test-numconv-tostring-misc.js" + knownissue: "rounding corner case, 1e+23 string coerces to 1.0000000000000001e+23" +- + test: "test-regexp-empty-quantified.js" + knownissue: "a suitable empty quantified (e.g. '(x*)*') causes regexp parsing to terminate due to step limit" +- + test: "test-regexp-invalid-charclass.js" + knownissue: "some invalid character classes are accepted (e.g. '[\\d-z]' and '[z-x]')" +- + test: "test-regexp-nonstandard-patternchar.js" + knownissue: "other engines allow an unescaped brace to appear literally (e.g. /{/), Duktape does not (which seems correct but is against real world behavior)" +- + test: "test-stmt-for-in-lhs.js" + knownissue: "for-in allows some invalid left-hand-side expressions which cause a runtime ReferenceError instead of a compile-time SyntaxError (e.g. 'for (a+b in [0,1]) {...}')" +- + test: "test-bi-array-proto-push.js" + knownissue: "array length above 2^32-1 not supported" +- + test: "test-bi-array-push-maxlen.js" + knownissue: "array length above 2^32-1 not supported" - { "comment": "Ecmascript testcases that need special options or environment to work" }, +# Ecmascript testcases that need special options or environment to work - { "test": "test-bi-date-local-parts-fi.js", "specialoptions": "test case has been written for Finnish locale" }, - { "test": "test-bi-date-tzoffset-basic-fi.js", "specialoptions": "test case has been written for Finnish locale" }, - { "test": "test-bi-date-tzoffset-brute-fi.js", "specialoptions": "test case has been written for Finnish locale" }, - { "test": "test-bi-duktape-json-lightfunc.js", "specialoptions": "DUK_OPT_LIGHTFUNC_BUILTINS" }, - { "test": "test-bi-function-nonstd-caller-prop.js", "specialoptions": "DUK_OPT_NONSTD_FUNC_CALLER_PROPERTY" }, - { "test": "test-dev-16bit-overflows.js", "specialoptions": "requires 16-bit field options" }, - { "test": "test-dev-lightfunc-accessor.js", "specialoptions": "DUK_OPT_LIGHTFUNC_BUILTINS" }, - { "test": "test-dev-lightfunc-finalizer.js", "specialoptions": "DUK_OPT_LIGHTFUNC_BUILTINS" }, - { "test": "test-dev-lightfunc.js", "specialoptions": "DUK_OPT_LIGHTFUNC_BUILTINS" }, - { "test": "test-dev-logicalnot-refcount.js", "specialoptions": "requires refcounting" }, - { "test": "test-dev-nonstd-setget-key-argument.js", "specialoptions": "should work with default options, but will break with DUK_OPT_NO_NONSTD_ACCESSOR_KEY_ARGUMENT" }, +- + test: "test-bi-date-local-parts-fi.js" + specialoptions: "test case has been written for Finnish locale" +- + test: "test-bi-date-tzoffset-basic-fi.js" + specialoptions: "test case has been written for Finnish locale" +- + test: "test-bi-date-tzoffset-brute-fi.js" + specialoptions: "test case has been written for Finnish locale" +- + test: "test-bi-duktape-json-lightfunc.js" + specialoptions: "DUK_OPT_LIGHTFUNC_BUILTINS" +- + test: "test-bi-function-nonstd-caller-prop.js" + specialoptions: "DUK_OPT_NONSTD_FUNC_CALLER_PROPERTY" +- + test: "test-dev-16bit-overflows.js" + specialoptions: "requires 16-bit field options" +- + test: "test-dev-lightfunc-accessor.js" + specialoptions: "DUK_OPT_LIGHTFUNC_BUILTINS" +- + test: "test-dev-lightfunc-finalizer.js" + specialoptions: "DUK_OPT_LIGHTFUNC_BUILTINS" +- + test: "test-dev-lightfunc.js" + specialoptions: "DUK_OPT_LIGHTFUNC_BUILTINS" +- + test: "test-dev-logicalnot-refcount.js" + specialoptions: "requires refcounting" +- + test: "test-dev-nonstd-setget-key-argument.js" + specialoptions: "should work with default options, but will break with DUK_OPT_NO_NONSTD_ACCESSOR_KEY_ARGUMENT" - { "comment": "API testcase known issues" }, +# API testcase known issues - { "test": "test-to-number.c", "knownissue": "number parsing bug for strings containing NUL characters (e.g. '\\u0000')" } -] +- + test: "test-to-number.c" + knownissue: "number parsing bug for strings containing NUL characters (e.g. '\\u0000')"