aboutsummaryrefslogtreecommitdiffstats
path: root/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals')
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.1_Null_Literals/S7.8.1_A1_T1.js14
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.1_Null_Literals/S7.8.1_A1_T2.js15
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.2_Boolean_Literals/S7.8.2_A1_T1.js14
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.2_Boolean_Literals/S7.8.2_A1_T2.js15
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.1_T1.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.1_T2.js55
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T1.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T2.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T3.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T4.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T5.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T6.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T7.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T8.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T1.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T2.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T3.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T1.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T2.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T3.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T4.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T5.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T6.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T7.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T8.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.1_T1.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.1_T2.js55
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T1.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T2.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T3.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T1.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T2.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T3.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T4.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T5.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T6.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T7.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T8.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T1.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T2.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T3.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T4.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T5.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T6.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T7.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T8.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T1.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T2.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T3.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T4.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T5.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T6.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T7.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T8.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T1.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T2.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T3.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T4.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T5.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T6.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T7.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T8.js59
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T1.js89
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T2.js89
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T3.js54
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T4.js54
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T5.js54
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T6.js54
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T7.js39
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T8.js39
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.1_T1.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.1_T2.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.2_T1.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.2_T2.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.1_T1.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.1_T2.js14
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.2_T1.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.2_T2.js14
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.1_T1.js18
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.1_T2.js18
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.2_T1.js18
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.2_T2.js18
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.3_T1.js18
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.1_T1.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.1_T2.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.2_T1.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.2_T2.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.1_T1.js39
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.1_T2.js34
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T1.js18
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T2.js114
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T3.js18
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T4.js85
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T5.js18
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T6.js143
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T7.js18
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T8.js143
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T1.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T2.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T3.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T4.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T5.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T6.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T7.js35
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T1.js14
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T2.js14
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T3.js14
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T1.js89
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T2.js18
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T3.js18
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T4.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.2_T1.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.2_T2.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.3_T1.js84
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.4_T1.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.4_T2.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T1.js89
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T2.js18
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T3.js18
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T4.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T1.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T2.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T3.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T4.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T5.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T6.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.3_T1.js84
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.4_T1.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.4_T2.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.1_T1.js35
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.1_T2.js54
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T1.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T2.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T3.js14
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T4.js14
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T1.js14
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T2.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T3.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T4.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T5.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T6.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.4_T1.js30
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.4_T2.js54
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T1.js14
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T2.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T3.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T4.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T5.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T6.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.1_T1.js35
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.1_T2.js55
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.2_T1.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.2_T2.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T1.js14
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T2.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T3.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T4.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T5.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T6.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.4_T1.js30
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.4_T2.js54
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T1.js14
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T2.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T3.js13
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T4.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T5.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T6.js20
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T1.js25
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T2.js25
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T3.js25
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T4.js25
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T5.js25
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T6.js25
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.js15
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.js15
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.js15
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A4.1.js16
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A4.2.js19
178 files changed, 6294 insertions, 0 deletions
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.1_Null_Literals/S7.8.1_A1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.1_Null_Literals/S7.8.1_A1_T1.js
new file mode 100644
index 000000000..df432c8e1
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.1_Null_Literals/S7.8.1_A1_T1.js
@@ -0,0 +1,14 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.1_A1_T1;
+ * @section: 7.8.1;
+ * @assertion: Literal :: NullLiteral;
+ * @description: Check null === null;
+*/
+
+//CHECK#1
+if (null !== null) {
+ $ERROR('#1: null === null');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.1_Null_Literals/S7.8.1_A1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.1_Null_Literals/S7.8.1_A1_T2.js
new file mode 100644
index 000000000..8c1e0f78e
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.1_Null_Literals/S7.8.1_A1_T2.js
@@ -0,0 +1,15 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.1_A1_T2;
+ * @section: 7.8.1;
+ * @assertion: Literal :: NullLiteral;
+ * @description: Check RegExp("0").exec("1") === null;
+*/
+
+//CHECK#1
+if (RegExp("0").exec("1") !== null) {
+ $ERROR('#1: RegExp("0").exec("1") === null');
+}
+
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.2_Boolean_Literals/S7.8.2_A1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.2_Boolean_Literals/S7.8.2_A1_T1.js
new file mode 100644
index 000000000..c016eaf62
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.2_Boolean_Literals/S7.8.2_A1_T1.js
@@ -0,0 +1,14 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.2_A1_T1;
+ * @section: 7.8.2;
+ * @assertion: Literal :: BooleanLiteral;
+ * @description: BooleanLiteral :: true;
+*/
+
+//CHECK#1
+if (Boolean(true) !== true) {
+ $ERROR('#1: Boolean(true) === true. Actual: Boolean(true) === ' + (Boolean(true)));
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.2_Boolean_Literals/S7.8.2_A1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.2_Boolean_Literals/S7.8.2_A1_T2.js
new file mode 100644
index 000000000..d9fe3877a
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.2_Boolean_Literals/S7.8.2_A1_T2.js
@@ -0,0 +1,15 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.2_A1_T2;
+ * @section: 7.8.2;
+ * @assertion: Literal :: BooleanLiteral;
+ * @description: BooleanLiteral :: false;
+*/
+
+//CHECK#1
+if (Boolean(false) !== false) {
+ $ERROR('#1: Boolean(false) === false. Actual: Boolean(false) === ' + (Boolean(false)));
+}
+
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.1_T1.js
new file mode 100644
index 000000000..c33ec6ee0
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.1_T1.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A1.1_T1;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral;
+ * @description: DecimalIntegerLiteral :: 0, NoNZeroDigit;
+*/
+
+//CHECK#0
+if (0 !== 0) {
+ $ERROR('#0: 0 === 0');
+}
+
+//CHECK#1
+if (1 !== 1) {
+ $ERROR('#1: 1 === 1');
+}
+
+//CHECK#2
+if (2 !== 2) {
+ $ERROR('#2: 2 === 2');
+}
+
+//CHECK#3
+if (3 !== 3) {
+ $ERROR('#3: 3 === 3');
+}
+
+//CHECK#4
+if (4 !== 4) {
+ $ERROR('#4: 4 === 4');
+}
+
+//CHECK#5
+if (5 !== 5) {
+ $ERROR('#5: 5 === 5');
+}
+
+//CHECK#6
+if (6 !== 6) {
+ $ERROR('#6: 6 === 6');
+}
+
+//CHECK#7
+if (7 !== 7) {
+ $ERROR('#7: 7 === 7');
+}
+
+//CHECK#8
+if (8 !== 8) {
+ $ERROR('#8: 8 === 8');
+}
+
+//CHECK#9
+if (9 !== 9) {
+ $ERROR('#9: 9 === 9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.1_T2.js
new file mode 100644
index 000000000..197f9912a
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.1_T2.js
@@ -0,0 +1,55 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A1.1_T2;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral;
+ * @description: DecimalIntegerLiteral :: NoNZeroDigit DecimalDigits;
+*/
+
+
+//CHECK#1
+if (11 !== 11) {
+ $ERROR('#1: 11 === 11');
+}
+
+//CHECK#2
+if (22 !== 22) {
+ $ERROR('#2: 22 === 22');
+}
+
+//CHECK#3
+if (33 !== 33) {
+ $ERROR('#3: 33 === 33');
+}
+
+//CHECK#4
+if (44 !== 44) {
+ $ERROR('#4: 44 === 44');
+}
+
+//CHECK#5
+if (55 !== 55) {
+ $ERROR('#5: 55 === 55');
+}
+
+//CHECK#6
+if (66 !== 66) {
+ $ERROR('#6: 66 === 66');
+}
+
+//CHECK#7
+if (77 !== 77) {
+ $ERROR('#7: 77 === 77');
+}
+
+//CHECK#8
+if (88 !== 88) {
+ $ERROR('#8: 88 === 88');
+}
+
+//CHECK#9
+if (99 !== 99) {
+ $ERROR('#9: 99 === 99');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T1.js
new file mode 100644
index 000000000..c644424ba
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T1.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A1.2_T1;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral ExponentPart;
+ * @description: ExponentPart :: e DecimalDigits;
+*/
+
+//CHECK#0
+if (0e1 !== 0) {
+ $ERROR('#0: 0e1 === 0');
+}
+
+//CHECK#1
+if (1e1 !== 10) {
+ $ERROR('#1: 1e1 === 10');
+}
+
+//CHECK#2
+if (2e1 !== 20) {
+ $ERROR('#2: 2e1 === 20');
+}
+
+//CHECK#3
+if (3e1 !== 30) {
+ $ERROR('#3: 3e1 === 30');
+}
+
+//CHECK#4
+if (4e1 !== 40) {
+ $ERROR('#4: 4e1 === 40');
+}
+
+//CHECK#5
+if (5e1 !== 50) {
+ $ERROR('#5: 5e1 === 50');
+}
+
+//CHECK#6
+if (6e1 !== 60) {
+ $ERROR('#6: 6e1 === 60');
+}
+
+//CHECK#7
+if (7e1 !== 70) {
+ $ERROR('#7: 7e1 === 70');
+}
+
+//CHECK#8
+if (8e1 !== 80) {
+ $ERROR('#8: 8e1 === 80');
+}
+
+//CHECK#9
+if (9e1 !== 90) {
+ $ERROR('#9: 9e1 === 90');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T2.js
new file mode 100644
index 000000000..b8c469d56
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T2.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A1.2_T2;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral ExponentPart;
+ * @description: ExponentPart :: E DecimalDigits;
+*/
+
+//CHECK#0
+if (0E1 !== 0) {
+ $ERROR('#0: 0E1 === 0');
+}
+
+//CHECK#1
+if (1E1 !== 10) {
+ $ERROR('#1: 1E1 === 1');
+}
+
+//CHECK#2
+if (2E1 !== 20) {
+ $ERROR('#2: 2E1 === 20');
+}
+
+//CHECK#3
+if (3E1 !== 30) {
+ $ERROR('#3: 3E1 === 30');
+}
+
+//CHECK#4
+if (4E1 !== 40) {
+ $ERROR('#4: 4E1 === 40');
+}
+
+//CHECK#5
+if (5E1 !== 50) {
+ $ERROR('#5: 5E1 === 50');
+}
+
+//CHECK#6
+if (6E1 !== 60) {
+ $ERROR('#6: 6E1 === 60');
+}
+
+//CHECK#7
+if (7E1 !== 70) {
+ $ERROR('#7: 7E1 === 70');
+}
+
+//CHECK#8
+if (8E1 !== 80) {
+ $ERROR('#8: 8E1 === 80');
+}
+
+//CHECK#9
+if (9E1 !== 90) {
+ $ERROR('#9: 9E1 === 90');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T3.js
new file mode 100644
index 000000000..f40072b36
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T3.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A1.2_T3;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral ExponentPart;
+ * @description: ExponentPart :: e -DecimalDigits;
+*/
+
+//CHECK#0
+if (0e-1 !== 0) {
+ $ERROR('#0: 0e-1 === 0');
+}
+
+//CHECK#1
+if (1e-1 !== 0.1) {
+ $ERROR('#1: 1e-1 === 0.1');
+}
+
+//CHECK#2
+if (2e-1 !== 0.2) {
+ $ERROR('#2: 2e-1 === 0.2');
+}
+
+//CHECK#3
+if (3e-1 !== 0.3) {
+ $ERROR('#3: 3e-1 === 0.3');
+}
+
+//CHECK#4
+if (4e-1 !== 0.4) {
+ $ERROR('#4: 4e-1 === 0.4');
+}
+
+//CHECK#5
+if (5e-1 !== 0.5) {
+ $ERROR('#5: 5e-1 === 0.5');
+}
+
+//CHECK#6
+if (6e-1 !== 0.6) {
+ $ERROR('#6: 6e-1 === 0.6');
+}
+
+//CHECK#7
+if (7e-1 !== 0.7) {
+ $ERROR('#7: 7e-1 === 0.7');
+}
+
+//CHECK#8
+if (8e-1 !== 0.8) {
+ $ERROR('#8: 8e-1 === 0.8');
+}
+
+//CHECK#9
+if (9e-1 !== 0.9) {
+ $ERROR('#9: 9e-1 === 0.9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T4.js
new file mode 100644
index 000000000..c2771dbc4
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T4.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A1.2_T4;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral ExponentPart;
+ * @description: ExponentPart :: E -DecimalDigits;
+*/
+
+//CHECK#0
+if (0E-1 !== 0) {
+ $ERROR('#0: 0E-1 === 0');
+}
+
+//CHECK#1
+if (1E-1 !== 0.1) {
+ $ERROR('#1: 1E-1 === 0.1');
+}
+
+//CHECK#2
+if (2E-1 !== 0.2) {
+ $ERROR('#2: 2E-1 === 0.2');
+}
+
+//CHECK#3
+if (3E-1 !== 0.3) {
+ $ERROR('#3: 3E-1 === 0.3');
+}
+
+//CHECK#4
+if (4E-1 !== 0.4) {
+ $ERROR('#4: 4E-1 === 0.4');
+}
+
+//CHECK#5
+if (5E-1 !== 0.5) {
+ $ERROR('#5: 5E-1 === 0.5');
+}
+
+//CHECK#6
+if (6E-1 !== 0.6) {
+ $ERROR('#6: 6E-1 === 0.6');
+}
+
+//CHECK#7
+if (7E-1 !== 0.7) {
+ $ERROR('#7: 7E-1 === 0.7');
+}
+
+//CHECK#8
+if (8E-1 !== 0.8) {
+ $ERROR('#8: 8E-1 === 0.8');
+}
+
+//CHECK#9
+if (9E-1 !== 0.9) {
+ $ERROR('#9: 9E-1 === 0.9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T5.js
new file mode 100644
index 000000000..0cc0a0569
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T5.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A1.2_T5;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral ExponentPart;
+ * @description: ExponentPart :: e +DecimalDigits;
+*/
+
+//CHECK#0
+if (0e+1 !== 0) {
+ $ERROR('#0: 0e+1 === 0');
+}
+
+//CHe+CK#1
+if (1e+1 !== 10) {
+ $ERROR('#1: 1e+1 === 10');
+}
+
+//CHe+CK#2
+if (2e+1 !== 20) {
+ $ERROR('#2: 2e+1 === 20');
+}
+
+//CHe+CK#3
+if (3e+1 !== 30) {
+ $ERROR('#3: 3e+1 === 30');
+}
+
+//CHe+CK#4
+if (4e+1 !== 40) {
+ $ERROR('#4: 4e+1 === 40');
+}
+
+//CHe+CK#5
+if (5e+1 !== 50) {
+ $ERROR('#5: 5e+1 === 50');
+}
+
+//CHe+CK#6
+if (6e+1 !== 60) {
+ $ERROR('#6: 6e+1 === 60');
+}
+
+//CHe+CK#7
+if (7e+1 !== 70) {
+ $ERROR('#7: 7e+1 === 70');
+}
+
+//CHe+CK#8
+if (8e+1 !== 80) {
+ $ERROR('#8: 8e+1 === 80');
+}
+
+//CHe+CK#9
+if (9e+1 !== 90) {
+ $ERROR('#9: 9e+1 === 90');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T6.js
new file mode 100644
index 000000000..3f50e4f26
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T6.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A1.2_T6;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral ExponentPart;
+ * @description: ExponentPart :: E +DecimalDigits;
+*/
+
+//CHECK#0
+if (0E+1 !== 0) {
+ $ERROR('#0: 0E+1 === 0');
+}
+
+//CHE+CK#1
+if (1E+1 !== 10) {
+ $ERROR('#1: 1E+1 === 10');
+}
+
+//CHE+CK#2
+if (2E+1 !== 20) {
+ $ERROR('#2: 2E+1 === 20');
+}
+
+//CHE+CK#3
+if (3E+1 !== 30) {
+ $ERROR('#3: 3E+1 === 30');
+}
+
+//CHE+CK#4
+if (4E+1 !== 40) {
+ $ERROR('#4: 4E+1 === 40');
+}
+
+//CHE+CK#5
+if (5E+1 !== 50) {
+ $ERROR('#5: 5E+1 === 50');
+}
+
+//CHE+CK#6
+if (6E+1 !== 60) {
+ $ERROR('#6: 6E+1 === 60');
+}
+
+//CHE+CK#7
+if (7E+1 !== 70) {
+ $ERROR('#7: 7E+1 === 70');
+}
+
+//CHE+CK#8
+if (8E+1 !== 80) {
+ $ERROR('#8: 8E+1 === 80');
+}
+
+//CHE+CK#9
+if (9E+1 !== 90) {
+ $ERROR('#9: 9E+1 === 90');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T7.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T7.js
new file mode 100644
index 000000000..62e8241eb
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T7.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A1.2_T7;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral ExponentPart;
+ * @description: ExponentPart :: e 0;
+*/
+
+//CHECK#0
+if (0e0 !== 0) {
+ $ERROR('#0: 0e0 === 0');
+}
+
+//CHECK#1
+if (1e0 !== 1) {
+ $ERROR('#1: 1e0 === 1');
+}
+
+//CHECK#2
+if (2e0 !== 2) {
+ $ERROR('#2: 2e0 === 2');
+}
+
+//CHECK#3
+if (3e0 !== 3) {
+ $ERROR('#3: 3e0 === 3');
+}
+
+//CHECK#4
+if (4e0 !== 4) {
+ $ERROR('#4: 4e0 === 4');
+}
+
+//CHECK#5
+if (5e0 !== 5) {
+ $ERROR('#5: 5e0 === 5');
+}
+
+//CHECK#6
+if (6e0 !== 6) {
+ $ERROR('#6: 6e0 === 6');
+}
+
+//CHECK#7
+if (7e0 !== 7) {
+ $ERROR('#7: 7e0 === 7');
+}
+
+//CHECK#8
+if (8e0 !== 8) {
+ $ERROR('#8: 8e0 === 8');
+}
+
+//CHECK#9
+if (9e0 !== 9) {
+ $ERROR('#9: 9e0 === 9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T8.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T8.js
new file mode 100644
index 000000000..73cddcc61
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A1.2_T8.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A1.2_T8;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral ExponentPart;
+ * @description: ExponentPart :: E 0;
+*/
+
+//CHECK#0
+if (0E0 !== 0) {
+ $ERROR('#0: 0E0 === 0');
+}
+
+//CHECK#1
+if (1E0 !== 1) {
+ $ERROR('#1: 1E0 === 1');
+}
+
+//CHECK#2
+if (2E0 !== 2) {
+ $ERROR('#2: 2E0 === 2');
+}
+
+//CHECK#3
+if (3E0 !== 3) {
+ $ERROR('#3: 3E0 === 3');
+}
+
+//CHECK#4
+if (4E0 !== 4) {
+ $ERROR('#4: 4E0 === 4');
+}
+
+//CHECK#5
+if (5E0 !== 5) {
+ $ERROR('#5: 5E0 === 5');
+}
+
+//CHECK#6
+if (6E0 !== 6) {
+ $ERROR('#6: 6E0 === 6');
+}
+
+//CHECK#7
+if (7E0 !== 7) {
+ $ERROR('#7: 7E0 === 7');
+}
+
+//CHECK#8
+if (8E0 !== 8) {
+ $ERROR('#8: 8E0 === 8');
+}
+
+//CHECK#9
+if (9E0 !== 9) {
+ $ERROR('#9: 9E0 === 9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T1.js
new file mode 100644
index 000000000..e670bfa24
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T1.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A2.1_T1;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: .DecimalDigits;
+ * @description: Use .DecimalDigit;
+*/
+
+//CHECK#0
+if (.0 !== 0.0) {
+ $ERROR('#0: .0 === 0.0');
+}
+
+//CHECK#1
+if (.1 !== 0.1) {
+ $ERROR('#1: .1 === 0.1');
+}
+
+//CHECK#2
+if (.2 !== 0.2) {
+ $ERROR('#2: .2 === 0.2');
+}
+
+//CHECK#3
+if (.3 !== 0.3) {
+ $ERROR('#3: .3 === 0.3');
+}
+
+//CHECK#4
+if (.4 !== 0.4) {
+ $ERROR('#4: .4 === 0.4');
+}
+
+//CHECK#5
+if (.5 !== 0.5) {
+ $ERROR('#5: .5 === 0.5');
+}
+
+//CHECK#6
+if (.6 !== 0.6) {
+ $ERROR('#6: .6 === 0.6');
+}
+
+//CHECK#7
+if (.7 !== 0.7) {
+ $ERROR('#7: .7 === 0.7');
+}
+
+//CHECK#8
+if (.8 !== 0.8) {
+ $ERROR('#8: .8 === 0.8');
+}
+
+//CHECK#9
+if (.9 !== 0.9) {
+ $ERROR('#9: .9 === 0.9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T2.js
new file mode 100644
index 000000000..7370cc3cd
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T2.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A2.1_T2;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: .DecimalDigits;
+ * @description: Use .DecimalDigits;
+*/
+
+//CHECK#0
+if (.00 !== 0.00) {
+ $ERROR('#0: .00 === 0.00');
+}
+
+//CHECK#1
+if (.11 !== 0.11) {
+ $ERROR('#1: .11 === 0.11');
+}
+
+//CHECK#2
+if (.22 !== 0.22) {
+ $ERROR('#2: .22 === 0.22');
+}
+
+//CHECK#3
+if (.33 !== 0.33) {
+ $ERROR('#3: .33 === 0.33');
+}
+
+//CHECK#4
+if (.44 !== 0.44) {
+ $ERROR('#4: .44 === 0.44');
+}
+
+//CHECK#5
+if (.55 !== 0.55) {
+ $ERROR('#5: .55 === 0.55');
+}
+
+//CHECK#6
+if (.66 !== 0.66) {
+ $ERROR('#6: .66 === 0.66');
+}
+
+//CHECK#7
+if (.77 !== 0.77) {
+ $ERROR('#7: .77 === 0.77');
+}
+
+//CHECK#8
+if (.88 !== 0.88) {
+ $ERROR('#8: .88 === 0.88');
+}
+
+//CHECK#9
+if (.99 !== 0.99) {
+ $ERROR('#9: .99 === 0.99');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T3.js
new file mode 100644
index 000000000..126e7902d
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.1_T3.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A2.1_T3;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: .DecimalDigits;
+ * @description: Use .DecimalDigits that have at the end zeros;
+*/
+
+//CHECK#0
+if (.00 !== 0.0) {
+ $ERROR('#0: .0 === 0.0');
+}
+
+//CHECK#1
+if (.10 !== 0.1) {
+ $ERROR('#1: .1 === 0.1');
+}
+
+//CHECK#2
+if (.20 !== 0.2) {
+ $ERROR('#2: .2 === 0.2');
+}
+
+//CHECK#3
+if (.30 !== 0.3) {
+ $ERROR('#3: .3 === 0.3');
+}
+
+//CHECK#4
+if (.40 !== 0.4) {
+ $ERROR('#4: .4 === 0.4');
+}
+
+//CHECK#5
+if (.50 !== 0.5) {
+ $ERROR('#5: .5 === 0.5');
+}
+
+//CHECK#6
+if (.60 !== 0.6) {
+ $ERROR('#6: .6 === 0.6');
+}
+
+//CHECK#7
+if (.70 !== 0.7) {
+ $ERROR('#7: .7 === 0.7');
+}
+
+//CHECK#8
+if (.80 !== 0.8) {
+ $ERROR('#8: .8 === 0.8');
+}
+
+//CHECK#9
+if (.90 !== 0.9) {
+ $ERROR('#9: .9 === 0.9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T1.js
new file mode 100644
index 000000000..1481c1976
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T1.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A2.2_T1;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: .DecimalDigits ExponentPart;
+ * @description: ExponentPart :: e DecimalDigits;
+*/
+
+//CHECK#0
+if (.0e1 !== 0) {
+ $ERROR('#0: .0e1 === 0');
+}
+
+//CHECK#1
+if (.1e1 !== 1) {
+ $ERROR('#1: .1e1 === 1');
+}
+
+//CHECK#2
+if (.2e1 !== 2) {
+ $ERROR('#2: .2e1 === 2');
+}
+
+//CHECK#3
+if (.3e1 !== 3) {
+ $ERROR('#3: .3e1 === 3');
+}
+
+//CHECK#4
+if (.4e1 !== 4) {
+ $ERROR('#4: .4e1 === 4');
+}
+
+//CHECK#5
+if (.5e1 !== 5) {
+ $ERROR('#5: .5e1 === 5');
+}
+
+//CHECK#6
+if (.6e1 !== 6) {
+ $ERROR('#6: .6e1 === 6');
+}
+
+//CHECK#7
+if (.7e1 !== 7) {
+ $ERROR('#7: .7e1 === 7');
+}
+
+//CHECK#8
+if (.8e1 !== 8) {
+ $ERROR('#8: .8e1 === 8');
+}
+
+//CHECK#9
+if (.9e1 !== 9) {
+ $ERROR('#9: .9e1 === 9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T2.js
new file mode 100644
index 000000000..19eeabcd9
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T2.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A2.2_T2;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: .DecimalDigits ExponentPart;
+ * @description: ExponentPart :: E DecimalDigits;
+*/
+
+//CHECK#0
+if (.0E1 !== 0) {
+ $ERROR('#0: .0E1 === 0');
+}
+
+//CHECK#1
+if (.1E1 !== 1) {
+ $ERROR('#1: .1E1 === 1');
+}
+
+//CHECK#2
+if (.2E1 !== 2) {
+ $ERROR('#2: .2E1 === 2');
+}
+
+//CHECK#3
+if (.3E1 !== 3) {
+ $ERROR('#3: .3E1 === 3');
+}
+
+//CHECK#4
+if (.4E1 !== 4) {
+ $ERROR('#4: .4E1 === 4');
+}
+
+//CHECK#5
+if (.5E1 !== 5) {
+ $ERROR('#5: .5E1 === 5');
+}
+
+//CHECK#6
+if (.6E1 !== 6) {
+ $ERROR('#6: .6E1 === 6');
+}
+
+//CHECK#7
+if (.7E1 !== 7) {
+ $ERROR('#7: .7E1 === 7');
+}
+
+//CHECK#8
+if (.8E1 !== 8) {
+ $ERROR('#8: .8E1 === 8');
+}
+
+//CHECK#9
+if (.9E1 !== 9) {
+ $ERROR('#9: .9E1 === 9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T3.js
new file mode 100644
index 000000000..d272c9349
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T3.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A2.2_T3;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: .DecimalDigits ExponentPart;
+ * @description: ExponentPart :: e +DecimalDigits;
+*/
+
+//CHECK#0
+if (.0e-1 !== 0) {
+ $ERROR('#0: .0e-1 === 0');
+}
+
+//CHECK#1
+if (.1e-1 !== 0.01) {
+ $ERROR('#1: .1e-1 === 0.01');
+}
+
+//CHECK#2
+if (.2e-1 !== 0.02) {
+ $ERROR('#2: .2e-1 === 0.02');
+}
+
+//CHECK#3
+if (.3e-1 !== 0.03) {
+ $ERROR('#3: .3e-1 === 0.03');
+}
+
+//CHECK#4
+if (.4e-1 !== 0.04) {
+ $ERROR('#4: .4e-1 === 0.04');
+}
+
+//CHECK#5
+if (.5e-1 !== 0.05) {
+ $ERROR('#5: .5e-1 === 0.05');
+}
+
+//CHECK#6
+if (.6e-1 !== 0.06) {
+ $ERROR('#6: .6e-1 === 0.06');
+}
+
+//CHECK#7
+if (.7e-1 !== 0.07) {
+ $ERROR('#7: .7e-1 === 0.07');
+}
+
+//CHECK#8
+if (.8e-1 !== 0.08) {
+ $ERROR('#8: .8e-1 === 0.08');
+}
+
+//CHECK#9
+if (.9e-1 !== 0.09) {
+ $ERROR('#9: .9e-1 === 0.09');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T4.js
new file mode 100644
index 000000000..838e9cb12
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T4.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A2.2_T4;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: .DecimalDigits ExponentPart;
+ * @description: ExponentPart :: E +DecimalDigits;
+*/
+
+//CHECK#0
+if (.0E-1 !== 0) {
+ $ERROR('#0: .0E-1 === 0');
+}
+
+//CHECK#1
+if (.1E-1 !== 0.01) {
+ $ERROR('#1: .1E-1 === 0.01');
+}
+
+//CHECK#2
+if (.2E-1 !== 0.02) {
+ $ERROR('#2: .2E-1 === 0.02');
+}
+
+//CHECK#3
+if (.3E-1 !== 0.03) {
+ $ERROR('#3: .3E-1 === 0.03');
+}
+
+//CHECK#4
+if (.4E-1 !== 0.04) {
+ $ERROR('#4: .4E-1 === 0.04');
+}
+
+//CHECK#5
+if (.5E-1 !== 0.05) {
+ $ERROR('#5: .5E-1 === 0.05');
+}
+
+//CHECK#6
+if (.6E-1 !== 0.06) {
+ $ERROR('#6: .6E-1 === 0.06');
+}
+
+//CHECK#7
+if (.7E-1 !== 0.07) {
+ $ERROR('#7: .7E-1 === 0.07');
+}
+
+//CHECK#8
+if (.8E-1 !== 0.08) {
+ $ERROR('#8: .8E-1 === 0.08');
+}
+
+//CHECK#9
+if (.9E-1 !== 0.09) {
+ $ERROR('#9: .9E-1 === 0.09');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T5.js
new file mode 100644
index 000000000..ff9c87c77
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T5.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A2.2_T5;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: .DecimalDigits ExponentPart;
+ * @description: ExponentPart :: e +DecimalDigits;
+*/
+
+//CHECK#0
+if (.0e+1 !== 0) {
+ $ERROR('#0: .0e+1 === 0');
+}
+
+//CHECK#1
+if (.1e+1 !== 1) {
+ $ERROR('#1: .1e+1 === 1');
+}
+
+//CHECK#2
+if (.2e+1 !== 2) {
+ $ERROR('#2: .2e+1 === 2');
+}
+
+//CHECK#3
+if (.3e+1 !== 3) {
+ $ERROR('#3: .3e+1 === 3');
+}
+
+//CHECK#4
+if (.4e+1 !== 4) {
+ $ERROR('#4: .4e+1 === 4');
+}
+
+//CHECK#5
+if (.5e+1 !== 5) {
+ $ERROR('#5: .5e+1 === 5');
+}
+
+//CHECK#6
+if (.6e+1 !== 6) {
+ $ERROR('#6: .6e+1 === 6');
+}
+
+//CHECK#7
+if (.7e+1 !== 7) {
+ $ERROR('#7: .7e+1 === 7');
+}
+
+//CHECK#8
+if (.8e+1 !== 8) {
+ $ERROR('#8: .8e+1 === 8');
+}
+
+//CHECK#9
+if (.9e+1 !== 9) {
+ $ERROR('#9: .9e+1 === 9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T6.js
new file mode 100644
index 000000000..4e9b5bfa2
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T6.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A2.2_T6;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: .DecimalDigits ExponentPart;
+ * @description: ExponentPart :: E +DecimalDigits;
+*/
+
+//CHECK#0
+if (.0E+1 !== 0) {
+ $ERROR('#0: .0E+1 === 0');
+}
+
+//CHECK#1
+if (.1E+1 !== 1) {
+ $ERROR('#1: .1E+1 === 1');
+}
+
+//CHECK#2
+if (.2E+1 !== 2) {
+ $ERROR('#2: .2E+1 === 2');
+}
+
+//CHECK#3
+if (.3E+1 !== 3) {
+ $ERROR('#3: .3E+1 === 3');
+}
+
+//CHECK#4
+if (.4E+1 !== 4) {
+ $ERROR('#4: .4E+1 === 4');
+}
+
+//CHECK#5
+if (.5E+1 !== 5) {
+ $ERROR('#5: .5E+1 === 5');
+}
+
+//CHECK#6
+if (.6E+1 !== 6) {
+ $ERROR('#6: .6E+1 === 6');
+}
+
+//CHECK#7
+if (.7E+1 !== 7) {
+ $ERROR('#7: .7E+1 === 7');
+}
+
+//CHECK#8
+if (.8E+1 !== 8) {
+ $ERROR('#8: .8E+1 === 8');
+}
+
+//CHECK#9
+if (.9E+1 !== 9) {
+ $ERROR('#9: .9E+1 === 9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T7.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T7.js
new file mode 100644
index 000000000..2d6cda8dd
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T7.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A2.2_T7;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: .DecimalDigits ExponentPart;
+ * @description: ExponentPart :: e 0;
+*/
+
+//CHECK#0
+if (.0e0 !== 0.0) {
+ $ERROR('#0: .0e0 === 0.0');
+}
+
+//CHECK#1
+if (.1e0 !== 0.1) {
+ $ERROR('#1: .1e0 === 0.1');
+}
+
+//CHECK#2
+if (.2e0 !== 0.2) {
+ $ERROR('#2: .2e0 === 0.2');
+}
+
+//CHECK#3
+if (.3e0 !== 0.3) {
+ $ERROR('#3: .3e0 === 0.3');
+}
+
+//CHECK#4
+if (.4e0 !== 0.4) {
+ $ERROR('#4: .4e0 === 0.4');
+}
+
+//CHECK#5
+if (.5e0 !== 0.5) {
+ $ERROR('#5: .5e0 === 0.5');
+}
+
+//CHECK#6
+if (.6e0 !== 0.6) {
+ $ERROR('#6: .6e0 === 0.6');
+}
+
+//CHECK#7
+if (.7e0 !== 0.7) {
+ $ERROR('#7: .7e0 === 0.7');
+}
+
+//CHECK#8
+if (.8e0 !== 0.8) {
+ $ERROR('#8: .8e0 === 0.8');
+}
+
+//CHECK#9
+if (.9e0 !== 0.9) {
+ $ERROR('#9: .9e0 === 0.9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T8.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T8.js
new file mode 100644
index 000000000..e85c55fdf
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A2.2_T8.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A2.2_T8;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: .DecimalDigits ExponentPart;
+ * @description: ExponentPart :: E 0;
+*/
+
+//CHECK#0
+if (.0E0 !== 0.0) {
+ $ERROR('#0: .0E0 === 0.0');
+}
+
+//CHECK#1
+if (.1E0 !== 0.1) {
+ $ERROR('#1: .1E0 === 0.1');
+}
+
+//CHECK#2
+if (.2E0 !== 0.2) {
+ $ERROR('#2: .2E0 === 0.2');
+}
+
+//CHECK#3
+if (.3E0 !== 0.3) {
+ $ERROR('#3: .3E0 === 0.3');
+}
+
+//CHECK#4
+if (.4E0 !== 0.4) {
+ $ERROR('#4: .4E0 === 0.4');
+}
+
+//CHECK#5
+if (.5E0 !== 0.5) {
+ $ERROR('#5: .5E0 === 0.5');
+}
+
+//CHECK#6
+if (.6E0 !== 0.6) {
+ $ERROR('#6: .6E0 === 0.6');
+}
+
+//CHECK#7
+if (.7E0 !== 0.7) {
+ $ERROR('#7: .7E0 === 0.7');
+}
+
+//CHECK#8
+if (.8E0 !== 0.8) {
+ $ERROR('#8: .8E0 === 0.8');
+}
+
+//CHECK#9
+if (.9E0 !== 0.9) {
+ $ERROR('#9: .9E0 === 0.9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.1_T1.js
new file mode 100644
index 000000000..977ce1605
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.1_T1.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.1_T1;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. ;
+ * @description: DecimalIntegerLiteral :: 0, NoNZeroDigit;
+*/
+
+//CHECK#0
+if (0. !== 0) {
+ $ERROR('#0: 0. === 0');
+}
+
+//CHECK#1
+if (1. !== 1) {
+ $ERROR('#1: 1. === 1');
+}
+
+//CHECK#2
+if (2. !== 2) {
+ $ERROR('#2: 2. === 2');
+}
+
+//CHECK#3
+if (3. !== 3) {
+ $ERROR('#3: 3. === 3');
+}
+
+//CHECK#4
+if (4. !== 4) {
+ $ERROR('#4: 4. === 4');
+}
+
+//CHECK#5
+if (5. !== 5) {
+ $ERROR('#5: 5. === 5');
+}
+
+//CHECK#6
+if (6. !== 6) {
+ $ERROR('#6: 6. === 6');
+}
+
+//CHECK#7
+if (7. !== 7) {
+ $ERROR('#7: 7. === 7');
+}
+
+//CHECK#8
+if (8. !== 8) {
+ $ERROR('#8: 8. === 8');
+}
+
+//CHECK#9
+if (9. !== 9) {
+ $ERROR('#9: 9. === 9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.1_T2.js
new file mode 100644
index 000000000..87022120a
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.1_T2.js
@@ -0,0 +1,55 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.1_T2;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. ;
+ * @description: DecimalIntegerLiteral :: NoNZeroDigit DecimalDigigts;
+*/
+
+
+//CHECK#1
+if (11. !== 11) {
+ $ERROR('#1: 11. === 11');
+}
+
+//CHECK#2
+if (22. !== 22) {
+ $ERROR('#2: 22. === 22');
+}
+
+//CHECK#3
+if (33. !== 33) {
+ $ERROR('#3: 33. === 33');
+}
+
+//CHECK#4
+if (44. !== 44) {
+ $ERROR('#4: 44. === 44');
+}
+
+//CHECK#5
+if (55. !== 55) {
+ $ERROR('#5: 55. === 55');
+}
+
+//CHECK#6
+if (66. !== 66) {
+ $ERROR('#6: 66. === 66');
+}
+
+//CHECK#7
+if (77. !== 77) {
+ $ERROR('#7: 77. === 77');
+}
+
+//CHECK#8
+if (88. !== 88) {
+ $ERROR('#8: 88. === 88');
+}
+
+//CHECK#9
+if (99. !== 99) {
+ $ERROR('#9: 99. === 99');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T1.js
new file mode 100644
index 000000000..ee1afc0dd
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T1.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.2_T1;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. DecimalDigits;
+ * @description: After DecimalIntegerLiteral. used ZeroDigit;
+*/
+
+//CHECK#0
+if (0.0 !== 0) {
+ $ERROR('#0: 0.0 === 0');
+}
+
+//CHECK#1
+if (1.0 !== 1) {
+ $ERROR('#1: 1.0 === 1');
+}
+
+//CHECK#2
+if (2.0 !== 2) {
+ $ERROR('#2: 2.0 === 2');
+}
+
+//CHECK#3
+if (3.0 !== 3) {
+ $ERROR('#3: 3.0 === 3');
+}
+
+//CHECK#4
+if (4.0 !== 4) {
+ $ERROR('#4: 4.0 === 4');
+}
+
+//CHECK#5
+if (5.0 !== 5) {
+ $ERROR('#5: 5.0 === 5');
+}
+
+//CHECK#6
+if (6.0 !== 6) {
+ $ERROR('#6: 6.0 === 6');
+}
+
+//CHECK#7
+if (7.0 !== 7) {
+ $ERROR('#7: 7.0 === 7');
+}
+
+//CHECK#8
+if (8.0 !== 8) {
+ $ERROR('#8: 8.0 === 8');
+}
+
+//CHECK#9
+if (9.0 !== 9) {
+ $ERROR('#9: 9.0 === 9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T2.js
new file mode 100644
index 000000000..03688aa04
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T2.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.2_T2;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. DecimalDigits;
+ * @description: After DecimalIntegerLiteral. used ZeroDigits;
+*/
+
+//CHECK#0
+if (0.00 !== 0) {
+ $ERROR('#0: 0.00 === 0');
+}
+
+//CHECK#1
+if (1.00 !== 1) {
+ $ERROR('#1: 1.00 === 1');
+}
+
+//CHECK#2
+if (2.00 !== 2) {
+ $ERROR('#2: 2.00 === 2');
+}
+
+//CHECK#3
+if (3.00 !== 3) {
+ $ERROR('#3: 3.00 === 3');
+}
+
+//CHECK#4
+if (4.00 !== 4) {
+ $ERROR('#4: 4.00 === 4');
+}
+
+//CHECK#5
+if (5.00 !== 5) {
+ $ERROR('#5: 5.00 === 5');
+}
+
+//CHECK#6
+if (6.00 !== 6) {
+ $ERROR('#6: 6.00 === 6');
+}
+
+//CHECK#7
+if (7.00 !== 7) {
+ $ERROR('#7: 7.00 === 7');
+}
+
+//CHECK#8
+if (8.00 !== 8) {
+ $ERROR('#8: 8.00 === 8');
+}
+
+//CHECK#9
+if (9.00 !== 9) {
+ $ERROR('#9: 9.00 === 9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T3.js
new file mode 100644
index 000000000..1b06b4a98
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.2_T3.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.2_T3;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. DecimalDigits;
+ * @description: After DecimalIntegerLiteral. used NoNZeroDigit;
+*/
+
+//CHECK#0
+if (0.0 !== 0.0) {
+ $ERROR('#0: 0.0 === 0.0');
+}
+
+//CHECK#1
+if (1.1 !== 1.1) {
+ $ERROR('#1: 1.1 === 1.1');
+}
+
+//CHECK#2
+if (2.2 !== 2.2) {
+ $ERROR('#2: 2.2 === 2.2');
+}
+
+//CHECK#3
+if (3.3 !== 3.3) {
+ $ERROR('#3: 3.3 === 3.3');
+}
+
+//CHECK#4
+if (4.4 !== 4.4) {
+ $ERROR('#4: 4.4 === 4.4');
+}
+
+//CHECK#5
+if (5.5 !== 5.5) {
+ $ERROR('#5: 5.5 === 5.5');
+}
+
+//CHECK#6
+if (6.6 !== 6.6) {
+ $ERROR('#6: 6.6 === 6.6');
+}
+
+//CHECK#7
+if (7.7 !== 7.7) {
+ $ERROR('#7: 7.7 === 7.7');
+}
+
+//CHECK#8
+if (8.8 !== 8.8) {
+ $ERROR('#8: 8..8 === 8.8');
+}
+
+//CHECK#9
+if (9.9 !== 9.9) {
+ $ERROR('#9: 9.9 === 9.9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T1.js
new file mode 100644
index 000000000..4558c1e1c
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T1.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.3_T1;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. ExponentPart;
+ * @description: ExponentPart :: e DecimalDigits;
+*/
+
+//CHECK#0
+if (0.e1 !== 0) {
+ $ERROR('#0: 0.e1 === 0');
+}
+
+//CHECK#1
+if (1.e1 !== 10) {
+ $ERROR('#1: 1.e1 === 10');
+}
+
+//CHECK#2
+if (2.e1 !== 20) {
+ $ERROR('#2: 2.e1 === 20');
+}
+
+//CHECK#3
+if (3.e1 !== 30) {
+ $ERROR('#3: 3.e1 === 30');
+}
+
+//CHECK#4
+if (4.e1 !== 40) {
+ $ERROR('#4: 4.e1 === 40');
+}
+
+//CHECK#5
+if (5.e1 !== 50) {
+ $ERROR('#5: 5.e1 === 50');
+}
+
+//CHECK#6
+if (6.e1 !== 60) {
+ $ERROR('#6: 6.e1 === 60');
+}
+
+//CHECK#7
+if (7.e1 !== 70) {
+ $ERROR('#7: 7.e1 === 70');
+}
+
+//CHECK#8
+if (8.e1 !== 80) {
+ $ERROR('#8: 8.e1 === 80');
+}
+
+//CHECK#9
+if (9.e1 !== 90) {
+ $ERROR('#9: 9.e1 === 90');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T2.js
new file mode 100644
index 000000000..87648a40d
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T2.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.3_T2;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. ExponentPart;
+ * @description: ExponentPart :: E DecimalDigits;
+*/
+
+//CHECK#0
+if (0.E1 !== 0) {
+ $ERROR('#0: 0.E1 === 0');
+}
+
+//CHECK#1
+if (1.E1 !== 10) {
+ $ERROR('#1: 1.E1 === 10');
+}
+
+//CHECK#2
+if (2.E1 !== 20) {
+ $ERROR('#2: 2.E1 === 20');
+}
+
+//CHECK#3
+if (3.E1 !== 30) {
+ $ERROR('#3: 3.E1 === 30');
+}
+
+//CHECK#4
+if (4.E1 !== 40) {
+ $ERROR('#4: 4.E1 === 40');
+}
+
+//CHECK#5
+if (5.E1 !== 50) {
+ $ERROR('#5: 5.E1 === 50');
+}
+
+//CHECK#6
+if (6.E1 !== 60) {
+ $ERROR('#6: 6.E1 === 60');
+}
+
+//CHECK#7
+if (7.E1 !== 70) {
+ $ERROR('#7: 7.E1 === 70');
+}
+
+//CHECK#8
+if (8.E1 !== 80) {
+ $ERROR('#8: 8.E1 === 80');
+}
+
+//CHECK#9
+if (9.E1 !== 90) {
+ $ERROR('#9: 9.E1 === 90');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T3.js
new file mode 100644
index 000000000..6c4553b1f
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T3.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.3_T3;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. ExponentPart;
+ * @description: ExponentPart :: e -DecimalDigits;
+*/
+
+//CHECK#0
+if (0.e-1 !== 0) {
+ $ERROR('#0: 0.e-1 === 0');
+}
+
+//CHECK#1
+if (1.e-1 !== 0.1) {
+ $ERROR('#1: 1.e-1 === 0.1');
+}
+
+//CHECK#2
+if (2.e-1 !== 0.2) {
+ $ERROR('#2: 2.e-1 === 0.2');
+}
+
+//CHECK#3
+if (3.e-1 !== 0.3) {
+ $ERROR('#3: 3.e-1 === 0.3');
+}
+
+//CHECK#4
+if (4.e-1 !== 0.4) {
+ $ERROR('#4: 4.e-1 === 0.4');
+}
+
+//CHECK#5
+if (5.e-1 !== 0.5) {
+ $ERROR('#5: 5.e-1 === 0.5');
+}
+
+//CHECK#6
+if (6.e-1 !== 0.6) {
+ $ERROR('#6: 6.e-1 === 0.6');
+}
+
+//CHECK#7
+if (7.e-1 !== 0.7) {
+ $ERROR('#7: 7.e-1 === 0.7');
+}
+
+//CHECK#8
+if (8.e-1 !== 0.8) {
+ $ERROR('#8: 8.e-1 === 0.8');
+}
+
+//CHECK#9
+if (9.e-1 !== 0.9) {
+ $ERROR('#9: 9.e-1 === 0.9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T4.js
new file mode 100644
index 000000000..a47be52e6
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T4.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.3_T4;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. ExponentPart;
+ * @description: ExponentPart :: E -DecimalDigits;
+*/
+
+//CHECK#0
+if (0.E-1 !== 0) {
+ $ERROR('#0: 0.E-1 === 0');
+}
+
+//CHECK#1
+if (1.E-1 !== 0.1) {
+ $ERROR('#1: 1.E-1 === 0.1');
+}
+
+//CHECK#2
+if (2.E-1 !== 0.2) {
+ $ERROR('#2: 2.E-1 === 0.2');
+}
+
+//CHECK#3
+if (3.E-1 !== 0.3) {
+ $ERROR('#3: 3.E-1 === 0.3');
+}
+
+//CHECK#4
+if (4.E-1 !== 0.4) {
+ $ERROR('#4: 4.E-1 === 0.4');
+}
+
+//CHECK#5
+if (5.E-1 !== 0.5) {
+ $ERROR('#5: 5.E-1 === 0.5');
+}
+
+//CHECK#6
+if (6.E-1 !== 0.6) {
+ $ERROR('#6: 6.E-1 === 0.6');
+}
+
+//CHECK#7
+if (7.E-1 !== 0.7) {
+ $ERROR('#7: 7.E-1 === 0.7');
+}
+
+//CHECK#8
+if (8.E-1 !== 0.8) {
+ $ERROR('#8: 8.E-1 === 0.8');
+}
+
+//CHECK#9
+if (9.E-1 !== 0.9) {
+ $ERROR('#9: 9.E-1 === 0.9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T5.js
new file mode 100644
index 000000000..f4e0e079a
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T5.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.3_T5;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. ExponentPart;
+ * @description: ExponentPart :: e +DecimalDigits;
+*/
+
+//CHECK#0
+if (0.e+1 !== 0) {
+ $ERROR('#0: 0.e+1 === 0');
+}
+
+//CHECK#1
+if (1.e+1 !== 10) {
+ $ERROR('#1: 1.e+1 === 10');
+}
+
+//CHECK#2
+if (2.e+1 !== 20) {
+ $ERROR('#2: 2.e+1 === 20');
+}
+
+//CHECK#3
+if (3.e+1 !== 30) {
+ $ERROR('#3: 3.e+1 === 30');
+}
+
+//CHECK#4
+if (4.e+1 !== 40) {
+ $ERROR('#4: 4.e+1 === 40');
+}
+
+//CHECK#5
+if (5.e+1 !== 50) {
+ $ERROR('#5: 5.e+1 === 50');
+}
+
+//CHECK#6
+if (6.e+1 !== 60) {
+ $ERROR('#6: 6.e+1 === 60');
+}
+
+//CHECK#7
+if (7.e+1 !== 70) {
+ $ERROR('#7: 7.e+1 === 70');
+}
+
+//CHECK#8
+if (8.e+1 !== 80) {
+ $ERROR('#8: 8.e+1 === 80');
+}
+
+//CHECK#9
+if (9.e+1 !== 90) {
+ $ERROR('#9: 9.e+1 === 90');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T6.js
new file mode 100644
index 000000000..895b7d4c3
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T6.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.3_T6;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. ExponentPart;
+ * @description: ExponentPart :: E +DecimalDigits;
+*/
+
+//CHECK#0
+if (0.E+1 !== 0) {
+ $ERROR('#0: 0.E+1 === 0');
+}
+
+//CHECK#1
+if (1.E+1 !== 10) {
+ $ERROR('#1: 1.E+1 === 10');
+}
+
+//CHECK#2
+if (2.E+1 !== 20) {
+ $ERROR('#2: 2.E+1 === 20');
+}
+
+//CHECK#3
+if (3.E+1 !== 30) {
+ $ERROR('#3: 3.E+1 === 30');
+}
+
+//CHECK#4
+if (4.E+1 !== 40) {
+ $ERROR('#4: 4.E+1 === 40');
+}
+
+//CHECK#5
+if (5.E+1 !== 50) {
+ $ERROR('#5: 5.E+1 === 50');
+}
+
+//CHECK#6
+if (6.E+1 !== 60) {
+ $ERROR('#6: 6.E+1 === 60');
+}
+
+//CHECK#7
+if (7.E+1 !== 70) {
+ $ERROR('#7: 7.E+1 === 70');
+}
+
+//CHECK#8
+if (8.E+1 !== 80) {
+ $ERROR('#8: 8.E+1 === 80');
+}
+
+//CHECK#9
+if (9.E+1 !== 90) {
+ $ERROR('#9: 9.E+1 === 90');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T7.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T7.js
new file mode 100644
index 000000000..c779350d8
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T7.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.3_T7;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. ExponentPart;
+ * @description: ExponentPart :: e 0;
+*/
+
+//CHECK#0
+if (0.e0 !== 0) {
+ $ERROR('#0: 0.e0 === 0');
+}
+
+//CHECK#1
+if (1.e0 !== 1) {
+ $ERROR('#1: 1.e0 === 1');
+}
+
+//CHECK#2
+if (2.e0 !== 2) {
+ $ERROR('#2: 2.e0 === 2');
+}
+
+//CHECK#3
+if (3.e0 !== 3) {
+ $ERROR('#3: 3.e0 === 3');
+}
+
+//CHECK#4
+if (4.e0 !== 4) {
+ $ERROR('#4: 4.e0 === 4');
+}
+
+//CHECK#5
+if (5.e0 !== 5) {
+ $ERROR('#5: 5.e0 === 5');
+}
+
+//CHECK#6
+if (6.e0 !== 6) {
+ $ERROR('#6: 6.e0 === 6');
+}
+
+//CHECK#7
+if (7.e0 !== 7) {
+ $ERROR('#7: 7.e0 === 7');
+}
+
+//CHECK#8
+if (8.e0 !== 8) {
+ $ERROR('#8: 8.e0 === 8');
+}
+
+//CHECK#9
+if (9.e0 !== 9) {
+ $ERROR('#9: 9.e0 === 9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T8.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T8.js
new file mode 100644
index 000000000..fa1050097
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.3_T8.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.3_T8;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. ExponentPart;
+ * @description: ExponentPart :: E 0;
+*/
+
+//CHECK#0
+if (0.E0 !== 0) {
+ $ERROR('#0: 0.E0 === 0');
+}
+
+//CHECK#1
+if (1.E0 !== 1) {
+ $ERROR('#1: 1.E0 === 1');
+}
+
+//CHECK#2
+if (2.E0 !== 2) {
+ $ERROR('#2: 2.E0 === 2');
+}
+
+//CHECK#3
+if (3.E0 !== 3) {
+ $ERROR('#3: 3.E0 === 3');
+}
+
+//CHECK#4
+if (4.E0 !== 4) {
+ $ERROR('#4: 4.E0 === 4');
+}
+
+//CHECK#5
+if (5.E0 !== 5) {
+ $ERROR('#5: 5.E0 === 5');
+}
+
+//CHECK#6
+if (6.E0 !== 6) {
+ $ERROR('#6: 6.E0 === 6');
+}
+
+//CHECK#7
+if (7.E0 !== 7) {
+ $ERROR('#7: 7.E0 === 7');
+}
+
+//CHECK#8
+if (8.E0 !== 8) {
+ $ERROR('#8: 8.E0 === 8');
+}
+
+//CHECK#9
+if (9.E0 !== 9) {
+ $ERROR('#9: 9.E0 === 9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T1.js
new file mode 100644
index 000000000..4f1a8dd03
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T1.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.4_T1;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart;
+ * @description: ExponentPart :: e DecimalDigits;
+*/
+
+//CHECK#0
+if (0.0e1 !== 0) {
+ $ERROR('#0: 0.0e1 === 0');
+}
+
+//CHECK#1
+if (1.1e1 !== 11) {
+ $ERROR('#1: 1.1e1 === 11');
+}
+
+//CHECK#2
+if (2.2e1 !== 22) {
+ $ERROR('#2: 2.2e1 === 22');
+}
+
+//CHECK#3
+if (3.3e1 !== 33) {
+ $ERROR('#3: 3.3e1 === 33');
+}
+
+//CHECK#4
+if (4.4e1 !== 44) {
+ $ERROR('#4: 4.4e1 === 44');
+}
+
+//CHECK#5
+if (5.5e1 !== 55) {
+ $ERROR('#5: 5.5e1 === 55');
+}
+
+//CHECK#6
+if (6.6e1 !== 66) {
+ $ERROR('#6: 6.e1 === 66');
+}
+
+//CHECK#7
+if (7.7e1 !== 77) {
+ $ERROR('#7: 7.7e1 === 77');
+}
+
+//CHECK#8
+if (8.8e1 !== 88) {
+ $ERROR('#8: 8.8e1 === 88');
+}
+
+//CHECK#9
+if (9.9e1 !== 99) {
+ $ERROR('#9: 9.9e1 === 99');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T2.js
new file mode 100644
index 000000000..d77b7cc7f
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T2.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.4_T2;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart;
+ * @description: ExponentPart :: E DecimalDigits;
+*/
+
+//CHECK#0
+if (0.0E1 !== 0) {
+ $ERROR('#0: 0.0E1 === 0');
+}
+
+//CHECK#1
+if (1.1E1 !== 11) {
+ $ERROR('#1: 1.1E1 === 11');
+}
+
+//CHECK#2
+if (2.2E1 !== 22) {
+ $ERROR('#2: 2.2E1 === 22');
+}
+
+//CHECK#3
+if (3.3E1 !== 33) {
+ $ERROR('#3: 3.3E1 === 33');
+}
+
+//CHECK#4
+if (4.4E1 !== 44) {
+ $ERROR('#4: 4.4E1 === 44');
+}
+
+//CHECK#5
+if (5.5E1 !== 55) {
+ $ERROR('#5: 5.5E1 === 55');
+}
+
+//CHECK#6
+if (6.6E1 !== 66) {
+ $ERROR('#6: 6.E1 === 66');
+}
+
+//CHECK#7
+if (7.7E1 !== 77) {
+ $ERROR('#7: 7.7E1 === 77');
+}
+
+//CHECK#8
+if (8.8E1 !== 88) {
+ $ERROR('#8: 8.8E1 === 88');
+}
+
+//CHECK#9
+if (9.9E1 !== 99) {
+ $ERROR('#9: 9.9E1 === 99');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T3.js
new file mode 100644
index 000000000..afc436855
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T3.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.4_T3;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart;
+ * @description: ExponentPart :: e -DecimalDigits;
+*/
+
+//CHECK#0
+if (0.0e-1 !== 0) {
+ $ERROR('#0: 0.0e-1 === 0');
+}
+
+//CHECK#1
+if (1.1e-1 !== 0.11) {
+ $ERROR('#1: 1.1e-1 === 0.11');
+}
+
+//CHECK#2
+if (2.2e-1 !== 0.22) {
+ $ERROR('#2: 2.2e-1 === 0.22');
+}
+
+//CHECK#3
+if (3.3e-1 !== 0.33) {
+ $ERROR('#3: 3.3e-1 === 0.33');
+}
+
+//CHECK#4
+if (4.4e-1 !== 0.44) {
+ $ERROR('#4: 4.4e-1 === 0.44');
+}
+
+//CHECK#5
+if (5.5e-1 !== 0.55) {
+ $ERROR('#5: 5.5e-1 === 0.55');
+}
+
+//CHECK#6
+if (6.6e-1 !== 0.66) {
+ $ERROR('#6: 6.e-1 === 0.66');
+}
+
+//CHECK#7
+if (7.7e-1 !== 0.77) {
+ $ERROR('#7: 7.7e-1 === 0.77');
+}
+
+//CHECK#8
+if (8.8e-1 !== 0.88) {
+ $ERROR('#8: 8.8e-1 === 0.88');
+}
+
+//CHECK#9
+if (9.9e-1 !== 0.99) {
+ $ERROR('#9: 9.9e-1 === 0.99');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T4.js
new file mode 100644
index 000000000..237f5502b
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T4.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.4_T4;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart;
+ * @description: ExponentPart :: E -DecimalDigits;
+*/
+
+//CHECK#0
+if (0.0E-1 !== 0) {
+ $ERROR('#0: 0.0E-1 === 0');
+}
+
+//CHECK#1
+if (1.1E-1 !== 0.11) {
+ $ERROR('#1: 1.1E-1 === 0.11');
+}
+
+//CHECK#2
+if (2.2E-1 !== 0.22) {
+ $ERROR('#2: 2.2E-1 === 0.22');
+}
+
+//CHECK#3
+if (3.3E-1 !== 0.33) {
+ $ERROR('#3: 3.3E-1 === 0.33');
+}
+
+//CHECK#4
+if (4.4E-1 !== 0.44) {
+ $ERROR('#4: 4.4E-1 === 0.44');
+}
+
+//CHECK#5
+if (5.5E-1 !== 0.55) {
+ $ERROR('#5: 5.5E-1 === 0.55');
+}
+
+//CHECK#6
+if (6.6E-1 !== 0.66) {
+ $ERROR('#6: 6.E-1 === 0.66');
+}
+
+//CHECK#7
+if (7.7E-1 !== 0.77) {
+ $ERROR('#7: 7.7E-1 === 0.77');
+}
+
+//CHECK#8
+if (8.8E-1 !== 0.88) {
+ $ERROR('#8: 8.8E-1 === 0.88');
+}
+
+//CHECK#9
+if (9.9E-1 !== 0.99) {
+ $ERROR('#9: 9.9E-1 === 0.99');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T5.js
new file mode 100644
index 000000000..90e1682a1
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T5.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.4_T5;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart;
+ * @description: ExponentPart :: e +DecimalDigits;
+*/
+
+//CHECK#0
+if (0.0e+1 !== 0) {
+ $ERROR('#0: 0.0e+1 === 0');
+}
+
+//CHECK#1
+if (1.1e+1 !== 11) {
+ $ERROR('#1: 1.1e+1 === 11');
+}
+
+//CHECK#2
+if (2.2e+1 !== 22) {
+ $ERROR('#2: 2.2e+1 === 22');
+}
+
+//CHECK#3
+if (3.3e+1 !== 33) {
+ $ERROR('#3: 3.3e+1 === 33');
+}
+
+//CHECK#4
+if (4.4e+1 !== 44) {
+ $ERROR('#4: 4.4e+1 === 44');
+}
+
+//CHECK#5
+if (5.5e+1 !== 55) {
+ $ERROR('#5: 5.5e+1 === 55');
+}
+
+//CHECK#6
+if (6.6e+1 !== 66) {
+ $ERROR('#6: 6.e+1 === 66');
+}
+
+//CHECK#7
+if (7.7e+1 !== 77) {
+ $ERROR('#7: 7.7e+1 === 77');
+}
+
+//CHECK#8
+if (8.8e+1 !== 88) {
+ $ERROR('#8: 8.8e+1 === 88');
+}
+
+//CHECK#9
+if (9.9e+1 !== 99) {
+ $ERROR('#9: 9.9e+1 === 99');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T6.js
new file mode 100644
index 000000000..e91892ef1
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T6.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.4_T6;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart;
+ * @description: ExponentPart :: E +DecimalDigits;
+*/
+
+//CHECK#0
+if (0.0E+1 !== 0) {
+ $ERROR('#0: 0.0E+1 === 0');
+}
+
+//CHECK#1
+if (1.1E+1 !== 11) {
+ $ERROR('#1: 1.1E+1 === 11');
+}
+
+//CHECK#2
+if (2.2E+1 !== 22) {
+ $ERROR('#2: 2.2E+1 === 22');
+}
+
+//CHECK#3
+if (3.3E+1 !== 33) {
+ $ERROR('#3: 3.3E+1 === 33');
+}
+
+//CHECK#4
+if (4.4E+1 !== 44) {
+ $ERROR('#4: 4.4E+1 === 44');
+}
+
+//CHECK#5
+if (5.5E+1 !== 55) {
+ $ERROR('#5: 5.5E+1 === 55');
+}
+
+//CHECK#6
+if (6.6E+1 !== 66) {
+ $ERROR('#6: 6.E+1 === 66');
+}
+
+//CHECK#7
+if (7.7E+1 !== 77) {
+ $ERROR('#7: 7.7E+1 === 77');
+}
+
+//CHECK#8
+if (8.8E+1 !== 88) {
+ $ERROR('#8: 8.8E+1 === 88');
+}
+
+//CHECK#9
+if (9.9E+1 !== 99) {
+ $ERROR('#9: 9.9E+1 === 99');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T7.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T7.js
new file mode 100644
index 000000000..27caa4a39
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T7.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.4_T7;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart;
+ * @description: ExponentPart :: e 0;
+*/
+
+//CHECK#0
+if (0.0e0 !== 0.0) {
+ $ERROR('#0: 0.0e0 === 0.0');
+}
+
+//CHECK#1
+if (1.1e0 !== 1.1) {
+ $ERROR('#1: 1.1e0 === 1.1');
+}
+
+//CHECK#2
+if (2.2e0 !== 2.2) {
+ $ERROR('#2: 2.2e0 === 2.2');
+}
+
+//CHECK#3
+if (3.3e0 !== 3.3) {
+ $ERROR('#3: 3.3e0 === 3.3');
+}
+
+//CHECK#4
+if (4.4e0 !== 4.4) {
+ $ERROR('#4: 4.4e0 === 4.4');
+}
+
+//CHECK#5
+if (5.5e0 !== 5.5) {
+ $ERROR('#5: 5.5e0 === 5.5');
+}
+
+//CHECK#6
+if (6.6e0 !== 6.6) {
+ $ERROR('#6: 6.e0 === 6.6');
+}
+
+//CHECK#7
+if (7.7e0 !== 7.7) {
+ $ERROR('#7: 7.7e0 === 7.7');
+}
+
+//CHECK#8
+if (8.8e0 !== 8.8) {
+ $ERROR('#8: 8.8e0 === 8.8');
+}
+
+//CHECK#9
+if (9.9e0 !== 9.9) {
+ $ERROR('#9: 9.9e0 === 9.9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T8.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T8.js
new file mode 100644
index 000000000..cb5f34cd7
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A3.4_T8.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A3.4_T8;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart;
+ * @description: ExponentPart :: E 0;
+*/
+
+//CHECK#0
+if (0.0E0 !== 0.0) {
+ $ERROR('#0: 0.0E0 === 0.0');
+}
+
+//CHECK#1
+if (1.1E0 !== 1.1) {
+ $ERROR('#1: 1.1E0 === 1.1');
+}
+
+//CHECK#2
+if (2.2E0 !== 2.2) {
+ $ERROR('#2: 2.2E0 === 2.2');
+}
+
+//CHECK#3
+if (3.3E0 !== 3.3) {
+ $ERROR('#3: 3.3E0 === 3.3');
+}
+
+//CHECK#4
+if (4.4E0 !== 4.4) {
+ $ERROR('#4: 4.4E0 === 4.4');
+}
+
+//CHECK#5
+if (5.5E0 !== 5.5) {
+ $ERROR('#5: 5.5E0 === 5.5');
+}
+
+//CHECK#6
+if (6.6E0 !== 6.6) {
+ $ERROR('#6: 6.E0 === 6.6');
+}
+
+//CHECK#7
+if (7.7E0 !== 7.7) {
+ $ERROR('#7: 7.7E0 === 7.7');
+}
+
+//CHECK#8
+if (8.8E0 !== 8.8) {
+ $ERROR('#8: 8.8E0 === 8.8');
+}
+
+//CHECK#9
+if (9.9E0 !== 9.9) {
+ $ERROR('#9: 9.9E0 === 9.9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T1.js
new file mode 100644
index 000000000..1877e8684
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T1.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.1_T1;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: ExponentPart is incorrect;
+ * @description: ExponentPart :: e DecimalDigits;
+ * @negative
+*/
+
+//CHECK#1
+e1
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T2.js
new file mode 100644
index 000000000..b03351640
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T2.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.1_T2;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: ExponentPart is incorrect;
+ * @description: ExponentPart :: E DecimalDigits;
+ * @negative
+*/
+
+//CHECK#1
+E1
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T3.js
new file mode 100644
index 000000000..249f6f35b
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T3.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.1_T3;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: ExponentPart is incorrect;
+ * @description: ExponentPart :: e DecimalDigits;
+ * @negative
+*/
+
+//CHECK#1
+e-1
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T4.js
new file mode 100644
index 000000000..3b7cec99c
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T4.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.1_T4;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: ExponentPart is incorrect;
+ * @description: ExponentPart :: E DecimalDigits;
+ * @negative
+*/
+
+//CHECK#1
+E-1
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T5.js
new file mode 100644
index 000000000..1f92a7803
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T5.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.1_T5;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: ExponentPart is incorrect;
+ * @description: ExponentPart :: e DecimalDigits;
+ * @negative
+*/
+
+//CHECK#1
+e+1
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T6.js
new file mode 100644
index 000000000..ebd13fe46
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T6.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.1_T6;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: ExponentPart is incorrect;
+ * @description: ExponentPart :: E DecimalDigits;
+ * @negative
+*/
+
+//CHECK#1
+E+1
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T7.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T7.js
new file mode 100644
index 000000000..b6a02a0f0
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T7.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.1_T7;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: ExponentPart is incorrect;
+ * @description: ExponentPart :: e 0;
+ * @negative
+*/
+
+//CHECK#1
+e0
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T8.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T8.js
new file mode 100644
index 000000000..054da2a67
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.1_T8.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.1_T8;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: ExponentPart is incorrect;
+ * @description: ExponentPart :: E 0;
+ * @negative
+*/
+
+//CHECK#1
+E0
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T1.js
new file mode 100644
index 000000000..60ea9aa9d
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T1.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.2_T1;
+ * @section: 7.8.3;
+ * @assertion: ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed;
+ * @description: ExponentIndicator :: e;
+*/
+
+//CHECK#0
+if (0e01 !== 0) {
+ $ERROR('#0: 0e01 === 0');
+}
+
+//CHECK#1
+if (1e01 !== 10) {
+ $ERROR('#1: 1e01 === 10');
+}
+
+//CHECK#2
+if (2e01 !== 20) {
+ $ERROR('#2: 2e01 === 20');
+}
+
+//CHECK#3
+if (3e01 !== 30) {
+ $ERROR('#3: 3e01 === 30');
+}
+
+//CHECK#4
+if (4e01 !== 40) {
+ $ERROR('#4: 4e01 === 40');
+}
+
+//CHECK#5
+if (5e01 !== 50) {
+ $ERROR('#5: 5e01 === 50');
+}
+
+//CHECK#6
+if (6e01 !== 60) {
+ $ERROR('#6: 6e01 === 60');
+}
+
+//CHECK#7
+if (7e01 !== 70) {
+ $ERROR('#7: 7e01 === 70');
+}
+
+//CHECK#8
+if (8e01 !== 80) {
+ $ERROR('#8: 8e01 === 80');
+}
+
+//CHECK#9
+if (9e01 !== 90) {
+ $ERROR('#9: 9e01 === 90');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T2.js
new file mode 100644
index 000000000..cd727a47c
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T2.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.2_T2;
+ * @section: 7.8.3;
+ * @assertion: ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed;
+ * @description: ExponentIndicator :: E;
+*/
+
+//CHECK#0
+if (0E01 !== 0) {
+ $ERROR('#0: 0E01 === 0');
+}
+
+//CHECK#1
+if (1E01 !== 10) {
+ $ERROR('#1: 1E01 === 10');
+}
+
+//CHECK#2
+if (2E01 !== 20) {
+ $ERROR('#2: 2E01 === 20');
+}
+
+//CHECK#3
+if (3E01 !== 30) {
+ $ERROR('#3: 3E01 === 30');
+}
+
+//CHECK#4
+if (4E01 !== 40) {
+ $ERROR('#4: 4E01 === 40');
+}
+
+//CHECK#5
+if (5E01 !== 50) {
+ $ERROR('#5: 5E01 === 50');
+}
+
+//CHECK#6
+if (6E01 !== 60) {
+ $ERROR('#6: 6E01 === 60');
+}
+
+//CHECK#7
+if (7E01 !== 70) {
+ $ERROR('#7: 7E01 === 70');
+}
+
+//CHECK#8
+if (8E01 !== 80) {
+ $ERROR('#8: 8E01 === 80');
+}
+
+//CHECK#9
+if (9E01 !== 90) {
+ $ERROR('#9: 9E01 === 90');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T3.js
new file mode 100644
index 000000000..153ad87fa
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T3.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.2_T3;
+ * @section: 7.8.3;
+ * @assertion: ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed;
+ * @description: ExponentIndicator :: e;
+*/
+
+//CHECK#0
+if (0e-01 !== 0) {
+ $ERROR('#0: 0e-01 === 0');
+}
+
+//CHECK#1
+if (1e-01 !== 0.1) {
+ $ERROR('#1: 1e-01 === 0.1');
+}
+
+//CHECK#2
+if (2e-01 !== 0.2) {
+ $ERROR('#2: 2e-01 === 0.2');
+}
+
+//CHECK#3
+if (3e-01 !== 0.3) {
+ $ERROR('#3: 3e-01 === 0.3');
+}
+
+//CHECK#4
+if (4e-01 !== 0.4) {
+ $ERROR('#4: 4e-01 === 0.4');
+}
+
+//CHECK#5
+if (5e-01 !== 0.5) {
+ $ERROR('#5: 5e-01 === 0.5');
+}
+
+//CHECK#6
+if (6e-01 !== 0.6) {
+ $ERROR('#6: 6e-01 === 0.6');
+}
+
+//CHECK#7
+if (7e-01 !== 0.7) {
+ $ERROR('#7: 7e-01 === 0.7');
+}
+
+//CHECK#8
+if (8e-01 !== 0.8) {
+ $ERROR('#8: 8e-01 === 0.8');
+}
+
+//CHECK#9
+if (9e-01 !== 0.9) {
+ $ERROR('#9: 9e-01 === 0.9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T4.js
new file mode 100644
index 000000000..8764c7b2b
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T4.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.2_T4;
+ * @section: 7.8.3;
+ * @assertion: ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed;
+ * @description: ExponentIndicator :: E;
+*/
+
+//CHECK#0
+if (0E-01 !== 0) {
+ $ERROR('#0: 0E-01 === 0');
+}
+
+//CHECK#1
+if (1E-01 !== 0.1) {
+ $ERROR('#1: 1E-01 === 0.1');
+}
+
+//CHECK#2
+if (2E-01 !== 0.2) {
+ $ERROR('#2: 2E-01 === 0.2');
+}
+
+//CHECK#3
+if (3E-01 !== 0.3) {
+ $ERROR('#3: 3E-01 === 0.3');
+}
+
+//CHECK#4
+if (4E-01 !== 0.4) {
+ $ERROR('#4: 4E-01 === 0.4');
+}
+
+//CHECK#5
+if (5E-01 !== 0.5) {
+ $ERROR('#5: 5E-01 === 0.5');
+}
+
+//CHECK#6
+if (6E-01 !== 0.6) {
+ $ERROR('#6: 6E-01 === 0.6');
+}
+
+//CHECK#7
+if (7E-01 !== 0.7) {
+ $ERROR('#7: 7E-01 === 0.7');
+}
+
+//CHECK#8
+if (8E-01 !== 0.8) {
+ $ERROR('#8: 8E-01 === 0.8');
+}
+
+//CHECK#9
+if (9E-01 !== 0.9) {
+ $ERROR('#9: 9E-01 === 0.9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T5.js
new file mode 100644
index 000000000..b5e707ceb
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T5.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.2_T5;
+ * @section: 7.8.3;
+ * @assertion: ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed;
+ * @description: ExponentIndicator :: e;
+*/
+
+//CHECK#0
+if (0e+01 !== 0) {
+ $ERROR('#0: 0e+01 === 0');
+}
+
+//CHECK#1
+if (1e+01 !== 10) {
+ $ERROR('#1: 1e+01 === 10');
+}
+
+//CHECK#2
+if (2e+01 !== 20) {
+ $ERROR('#2: 2e+01 === 20');
+}
+
+//CHECK#3
+if (3e+01 !== 30) {
+ $ERROR('#3: 3e+01 === 30');
+}
+
+//CHECK#4
+if (4e+01 !== 40) {
+ $ERROR('#4: 4e+01 === 40');
+}
+
+//CHECK#5
+if (5e+01 !== 50) {
+ $ERROR('#5: 5e+01 === 50');
+}
+
+//CHECK#6
+if (6e+01 !== 60) {
+ $ERROR('#6: 6e+01 === 60');
+}
+
+//CHECK#7
+if (7e+01 !== 70) {
+ $ERROR('#7: 7e+01 === 70');
+}
+
+//CHECK#8
+if (8e+01 !== 80) {
+ $ERROR('#8: 8e+01 === 80');
+}
+
+//CHECK#9
+if (9e+01 !== 90) {
+ $ERROR('#9: 9e+01 === 90');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T6.js
new file mode 100644
index 000000000..f6b3cdbc2
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T6.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.2_T6;
+ * @section: 7.8.3;
+ * @assertion: ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed;
+ * @description: ExponentIndicator :: E;
+*/
+
+//CHECK#0
+if (0E+01 !== 0) {
+ $ERROR('#0: 0E+01 === 0');
+}
+
+//CHECK#1
+if (1E+01 !== 10) {
+ $ERROR('#1: 1E+01 === 10');
+}
+
+//CHECK#2
+if (2E+01 !== 20) {
+ $ERROR('#2: 2E+01 === 20');
+}
+
+//CHECK#3
+if (3E+01 !== 30) {
+ $ERROR('#3: 3E+01 === 30');
+}
+
+//CHECK#4
+if (4E+01 !== 40) {
+ $ERROR('#4: 4E+01 === 40');
+}
+
+//CHECK#5
+if (5E+01 !== 50) {
+ $ERROR('#5: 5E+01 === 50');
+}
+
+//CHECK#6
+if (6E+01 !== 60) {
+ $ERROR('#6: 6E+01 === 60');
+}
+
+//CHECK#7
+if (7E+01 !== 70) {
+ $ERROR('#7: 7E+01 === 70');
+}
+
+//CHECK#8
+if (8E+01 !== 80) {
+ $ERROR('#8: 8E+01 === 80');
+}
+
+//CHECK#9
+if (9E+01 !== 90) {
+ $ERROR('#9: 9E+01 === 90');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T7.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T7.js
new file mode 100644
index 000000000..a2543f9c5
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T7.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.2_T7;
+ * @section: 7.8.3;
+ * @assertion: ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed;
+ * @description: ExponentIndicator :: e;
+*/
+
+//CHECK#0
+if (0e00 !== 0) {
+ $ERROR('#0: 0e00 === 0');
+}
+
+//CHECK#1
+if (1e00 !== 1) {
+ $ERROR('#1: 1e00 === 1');
+}
+
+//CHECK#2
+if (2e00 !== 2) {
+ $ERROR('#2: 2e00 === 2');
+}
+
+//CHECK#3
+if (3e00 !== 3) {
+ $ERROR('#3: 3e00 === 3');
+}
+
+//CHECK#4
+if (4e00 !== 4) {
+ $ERROR('#4: 4e00 === 4');
+}
+
+//CHECK#5
+if (5e00 !== 5) {
+ $ERROR('#5: 5e00 === 5');
+}
+
+//CHECK#6
+if (6e00 !== 6) {
+ $ERROR('#6: 6e00 === 6');
+}
+
+//CHECK#7
+if (7e00 !== 7) {
+ $ERROR('#7: 7e00 === 7');
+}
+
+//CHECK#8
+if (8e00 !== 8) {
+ $ERROR('#8: 8e00 === 8');
+}
+
+//CHECK#9
+if (9e00 !== 9) {
+ $ERROR('#9: 9e00 === 9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T8.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T8.js
new file mode 100644
index 000000000..7496e6e12
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A4.2_T8.js
@@ -0,0 +1,59 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A4.2_T8;
+ * @section: 7.8.3;
+ * @assertion: ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed;
+ * @description: ExponentIndicator :: E;
+*/
+
+//CHECK#0
+if (0E00 !== 0) {
+ $ERROR('#0: 0E00 === 0');
+}
+
+//CHECK#1
+if (1E00 !== 1) {
+ $ERROR('#1: 1E00 === 1');
+}
+
+//CHECK#2
+if (2E00 !== 2) {
+ $ERROR('#2: 2E00 === 2');
+}
+
+//CHECK#3
+if (3E00 !== 3) {
+ $ERROR('#3: 3E00 === 3');
+}
+
+//CHECK#4
+if (4E00 !== 4) {
+ $ERROR('#4: 4E00 === 4');
+}
+
+//CHECK#5
+if (5E00 !== 5) {
+ $ERROR('#5: 5E00 === 5');
+}
+
+//CHECK#6
+if (6E00 !== 6) {
+ $ERROR('#6: 6E00 === 6');
+}
+
+//CHECK#7
+if (7E00 !== 7) {
+ $ERROR('#7: 7E00 === 7');
+}
+
+//CHECK#8
+if (8E00 !== 8) {
+ $ERROR('#8: 8E00 === 8');
+}
+
+//CHECK#9
+if (9E00 !== 9) {
+ $ERROR('#9: 9E00 === 9');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T1.js
new file mode 100644
index 000000000..b66e15df2
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T1.js
@@ -0,0 +1,89 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A5.1_T1;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: HexIntegerLiteral;
+ * @description: HexIntegerLiteral :: 0x Digit;
+*/
+
+//CHECK#0
+if (0x0 !== 0) {
+ $ERROR('#0: 0x0 === 0');
+}
+
+//CHECK#1
+if (0x1 !== 1) {
+ $ERROR('#1: 0x1 === 1');
+}
+
+//CHECK#2
+if (0x2 !== 2) {
+ $ERROR('#2: 0x2 === 2');
+}
+
+//CHECK#3
+if (0x3 !== 3) {
+ $ERROR('#3: 0x3 === 3');
+}
+
+//CHECK#4
+if (0x4 !== 4) {
+ $ERROR('#4: 0x4 === 4');
+}
+
+//CHECK#5
+if (0x5 !== 5) {
+ $ERROR('#5: 0x5 === 5');
+}
+
+//CHECK#6
+if (0x6 !== 6) {
+ $ERROR('#6: 0x6 === 6');
+}
+
+//CHECK#7
+if (0x7 !== 7) {
+ $ERROR('#7: 0x7 === 7');
+}
+
+//CHECK#8
+if (0x8 !== 8) {
+ $ERROR('#8: 0x8 === 8');
+}
+
+//CHECK#9
+if (0x9 !== 9) {
+ $ERROR('#9: 0x9 === 9');
+}
+
+//CHECK#A
+if (0xA !== 10) {
+ $ERROR('#A: 0xA === 10');
+}
+
+//CHECK#B
+if (0xB !== 11) {
+ $ERROR('#B: 0xB === 11');
+}
+
+//CHECK#C
+if (0xC !== 12) {
+ $ERROR('#C: 0xC === 12');
+}
+
+//CHECK#D
+if (0xD !== 13) {
+ $ERROR('#D: 0xD === 13');
+}
+
+//CHECK#E
+if (0xE !== 14) {
+ $ERROR('#E: 0xE === 14');
+}
+
+//CHECK#F
+if (0xF !== 15) {
+ $ERROR('#F: 0xF === 15');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T2.js
new file mode 100644
index 000000000..a1a44c125
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T2.js
@@ -0,0 +1,89 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A5.1_T2;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: HexIntegerLiteral;
+ * @description: HexIntegerLiteral :: 0X Digit;
+*/
+
+//CHECK#0
+if (0X0 !== 0) {
+ $ERROR('#0: 0X0 === 0');
+}
+
+//CHECK#1
+if (0X1 !== 1) {
+ $ERROR('#1: 0X1 === 1');
+}
+
+//CHECK#2
+if (0X2 !== 2) {
+ $ERROR('#2: 0X2 === 2');
+}
+
+//CHECK#3
+if (0X3 !== 3) {
+ $ERROR('#3: 0X3 === 3');
+}
+
+//CHECK#4
+if (0X4 !== 4) {
+ $ERROR('#4: 0X4 === 4');
+}
+
+//CHECK#5
+if (0X5 !== 5) {
+ $ERROR('#5: 0X5 === 5');
+}
+
+//CHECK#6
+if (0X6 !== 6) {
+ $ERROR('#6: 0X6 === 6');
+}
+
+//CHECK#7
+if (0X7 !== 7) {
+ $ERROR('#7: 0X7 === 7');
+}
+
+//CHECK#8
+if (0X8 !== 8) {
+ $ERROR('#8: 0X8 === 8');
+}
+
+//CHECK#9
+if (0X9 !== 9) {
+ $ERROR('#9: 0X9 === 9');
+}
+
+//CHECK#A
+if (0XA !== 10) {
+ $ERROR('#A: 0XA === 10');
+}
+
+//CHECK#B
+if (0XB !== 11) {
+ $ERROR('#B: 0XB === 11');
+}
+
+//CHECK#C
+if (0XC !== 12) {
+ $ERROR('#C: 0XC === 12');
+}
+
+//CHECK#D
+if (0XD !== 13) {
+ $ERROR('#D: 0XD === 13');
+}
+
+//CHECK#E
+if (0XE !== 14) {
+ $ERROR('#E: 0XE === 14');
+}
+
+//CHECK#F
+if (0XF !== 15) {
+ $ERROR('#F: 0XF === 15');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T3.js
new file mode 100644
index 000000000..d8ecddd66
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T3.js
@@ -0,0 +1,54 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A5.1_T3;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: HexIntegerLiteral;
+ * @description: HexIntegerLiteral :: 0x NonZeroDigit Digits;
+*/
+
+//CHECK#0
+if (0x0 !== 0) {
+ $ERROR('#0: 0x0 === 0');
+}
+
+//CHECK#1
+if (0x1 !== 1) {
+ $ERROR('#1: 0x1 === 1');
+}
+
+//CHECK#2
+if (0x10 !== 16) {
+ $ERROR('#2: 0x10 === 16');
+}
+
+//CHECK3
+if (0x100 !== 256) {
+ $ERROR('3: 0x100 === 256');
+}
+
+//CHECK#4
+if (0x1000 !== 4096) {
+ $ERROR('#4: 0x1000 === 4096');
+}
+
+//CHECK#5
+if (0x10000 !== 65536) {
+ $ERROR('#5: 0x10000 === 65536');
+}
+
+//CHECK#6
+if (0x100000 !== 1048576) {
+ $ERROR('#6: 0x100000 === 1048576');
+}
+
+//CHECK#7
+if (0x1000000 !== 16777216) {
+ $ERROR('#7: 0x1000000 === 16777216');
+}
+
+//CHECK#8
+if (0x10000000 !== 268435456) {
+ $ERROR('#8: 0x10000000 === 268435456');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T4.js
new file mode 100644
index 000000000..0b93e371c
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T4.js
@@ -0,0 +1,54 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A5.1_T4;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: HexIntegerLiteral;
+ * @description: HexIntegerLiteral :: 0X NonZeroDigit Digits;
+*/
+
+//CHECK#0
+if (0X0 !== 0) {
+ $ERROR('#0: 0X0 === 0');
+}
+
+//CHECK#1
+if (0X1 !== 1) {
+ $ERROR('#1: 0X1 === 1');
+}
+
+//CHECK#2
+if (0X10 !== 16) {
+ $ERROR('#2: 0X10 === 16');
+}
+
+//CHECK3
+if (0X100 !== 256) {
+ $ERROR('3: 0X100 === 256');
+}
+
+//CHECK#4
+if (0X1000 !== 4096) {
+ $ERROR('#4: 0X1000 === 4096');
+}
+
+//CHECK#5
+if (0X10000 !== 65536) {
+ $ERROR('#5: 0X10000 === 65536');
+}
+
+//CHECK#6
+if (0X100000 !== 1048576) {
+ $ERROR('#6: 0X100000 === 1048576');
+}
+
+//CHECK#7
+if (0X1000000 !== 16777216) {
+ $ERROR('#7: 0X1000000 === 16777216');
+}
+
+//CHECK#8
+if (0X10000000 !== 268435456) {
+ $ERROR('#8: 0X10000000 === 268435456');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T5.js
new file mode 100644
index 000000000..f7461a8d3
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T5.js
@@ -0,0 +1,54 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A5.1_T5;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: HexIntegerLiteral;
+ * @description: HexIntegerLiteral :: 0x0 Digits;
+*/
+
+//CHECK#0
+if (0x00 !== 0) {
+ $ERROR('#0: 0x00 === 0');
+}
+
+//CHECK#1
+if (0x01 !== 1) {
+ $ERROR('#1: 0x01 === 1');
+}
+
+//CHECK#2
+if (0x010 !== 16) {
+ $ERROR('#2: 0x010 === 16');
+}
+
+//CHECK3
+if (0x0100 !== 256) {
+ $ERROR('3: 0x0100 === 256');
+}
+
+//CHECK#4
+if (0x01000 !== 4096) {
+ $ERROR('#4: 0x01000 === 4096');
+}
+
+//CHECK#5
+if (0x010000 !== 65536) {
+ $ERROR('#5: 0x010000 === 65536');
+}
+
+//CHECK#6
+if (0x0100000 !== 1048576) {
+ $ERROR('#6: 0x0100000 === 1048576');
+}
+
+//CHECK#7
+if (0x01000000 !== 16777216) {
+ $ERROR('#7: 0x01000000 === 16777216');
+}
+
+//CHECK#8
+if (0x010000000 !== 268435456) {
+ $ERROR('#8: 0x010000000 === 268435456');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T6.js
new file mode 100644
index 000000000..b79cf24f3
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T6.js
@@ -0,0 +1,54 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A5.1_T6;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: HexIntegerLiteral;
+ * @description: HexIntegerLiteral :: 0X0 Digits;
+*/
+
+//CHECK#0
+if (0X00 !== 0) {
+ $ERROR('#0: 0X00 === 0');
+}
+
+//CHECK#1
+if (0X01 !== 1) {
+ $ERROR('#1: 0X01 === 1');
+}
+
+//CHECK#2
+if (0X010 !== 16) {
+ $ERROR('#2: 0X010 === 16');
+}
+
+//CHECK3
+if (0X0100 !== 256) {
+ $ERROR('3: 0X0100 === 256');
+}
+
+//CHECK#4
+if (0X01000 !== 4096) {
+ $ERROR('#4: 0X01000 === 4096');
+}
+
+//CHECK#5
+if (0X010000 !== 65536) {
+ $ERROR('#5: 0X010000 === 65536');
+}
+
+//CHECK#6
+if (0X0100000 !== 1048576) {
+ $ERROR('#6: 0X0100000 === 1048576');
+}
+
+//CHECK#7
+if (0X01000000 !== 16777216) {
+ $ERROR('#7: 0X01000000 === 16777216');
+}
+
+//CHECK#8
+if (0X010000000 !== 268435456) {
+ $ERROR('#8: 0X010000000 === 268435456');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T7.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T7.js
new file mode 100644
index 000000000..1f0362640
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T7.js
@@ -0,0 +1,39 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A5.1_T7;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: HexIntegerLiteral;
+ * @description: HexIntegerLiteral :: 0x one of a, b, c, d, e, f;
+*/
+
+//CHECK#a
+if (0xa !== 10) {
+ $ERROR('#a: 0xa === 10');
+}
+
+//CHECK#b
+if (0xb !== 11) {
+ $ERROR('#b: 0xb === 11');
+}
+
+//CHECK#c
+if (0xc !== 12) {
+ $ERROR('#c: 0xc === 12');
+}
+
+//CHECK#d
+if (0xd !== 13) {
+ $ERROR('#d: 0xd === 13');
+}
+
+//CHECK#e
+if (0xe !== 14) {
+ $ERROR('#e: 0xe === 14');
+}
+
+//CHECK#f
+if (0xf !== 15) {
+ $ERROR('#f: 0xf === 15');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T8.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T8.js
new file mode 100644
index 000000000..ece396353
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A5.1_T8.js
@@ -0,0 +1,39 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A5.1_T8;
+ * @section: 7.8.3;
+ * @assertion: DecimalLiteral :: HexIntegerLiteral;
+ * @description: HexIntegerLiteral :: 0X one of a, b, c, d, e, f;
+*/
+
+//CHECK#a
+if (0Xa !== 10) {
+ $ERROR('#a: 0Xa === 10');
+}
+
+//CHECK#b
+if (0Xb !== 11) {
+ $ERROR('#b: 0Xb === 11');
+}
+
+//CHECK#c
+if (0Xc !== 12) {
+ $ERROR('#c: 0Xc === 12');
+}
+
+//CHECK#d
+if (0Xd !== 13) {
+ $ERROR('#d: 0Xd === 13');
+}
+
+//CHECK#e
+if (0Xe !== 14) {
+ $ERROR('#e: 0Xe === 14');
+}
+
+//CHECK#f
+if (0Xf !== 15) {
+ $ERROR('#f: 0Xf === 15');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.1_T1.js
new file mode 100644
index 000000000..ed047c229
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.1_T1.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A6.1_T1;
+ * @section: 7.8.3;
+ * @assertion: HexIntegerLiteral :: 0(x/X) is incorrect;
+ * @description: Checking if execution of "0x" passes;
+ * @negative
+*/
+
+//CHECK#1
+0x
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.1_T2.js
new file mode 100644
index 000000000..020f016f5
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.1_T2.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A6.1_T2;
+ * @section: 7.8.3;
+ * @assertion: HexIntegerLiteral :: 0(x/X) is incorrect;
+ * @description: Checking if execution of "0X" passes;
+ * @negative
+*/
+
+//CHECK#1
+0X
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.2_T1.js
new file mode 100644
index 000000000..217961fb1
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.2_T1.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A6.2_T1;
+ * @section: 7.8.3;
+ * @assertion: 0xG is incorrect;
+ * @description: Checking if execution of "0xG" fails;
+ * @negative
+*/
+
+//CHECK#1
+0xG
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.2_T2.js
new file mode 100644
index 000000000..54689cb3e
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.3_Numeric_Literals/S7.8.3_A6.2_T2.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.3_A6.2_T2;
+ * @section: 7.8.3;
+ * @assertion: 0xG is incorrect;
+ * @description: Checking if execution of "0xg" fails;
+ * @negative
+*/
+
+//CHECK#1
+0xg
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.1_T1.js
new file mode 100644
index 000000000..39852b6b7
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.1_T1.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A1.1_T1;
+ * @section: 7.8.4;
+ * @assertion: StringLiteral :: "DoubleStringCharacters_opt";
+ * @description: DoubleStringCharacter :: SourceCharacter but not double-quote " or LineTerminator;
+ * @negative
+*/
+
+//CHECK#1
+"""
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.1_T2.js
new file mode 100644
index 000000000..978b72c66
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.1_T2.js
@@ -0,0 +1,14 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A1.1_T2;
+ * @section: 7.8.4;
+ * @assertion: StringLiteral :: "DoubleStringCharacters_opt";
+ * @description: DoubleStringCharacter :: SourceCharacter but not double-quote " or LineTerminator;
+ * @negative
+*/
+
+//CHECK#1
+"
+"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.2_T1.js
new file mode 100644
index 000000000..a1589e9bf
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.2_T1.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A1.2_T1;
+ * @section: 7.8.4;
+ * @assertion: StringLiteral :: 'SingleStringCharacters_opt';
+ * @description: SingleStringCharacter :: SourceCharacter but not single-quote ' or LineTerminator;
+ * @negative
+*/
+
+//CHECK#1
+'''
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.2_T2.js
new file mode 100644
index 000000000..f3467d769
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A1.2_T2.js
@@ -0,0 +1,14 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A1.2_T2;
+ * @section: 7.8.4;
+ * @assertion: StringLiteral :: 'SingleStringCharacters_opt';
+ * @description: SingleStringCharacter :: SourceCharacter but not single-quote ' or LineTerminator;
+ * @negative
+*/
+
+//CHECK#1
+'
+'
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.1_T1.js
new file mode 100644
index 000000000..d2b72052a
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.1_T1.js
@@ -0,0 +1,18 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A2.1_T1;
+ * @section: 7.8.4;
+ * @assertion: Correct interpretation of ENGLISH ALPHABET;
+ * @description: Check ENGLISH CAPITAL ALPHABET;
+*/
+
+//CHECK#A-Z
+unicode = ["\u0041", "\u0042", "\u0043", "\u0044", "\u0045", "\u0046", "\u0047", "\u0048", "\u0049", "\u004A", "\u004B", "\u004C", "\u004D", "\u004E", "\u004F", "\u0050", "\u0051", "\u0052", "\u0053", "\u0054", "\u0055", "\u0056", "\u0057", "\u0058", "\u0059", "\u005A"];
+character = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
+for (index = 0; index <= 25; index++) {
+ if (unicode[index] !== character[index]) {
+ $ERROR('#' + character[index] + ' ');
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.1_T2.js
new file mode 100644
index 000000000..fcd0cf0b3
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.1_T2.js
@@ -0,0 +1,18 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A2.1_T2;
+ * @section: 7.8.4;
+ * @assertion: Correct interpretation of ENGLISH ALPHABET;
+ * @description: Check ENGLISH SMALL ALPHABET;
+*/
+
+//CHECK#a-z
+hex = ["\u0061", "\u0062", "\u0063", "\u0064", "\u0065", "\u0066", "\u0067", "\u0068", "\u0069", "\u006A", "\u006B", "\u006C", "\u006D", "\u006E", "\u006F", "\u0070", "\u0071", "\u0072", "\u0073", "\u0074", "\u0075", "\u0076", "\u0077", "\u0078", "\u0079", "\u007A"];
+character = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
+for (index = 0; index <= 25; index++) {
+ if (hex[index] !== character[index]) {
+ $ERROR('#' + character[index] + ' ');
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.2_T1.js
new file mode 100644
index 000000000..b51178192
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.2_T1.js
@@ -0,0 +1,18 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A2.2_T1;
+ * @section: 7.8.4;
+ * @assertion: Correct interpretation of RUSSIAN ALPHABET;
+ * @description: Check RUSSIAN CAPITAL ALPHABET;
+*/
+
+//CHECK#А-Я
+unicode = ["\u0410", "\u0411", "\u0412", "\u0413", "\u0414", "\u0415", "\u0416", "\u0417", "\u0418", "\u0419", "\u041A", "\u041B", "\u041C", "\u041D", "\u041E", "\u041F", "\u0420", "\u0421", "\u0422", "\u0423", "\u0424", "\u0425", "\u0426", "\u0427", "\u0428", "\u0429", "\u042A", "\u042B", "\u042C", "\u042D", "\u042E", "\u042F", "\u0401"];
+character = ["А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я", "Ё"];
+for (index = 0; index <= 32; index++) {
+ if (unicode[index] !== character[index]) {
+ $ERROR('#' + character[index] + ' ');
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.2_T2.js
new file mode 100644
index 000000000..ddc41a26f
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.2_T2.js
@@ -0,0 +1,18 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A2.2_T2;
+ * @section: 7.8.4;
+ * @assertion: Correct interpretation of RUSSIAN ALPHABET;
+ * @description: Check RUSSIAN SMALL ALPHABET;
+*/
+
+//CHECK#а-я
+unicode = ["\u0430", "\u0431", "\u0432", "\u0433", "\u0434", "\u0435", "\u0436", "\u0437", "\u0438", "\u0439", "\u043A", "\u043B", "\u043C", "\u043D", "\u043E", "\u043F", "\u0440", "\u0441", "\u0442", "\u0443", "\u0444", "\u0445", "\u0446", "\u0447", "\u0448", "\u0449", "\u044A", "\u044B", "\u044C", "\u044D", "\u044E", "\u044F", "\u0451"];
+character = ["а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", "ё"];
+for (index = 0; index <= 32; index++) {
+ if (unicode[index] !== character[index]) {
+ $ERROR('#' + character[index] + ' ');
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.3_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.3_T1.js
new file mode 100644
index 000000000..017d0e13b
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A2.3_T1.js
@@ -0,0 +1,18 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A2.3_T1;
+ * @section: 7.8.4;
+ * @assertion: Correct interpretation of DIGITS;
+ * @description: Check DIGITS;
+*/
+
+//CHECK#0-9
+unicode = ["\u0030", "\u0031", "\u0032", "\u0033", "\u0034", "\u0035", "\u0036", "\u0037", "\u0038", "\u0039"];
+character = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
+for (index = 0; index <= 9; index++) {
+ if (unicode[index] !== character[index]) {
+ $ERROR('#' + character[index] + ' ');
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.1_T1.js
new file mode 100644
index 000000000..2a8739269
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.1_T1.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A3.1_T1;
+ * @section: 7.8.4;
+ * @assertion: StringLiteral :: "\" or '\' is not correct;
+ * @description: Checking if execution of "\" fails;
+ * @negative
+*/
+
+//CHECK#1
+"\"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.1_T2.js
new file mode 100644
index 000000000..690a37607
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.1_T2.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A3.1_T2;
+ * @section: 7.8.4;
+ * @assertion: StringLiteral :: "\" or '\' is not correct;
+ * @description: Checking if execution of "'\'" fails;
+ * @negative
+*/
+
+//CHECK#1
+'\'
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.2_T1.js
new file mode 100644
index 000000000..8ff86be57
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.2_T1.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A3.2_T1;
+ * @section: 7.8.4;
+ * @assertion: StringLiteral :: "\\\" or '\\\' is not correct;
+ * @description: Checking if execution of "\\\" fails;
+ * @negative
+*/
+
+//CHECK#1
+"\\\"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.2_T2.js
new file mode 100644
index 000000000..6aebf53b1
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A3.2_T2.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A3.2_T2;
+ * @section: 7.8.4;
+ * @assertion: StringLiteral :: "\\\" or '\\\' is not correct;
+ * @description: Checking if execution of '\\\' fails;
+ * @negative
+*/
+
+//CHECK#1
+'\\\'
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.1_T1.js
new file mode 100644
index 000000000..a0b9ebae3
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.1_T1.js
@@ -0,0 +1,39 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.1_T1;
+ * @section: 7.8.4;
+ * @assertion: CharacterEscapeSequnce :: SingleEscapeSequence;
+ * @description: SingleEscapeSequence :: one of b f n r t v;
+*/
+
+//CHECK#1
+if (String.fromCharCode(0x0008) !== "\b") {
+ $ERROR('#1: String.fromCharCode(0x0008) === "\\b"');
+}
+
+//CHECK#2
+if (String.fromCharCode(0x0009) !== "\t") {
+ $ERROR('#2: String.fromCharCode(0x0009) === "\\t"');
+}
+
+//CHECK#3
+if (String.fromCharCode(0x000A) !== "\n") {
+ $ERROR('#3: String.fromCharCode(0x000A) === "\\n"');
+}
+
+//CHECK#4
+if (String.fromCharCode(0x000B) !== "\v") {
+ $ERROR('#4: String.fromCharCode(0x000B) === "\\v"');
+}
+
+//CHECK#5
+if (String.fromCharCode(0x000C) !== "\f") {
+ $ERROR('#5: String.fromCharCode(0x000C) === "\\f"');
+}
+
+//CHECK#6
+if (String.fromCharCode(0x000D) !== "\r") {
+ $ERROR('#6: String.fromCharCode(0x000D) === "\\r"');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.1_T2.js
new file mode 100644
index 000000000..781921799
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.1_T2.js
@@ -0,0 +1,34 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.1_T2;
+ * @section: 7.8.4;
+ * @assertion: CharacterEscapeSequnce :: SingleEscapeSequence;
+ * @description: SingleEscapeSequence :: one of ' " \;
+*/
+
+//CHECK#1
+if (String.fromCharCode(0x0027) !== "\'") {
+ $ERROR('#1: String.fromCharCode(0x0027) === "\\\'"');
+}
+
+//CHECK#2
+if (String.fromCharCode(0x0022) !== '\"') {
+ $ERROR('#2: String.fromCharCode(0x0027) === \'\\\"\'');
+}
+
+//CHECK#3
+if (String.fromCharCode(0x005C) !== "\\") {
+ $ERROR('#3: String.fromCharCode(0x005C) === "\\\"');
+}
+
+//CHECK#4
+if ("\'" !== "'") {
+ $ERROR('#4: "\'" === "\\\'"');
+}
+
+//CHECK#5
+if ('\"' !== '"') {
+ $ERROR('#5: \'\"\' === \'\\\"\'');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T1.js
new file mode 100644
index 000000000..f96a20027
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T1.js
@@ -0,0 +1,18 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.2_T1;
+ * @section: 7.8.4;
+ * @assertion: CharacterEscapeSequnce :: NonEscapeSequence;
+ * @description: NonEscapeSequence :: ENGLISH CAPITAL ALPHABET;
+*/
+
+//CHECK#A-Z
+CharacterCode = [0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A];
+NonEscapeCharacter = ["\A", "\B", "\C", "\D", "\E", "\F", "\G", "\H", "\I", "\J", "\K", "\L", "\M", "\N", "\O", "\P", "\Q", "\R", "\S", "\T", "\U", "\V", "\W", "\X", "\Y", "\Z"];
+for (index = 0; index <= 25; index++) {
+ if (String.fromCharCode(CharacterCode[index]) !== NonEscapeCharacter[index]) {
+ $ERROR('#' + NonEscapeCharacter[index] + ' ');
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T2.js
new file mode 100644
index 000000000..7b824c64c
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T2.js
@@ -0,0 +1,114 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.2_T2;
+ * @section: 7.8.4;
+ * @assertion: CharacterEscapeSequnce :: NonEscapeSequence;
+ * @description: NonEscapeSequence :: ENGLISH CAPITAL ALPHABET;
+*/
+
+//CHECK#A-Z
+if ("A" !== "\A") {
+ $ERROR('#A');
+}
+
+if ("B" !== "\B") {
+ $ERROR('#B');
+}
+
+if ("C" !== "\C") {
+ $ERROR('#C');
+}
+
+if ("D" !== "\D") {
+ $ERROR('#D');
+}
+
+if ("E" !== "\E") {
+ $ERROR('#E');
+}
+
+if ("F" !== "\F") {
+ $ERROR('#F');
+}
+
+if ("G" !== "\G") {
+ $ERROR('#G');
+}
+
+if ("H" !== "\H") {
+ $ERROR('#H');
+}
+
+if ("I" !== "\I") {
+ $ERROR('#I');
+}
+
+if ("J" !== "\J") {
+ $ERROR('#J');
+}
+
+if ("K" !== "\K") {
+ $ERROR('#K');
+}
+
+if ("L" !== "\L") {
+ $ERROR('#L');
+}
+
+if ("M" !== "\M") {
+ $ERROR('#M');
+}
+
+if ("N" !== "\N") {
+ $ERROR('#N');
+}
+
+if ("O" !== "\O") {
+ $ERROR('#O');
+}
+
+if ("P" !== "\P") {
+ $ERROR('#P');
+}
+
+if ("Q" !== "\Q") {
+ $ERROR('#Q');
+}
+
+if ("R" !== "\R") {
+ $ERROR('#R');
+}
+
+if ("S" !== "\S") {
+ $ERROR('#S');
+}
+
+if ("T" !== "\T") {
+ $ERROR('#T');
+}
+
+if ("U" !== "\U") {
+ $ERROR('#U');
+}
+
+if ("V" !== "\V") {
+ $ERROR('#V');
+}
+
+if ("W" !== "\W") {
+ $ERROR('#W');
+}
+
+if ("X" !== "\X") {
+ $ERROR('#X');
+}
+
+if ("Y" !== "\Y") {
+ $ERROR('#Y');
+}
+
+if ("Z" !== "\Z") {
+ $ERROR('#Z');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T3.js
new file mode 100644
index 000000000..fa4495d6a
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T3.js
@@ -0,0 +1,18 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.2_T3;
+ * @section: 7.8.4;
+ * @assertion: CharacterEscapeSequnce :: NonEscapeSequence;
+ * @description: NonEscapeSequence :: ENGLISH SMALL ALPHABET;
+*/
+
+//CHECK#a-z without b, f, n, r, t, v, x, u
+CharacterCode = [0x0061, 0x0063, 0x0064, 0x0065, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006F, 0x0070, 0x0071, 0x0073, 0x0077, 0x0079, 0x007A];
+NonEscapeCharacter = ["\a", "\c", "\d", "\e", "\g", "\h", "\i", "\j", "\k", "\l", "\m", "\o", "\p", "\q", "\s", "\w", "\y", "\z"];
+for (index = 0; index <= 17; index++) {
+ if (String.fromCharCode(CharacterCode[index]) !== NonEscapeCharacter[index]) {
+ $ERROR('#' + NonEscapeCharacter[index] + ' ');
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T4.js
new file mode 100644
index 000000000..fcda8ea7f
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T4.js
@@ -0,0 +1,85 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.2_T4;
+ * @section: 7.8.4;
+ * @assertion: CharacterEscapeSequnce :: NonEscapeSequence;
+ * @description: NonEscapeSequence :: ENGLISH SMALL ALPHABET;
+*/
+
+//CHECK#a-z without b, f, n, r, t, v, x, u
+
+if ("a" !== "\a") {
+ $ERROR('#a');
+}
+
+if ("c" !== "\c") {
+ $ERROR('#c');
+}
+
+if ("d" !== "\d") {
+ $ERROR('#d');
+}
+
+if ("e" !== "\e") {
+ $ERROR('#e');
+}
+
+if ("g" !== "\g") {
+ $ERROR('#g');
+}
+
+if ("h" !== "\h") {
+ $ERROR('#h');
+}
+
+if ("i" !== "\i") {
+ $ERROR('#i');
+}
+
+if ("j" !== "\j") {
+ $ERROR('#j');
+}
+
+if ("k" !== "\k") {
+ $ERROR('#k');
+}
+
+if ("l" !== "\l") {
+ $ERROR('#l');
+}
+
+if ("m" !== "\m") {
+ $ERROR('#m');
+}
+
+
+if ("o" !== "\o") {
+ $ERROR('#o');
+}
+
+if ("p" !== "\p") {
+ $ERROR('#p');
+}
+
+if ("q" !== "\q") {
+ $ERROR('#q');
+}
+
+if ("s" !== "\s") {
+ $ERROR('#s');
+}
+
+if ("w" !== "\w") {
+ $ERROR('#w');
+}
+
+if ("y" !== "\y") {
+ $ERROR('#y');
+}
+
+if ("z" !== "\z") {
+ $ERROR('#z');
+}
+
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T5.js
new file mode 100644
index 000000000..074c07945
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T5.js
@@ -0,0 +1,18 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.2_T5;
+ * @section: 7.8.4;
+ * @assertion: CharacterEscapeSequnce :: NonEscapeSequence;
+ * @description: NonEscapeSequence :: RUSSIAN CAPITAL ALPHABET;
+*/
+
+//CHECK#А-Я
+CharacterCode = [0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, 0x0401];
+NonEscapeCharacter = ["\А", "\Б", "\В", "\Г", "\Д", "\Е", "\Ж", "\З", "\И", "\Й", "\К", "\Л", "\М", "\Н", "\О", "\П", "\Р", "\С", "\Т", "\У", "\Ф", "\Х", "\Ц", "\Ч", "\Ш", "\Щ", "\Ъ", "\Ы", "\Ь", "\Э", "\Ю", "\Я", "\Ё"];
+for (index = 0; index <= 32; index++) {
+ if (String.fromCharCode(CharacterCode[index]) !== NonEscapeCharacter[index]) {
+ $ERROR('#' + NonEscapeCharacter[index] + ' ');
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T6.js
new file mode 100644
index 000000000..0b2438e35
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T6.js
@@ -0,0 +1,143 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.2_T6;
+ * @section: 7.8.4;
+ * @assertion: CharacterEscapeSequnce :: NonEscapeSequence;
+ * @description: NonEscapeSequence :: RUSSIAN CAPITAL ALPHABET;
+*/
+
+//CHECK#А-Я
+
+if ("А" !== "\А") {
+ $ERROR('#А');
+}
+
+if ("Б" !== "\Б") {
+ $ERROR('#Б');
+}
+
+if ("В" !== "\В") {
+ $ERROR('#В');
+}
+
+if ("Г" !== "\Г") {
+ $ERROR('#Г');
+}
+
+if ("Д" !== "\Д") {
+ $ERROR('#Д');
+}
+
+if ("Е" !== "\Е") {
+ $ERROR('#Е');
+}
+
+if ("Ж" !== "\Ж") {
+ $ERROR('#Ж');
+}
+
+if ("З" !== "\З") {
+ $ERROR('#З');
+}
+
+if ("И" !== "\И") {
+ $ERROR('#И');
+}
+
+if ("Й" !== "\Й") {
+ $ERROR('#Й');
+}
+
+if ("К" !== "\К") {
+ $ERROR('#К');
+}
+
+if ("Л" !== "\Л") {
+ $ERROR('#Л');
+}
+
+if ("М" !== "\М") {
+ $ERROR('#М');
+}
+
+if ("Н" !== "\Н") {
+ $ERROR('#Н');
+}
+
+if ("О" !== "\О") {
+ $ERROR('#О');
+}
+
+if ("П" !== "\П") {
+ $ERROR('#П');
+}
+
+if ("Р" !== "\Р") {
+ $ERROR('#Р');
+}
+
+if ("С" !== "\С") {
+ $ERROR('#С');
+}
+
+if ("Т" !== "\Т") {
+ $ERROR('#Т');
+}
+
+if ("У" !== "\У") {
+ $ERROR('#У');
+}
+
+if ("Ф" !== "\Ф") {
+ $ERROR('#Ф');
+}
+
+if ("Х" !== "\Х") {
+ $ERROR('#Х');
+}
+
+if ("Ц" !== "\Ц") {
+ $ERROR('#Ц');
+}
+
+if ("Ч" !== "\Ч") {
+ $ERROR('#Ч');
+}
+
+if ("Ш" !== "\Ш") {
+ $ERROR('#Ш');
+}
+
+if ("Щ" !== "\Щ") {
+ $ERROR('#Щ');
+}
+
+if ("Ъ" !== "\Ъ") {
+ $ERROR('#Ъ');
+}
+
+if ("Ы" !== "\Ы") {
+ $ERROR('#Ы');
+}
+
+if ("Ь" !== "\Ь") {
+ $ERROR('#Ь');
+}
+
+if ("Э" !== "\Э") {
+ $ERROR('#Э');
+}
+
+if ("Ю" !== "\Ю") {
+ $ERROR('#Ю');
+}
+
+if ("Я" !== "\Я") {
+ $ERROR('#Я');
+}
+
+if ("Ё" !== "\Ё") {
+ $ERROR('#Ё');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T7.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T7.js
new file mode 100644
index 000000000..bb7b88cb0
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T7.js
@@ -0,0 +1,18 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.2_T7;
+ * @section: 7.8.4;
+ * @assertion: CharacterEscapeSequnce :: NonEscapeSequence;
+ * @description: NonEscapeSequence :: RUSSIAN SMALL ALPHABET;
+*/
+
+//CHECK#а-я
+CharacterCode = [0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, 0x0451];
+NonEscapeCharacter = ["\а", "\б", "\в", "\г", "\д", "\е", "\ж", "\з", "\и", "\й", "\к", "\л", "\м", "\н", "\о", "\п", "\р", "\с", "\т", "\у", "\ф", "\х", "\ц", "\ч", "\ш", "\щ", "\ъ", "\ы", "\ь", "\э", "\ю", "\я", "\ё"];
+for (index = 0; index <= 32; index++) {
+ if (String.fromCharCode(CharacterCode[index]) !== NonEscapeCharacter[index]) {
+ $ERROR('#' + NonEscapeCharacter[index] + ' ');
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T8.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T8.js
new file mode 100644
index 000000000..aa58e4fdf
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.2_T8.js
@@ -0,0 +1,143 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.2_T8;
+ * @section: 7.8.4;
+ * @assertion: CharacterEscapeSequnce :: NonEscapeSequence;
+ * @description: NonEscapeSequence :: RUSSIAN SMALL ALPHABET;
+*/
+
+//CHECK#а-я
+
+if ("а" !== "\а") {
+ $ERROR('#а');
+}
+
+if ("б" !== "\б") {
+ $ERROR('#б');
+}
+
+if ("в" !== "\в") {
+ $ERROR('#в');
+}
+
+if ("г" !== "\г") {
+ $ERROR('#г');
+}
+
+if ("д" !== "\д") {
+ $ERROR('#д');
+}
+
+if ("е" !== "\е") {
+ $ERROR('#е');
+}
+
+if ("ж" !== "\ж") {
+ $ERROR('#ж');
+}
+
+if ("з" !== "\з") {
+ $ERROR('#з');
+}
+
+if ("и" !== "\и") {
+ $ERROR('#и');
+}
+
+if ("й" !== "\й") {
+ $ERROR('#й');
+}
+
+if ("к" !== "\к") {
+ $ERROR('#к');
+}
+
+if ("л" !== "\л") {
+ $ERROR('#л');
+}
+
+if ("м" !== "\м") {
+ $ERROR('#м');
+}
+
+if ("н" !== "\н") {
+ $ERROR('#н');
+}
+
+if ("о" !== "\о") {
+ $ERROR('#о');
+}
+
+if ("п" !== "\п") {
+ $ERROR('#п');
+}
+
+if ("р" !== "\р") {
+ $ERROR('#р');
+}
+
+if ("с" !== "\с") {
+ $ERROR('#с');
+}
+
+if ("т" !== "\т") {
+ $ERROR('#т');
+}
+
+if ("у" !== "\у") {
+ $ERROR('#у');
+}
+
+if ("ф" !== "\ф") {
+ $ERROR('#ф');
+}
+
+if ("х" !== "\х") {
+ $ERROR('#х');
+}
+
+if ("ц" !== "\ц") {
+ $ERROR('#ц');
+}
+
+if ("ч" !== "\ч") {
+ $ERROR('#ч');
+}
+
+if ("ш" !== "\ш") {
+ $ERROR('#ш');
+}
+
+if ("щ" !== "\щ") {
+ $ERROR('#щ');
+}
+
+if ("ъ" !== "\ъ") {
+ $ERROR('#ъ');
+}
+
+if ("ы" !== "\ы") {
+ $ERROR('#ы');
+}
+
+if ("ь" !== "\ь") {
+ $ERROR('#ь');
+}
+
+if ("э" !== "\э") {
+ $ERROR('#э');
+}
+
+if ("ю" !== "\ю") {
+ $ERROR('#ю');
+}
+
+if ("я" !== "\я") {
+ $ERROR('#я');
+}
+
+if ("ё" !== "\ё") {
+ $ERROR('#ё');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T1.js
new file mode 100644
index 000000000..979b36413
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T1.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.3_T1;
+ * @section: 7.8.4;
+ * @assertion: NonEscapeSequence is not EscapeCharacter;
+ * @description: EscapeCharacter :: DecimalDigits :: 1;
+ * @negative
+*/
+
+//CHECK#1
+"\1"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T2.js
new file mode 100644
index 000000000..13c24c9f8
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T2.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.3_T2;
+ * @section: 7.8.4;
+ * @assertion: NonEscapeSequence is not EscapeCharacter;
+ * @description: EscapeCharacter :: DecimalDigits :: 7;
+ * @negative
+*/
+
+//CHECK#1
+"\7"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T3.js
new file mode 100644
index 000000000..1dd54fff5
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T3.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.3_T3;
+ * @section: 7.8.4;
+ * @assertion: NonEscapeSequence is not EscapeCharacter;
+ * @description: EscapeCharacter :: DecimalDigits :: 8;
+ * @negative
+*/
+
+//CHECK#1
+"\8"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T4.js
new file mode 100644
index 000000000..26a5260d5
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T4.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.3_T4;
+ * @section: 7.8.4;
+ * @assertion: NonEscapeSequence is not EscapeCharacter;
+ * @description: EscapeCharacter :: DecimalDigits :: 9;
+ * @negative
+*/
+
+//CHECK#1
+"\9"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T5.js
new file mode 100644
index 000000000..1cce3fb03
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T5.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.3_T5;
+ * @section: 7.8.4;
+ * @assertion: NonEscapeSequence is not EscapeCharacter;
+ * @description: EscapeCharacter :: u;
+ * @negative
+*/
+
+//CHECK#1
+"\u"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T6.js
new file mode 100644
index 000000000..81fc40fce
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T6.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.3_T6;
+ * @section: 7.8.4;
+ * @assertion: NonEscapeSequence is not EscapeCharacter;
+ * @description: EscapeCharacter :: x;
+ * @negative
+*/
+
+//CHECK#1
+"\x"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T7.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T7.js
new file mode 100644
index 000000000..3c9c838cd
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A4.3_T7.js
@@ -0,0 +1,35 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A4.3_T7;
+ * @section: 7.8.4;
+ * @assertion: NonEscapeSequence is not EscapeCharacter;
+ * @description: EscapeCharacter :: SingleEscapeCharacter :: one of b f n r t v;
+*/
+
+//CHECK#bfnrtv
+if ("b" === "\b") {
+ $ERROR('#b')
+}
+
+if ("f" === "\f") {
+ $ERROR('#f')
+}
+
+if ("n" === "\n") {
+ $ERROR('#n')
+}
+
+if ("r" === "\r") {
+ $ERROR('#r')
+}
+
+if ("t" === "\t") {
+ $ERROR('#t')
+}
+
+if ("v" === "\v") {
+ $ERROR('#v')
+}
+
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T1.js
new file mode 100644
index 000000000..b3270e0d3
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T1.js
@@ -0,0 +1,14 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A5.1_T1;
+ * @section: 7.8.4;
+ * @assertion: EscapeSequence :: 0;
+ * @description: String.fromCharCode(0x0000);
+*/
+
+//CHECK#1
+if (String.fromCharCode(0x0000) !== "\0") {
+ $ERROR('#1: String.fromCharCode(0x0000) === "\\0"');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T2.js
new file mode 100644
index 000000000..ed3184f53
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T2.js
@@ -0,0 +1,14 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A5.1_T2;
+ * @section: 7.8.4;
+ * @assertion: EscapeSequence :: 0;
+ * @description: "\u0000";
+*/
+
+//CHECK#1
+if ("\u0000" !== "\0") {
+ $ERROR('#1: "\\u0000" === "\\0"');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T3.js
new file mode 100644
index 000000000..fa3573eb1
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A5.1_T3.js
@@ -0,0 +1,14 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A5.1_T3;
+ * @section: 7.8.4;
+ * @assertion: EscapeSequence :: 0;
+ * @description: "\x00";
+*/
+
+//CHECK#1
+if ("\x00" !== "\0") {
+ $ERROR('#1: "\\x00" === "\\0"');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T1.js
new file mode 100644
index 000000000..323b05146
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T1.js
@@ -0,0 +1,89 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A6.1_T1;
+ * @section: 7.8.4;
+ * @assertion: EscapeSequence :: HexEscapeSequence :: x HexDigit HexDigit;
+ * @description: HexEscapeSequence :: HexDigit;
+*/
+
+//CHECK#0
+if ("\x00" !== String.fromCharCode("0")) {
+ $ERROR('#0: "\\x00" === String.fromCharCode("0")');
+}
+
+//CHECK#1
+if ("\x01" !== String.fromCharCode("1")) {
+ $ERROR('#1: "\\x01" === String.fromCharCode("1")');
+}
+
+//CHECK#2
+if ("\x02" !== String.fromCharCode("2")) {
+ $ERROR('#2: "\\x02" === String.fromCharCode("2")');
+}
+
+//CHECK#3
+if ("\x03" !== String.fromCharCode("3")) {
+ $ERROR('#3: "\\x03" === String.fromCharCode("3")');
+}
+
+//CHECK#4
+if ("\x04" !== String.fromCharCode("4")) {
+ $ERROR('#4: "\\x04" === String.fromCharCode("4")');
+}
+
+//CHECK#5
+if ("\x05" !== String.fromCharCode("5")) {
+ $ERROR('#5: "\\x05" === String.fromCharCode("5")');
+}
+
+//CHECK#6
+if ("\x06" !== String.fromCharCode("6")) {
+ $ERROR('#6: "\\x06" === String.fromCharCode("6")');
+}
+
+//CHECK#7
+if ("\x07" !== String.fromCharCode("7")) {
+ $ERROR('#7: "\\x07" === String.fromCharCode("7")');
+}
+
+//CHECK#8
+if ("\x08" !== String.fromCharCode("8")) {
+ $ERROR('#8: "\\x08" === String.fromCharCode("8")');
+}
+
+//CHECK#9
+if ("\x09" !== String.fromCharCode("9")) {
+ $ERROR('#9: "\\x09" === String.fromCharCode("9")');
+}
+
+//CHECK#A
+if ("\x0A" !== String.fromCharCode("10")) {
+ $ERROR('#A: "\\x0A" === String.fromCharCode("10")');
+}
+
+//CHECK#B
+if ("\x0B" !== String.fromCharCode("11")) {
+ $ERROR('#B: "\\x0B" === String.fromCharCode("11")');
+}
+
+//CHECK#C
+if ("\x0C" !== String.fromCharCode("12")) {
+ $ERROR('#C: "\\x0C" === String.fromCharCode("12")');
+}
+
+//CHECK#D
+if ("\x0D" !== String.fromCharCode("13")) {
+ $ERROR('#D: "\\x0D" === String.fromCharCode("13")');
+}
+
+//CHECK#E
+if ("\x0E" !== String.fromCharCode("14")) {
+ $ERROR('#E: "\\x0E" === String.fromCharCode("14")');
+}
+
+//CHECK#F
+if ("\x0F" !== String.fromCharCode("15")) {
+ $ERROR('#F: "\\x0F" === String.fromCharCode("15")');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T2.js
new file mode 100644
index 000000000..1669290e1
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T2.js
@@ -0,0 +1,18 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A6.1_T2;
+ * @section: 7.8.4;
+ * @assertion: EscapeSequence :: HexEscapeSequence :: x HexDigit HexDigit;
+ * @description: HexEscapeSequence :: ENGLISH CAPITAL ALPHABET;
+*/
+
+//CHECK#A-Z
+hex = ["\x41", "\x42", "\x43", "\x44", "\x45", "\x46", "\x47", "\x48", "\x49", "\x4A", "\x4B", "\x4C", "\x4D", "\x4E", "\x4F", "\x50", "\x51", "\x52", "\x53", "\x54", "\x55", "\x56", "\x57", "\x58", "\x59", "\x5A"];
+character = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
+for (index = 0; index <= 25; index++) {
+ if (hex[index] !== character[index]) {
+ $ERROR('#' + character[index] + ' ');
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T3.js
new file mode 100644
index 000000000..46f9a7873
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T3.js
@@ -0,0 +1,18 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A6.1_T3;
+ * @section: 7.8.4;
+ * @assertion: EscapeSequence :: HexEscapeSequence :: x HexDigit HexDigit;
+ * @description: HexEscapeSequence :: ENGLISH SMALL ALPHABET;
+*/
+
+//CHECK#a-z
+hex = ["\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", "\x69", "\x6A", "\x6B", "\x6C", "\x6D", "\x6E", "\x6F", "\x70", "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", "\x79", "\x7A"];
+character = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
+for (index = 0; index <= 25; index++) {
+ if (hex[index] !== character[index]) {
+ $ERROR('#' + character[index] + ' ');
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T4.js
new file mode 100644
index 000000000..05d68d2ce
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.1_T4.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A6.1_T4;
+ * @section: 7.8.4;
+ * @assertion: EscapeSequence :: HexEscapeSequence :: x HexDigit HexDigit;
+ * @description: HexEscapeSequence :: x0G is incorrect;
+ * @negative
+*/
+
+//CHECK#
+"\x0G"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.2_T1.js
new file mode 100644
index 000000000..5fbff8129
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.2_T1.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A6.2_T1;
+ * @section: 7.8.4;
+ * @assertion: HexEscapeSequence :: x HexDigit is incorrect;
+ * @description: HexDigit :: 1;
+ * @negative
+*/
+
+//CHECK#1
+"\x1"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.2_T2.js
new file mode 100644
index 000000000..7370b2356
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.2_T2.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A6.2_T2;
+ * @section: 7.8.4;
+ * @assertion: HexEscapeSequence :: x HexDigit is incorrect;
+ * @description: HexDigit :: A;
+ * @negative
+*/
+
+//CHECK#1
+"\xA"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.3_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.3_T1.js
new file mode 100644
index 000000000..6ae94c79b
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.3_T1.js
@@ -0,0 +1,84 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A6.3_T1;
+ * @section: 7.8.4;
+ * @assertion: \x HexDigit HexDigit SingleStringCharacter;
+ * @description: Check similar to ('\x01F' === String.fromCharCode('1') + 'F');
+*/
+
+//CHECK#1
+if ('\x01F' !== String.fromCharCode('1') + 'F') {
+ $ERROR("#1: '\x01F' === String.fromCharCode('1') + 'F'");
+}
+
+//CHECK#2
+if ('\x02E' !== String.fromCharCode('2') + 'E') {
+ $ERROR("#2: '\x02E' === String.fromCharCode('2') + 'E'");
+}
+
+//CHECK#3
+if ('\x03D' !== String.fromCharCode('3') + 'D') {
+ $ERROR("#3: '\x03D' === String.fromCharCode('3') + 'D'");
+}
+
+//CHECK#4
+if ('\x04C' !== String.fromCharCode('4') + 'C') {
+ $ERROR("#4: '\x04C' === String.fromCharCode('4') + 'C'");
+}
+
+//CHECK#5
+if ('\x05B' !== String.fromCharCode('5') + 'B') {
+ $ERROR("#5: '\x05B' === String.fromCharCode('5') + 'B'");
+}
+
+//CHECK#6
+if ('\x06A' !== String.fromCharCode('6') + 'A') {
+ $ERROR("#6: '\x06A' === String.fromCharCode('6') + 'A'");
+}
+
+//CHECK#7
+if ('\x079' !== String.fromCharCode('7') + '9') {
+ $ERROR("#7: '\x079' === String.fromCharCode('7') + '9'");
+}
+
+//CHECK#8
+if ('\x088' !== String.fromCharCode('8') + '8') {
+ $ERROR("#8: '\x088' === String.fromCharCode('8') + '8'");
+}
+
+//CHECK#9
+if ('\x097' !== String.fromCharCode('9') + '7') {
+ $ERROR("#9: '\x097' === String.fromCharCode('9') + '7'");
+}
+
+//CHECK#A
+if ('\x0A6' !== String.fromCharCode('10') + '6') {
+ $ERROR("#A: '\x0A6' === String.fromCharCode('10') + '6'");
+}
+
+//CHECK#B
+if ('\x0B5' !== String.fromCharCode('11') + '5') {
+ $ERROR("#B: '\x0B5' === String.fromCharCode('11') + '5'");
+}
+
+//CHECK#C
+if ('\x0C4' !== String.fromCharCode('12') + '4') {
+ $ERROR("#C: '\x0C4' === String.fromCharCode('12') + '4'");
+}
+
+//CHECK#D
+if ('\x0D3' !== String.fromCharCode('13') + '3') {
+ $ERROR("#D: '\x0D3' === String.fromCharCode('13') + '3'");
+}
+
+//CHECK#E
+if ('\x0E2' !== String.fromCharCode('14') + '2') {
+ $ERROR("#E: '\x0E2' === String.fromCharCode('14') + '2'");
+}
+
+//CHECK#F
+if ('\x0F1' !== String.fromCharCode('15') + '1') {
+ $ERROR("#F: '\x0F1' === String.fromCharCode('15') + '1'");
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.4_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.4_T1.js
new file mode 100644
index 000000000..927c12506
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.4_T1.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A6.4_T1;
+ * @section: 7.8.4;
+ * @assertion: HexEscapeSequence \X HexDigit HexDigit is incorrect;
+ * @description: Checking if execution of "\X01" passes;
+ * @negative
+*/
+
+//CHECK#1
+"\X01"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.4_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.4_T2.js
new file mode 100644
index 000000000..3c69f1424
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A6.4_T2.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A6.4_T2;
+ * @section: 7.8.4;
+ * @assertion: HexEscapeSequence \X HexDigit HexDigit is incorrect;
+ * @description: Checking if execution of "\X0A" passes;
+ * @negative
+*/
+
+//CHECK#1
+"\X0A"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T1.js
new file mode 100644
index 000000000..4729b84e9
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T1.js
@@ -0,0 +1,89 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A7.1_T1;
+ * @section: 7.8.4;
+ * @assertion: EscapeSequence :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit;
+ * @description: Check similar to ("\u0000" === String.fromCharCode("0"));
+*/
+
+//CHECK#0
+if ("\u0000" !== String.fromCharCode("0")) {
+ $ERROR('#0: "\\u0000" === String.fromCharCode("0")');
+}
+
+//CHECK#1
+if ("\u0001" !== String.fromCharCode("1")) {
+ $ERROR('#1: "\\u0001" === String.fromCharCode("1")');
+}
+
+//CHECK#2
+if ("\u0002" !== String.fromCharCode("2")) {
+ $ERROR('#2: "\\u0002" === String.fromCharCode("2")');
+}
+
+//CHECK#3
+if ("\u0003" !== String.fromCharCode("3")) {
+ $ERROR('#3: "\\u0003" === String.fromCharCode("3")');
+}
+
+//CHECK#4
+if ("\u0004" !== String.fromCharCode("4")) {
+ $ERROR('#4: "\\u0004" === String.fromCharCode("4")');
+}
+
+//CHECK#5
+if ("\u0005" !== String.fromCharCode("5")) {
+ $ERROR('#5: "\\u0005" === String.fromCharCode("5")');
+}
+
+//CHECK#6
+if ("\u0006" !== String.fromCharCode("6")) {
+ $ERROR('#6: "\\u0006" === String.fromCharCode("6")');
+}
+
+//CHECK#7
+if ("\u0007" !== String.fromCharCode("7")) {
+ $ERROR('#7: "\\u0007" === String.fromCharCode("7")');
+}
+
+//CHECK#8
+if ("\u0008" !== String.fromCharCode("8")) {
+ $ERROR('#8: "\\u0008" === String.fromCharCode("8")');
+}
+
+//CHECK#9
+if ("\u0009" !== String.fromCharCode("9")) {
+ $ERROR('#9: "\\u0009" === String.fromCharCode("9")');
+}
+
+//CHECK#A
+if ("\u000A" !== String.fromCharCode("10")) {
+ $ERROR('#A: "\\u000A" === String.fromCharCode("10")');
+}
+
+//CHECK#B
+if ("\u000B" !== String.fromCharCode("11")) {
+ $ERROR('#B: "\\u000B" === String.fromCharCode("11")');
+}
+
+//CHECK#C
+if ("\u000C" !== String.fromCharCode("12")) {
+ $ERROR('#C: "\\u000C" === String.fromCharCode("12")');
+}
+
+//CHECK#D
+if ("\u000D" !== String.fromCharCode("13")) {
+ $ERROR('#D: "\\u000D" === String.fromCharCode("13")');
+}
+
+//CHECK#E
+if ("\u000E" !== String.fromCharCode("14")) {
+ $ERROR('#E: "\\u000E" === String.fromCharCode("14")');
+}
+
+//CHECK#F
+if ("\u000F" !== String.fromCharCode("15")) {
+ $ERROR('#F: "\\u000F" === String.fromCharCode("15")');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T2.js
new file mode 100644
index 000000000..a0ab77db2
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T2.js
@@ -0,0 +1,18 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A7.1_T2;
+ * @section: 7.8.4;
+ * @assertion: EscapeSequence :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit;
+ * @description: UnicodeEscapeSequence :: ENGLISH CAPITAL ALPHABET;
+*/
+
+//CHECK#A-Z
+unicode = ["\u0041", "\u0042", "\u0043", "\u0044", "\u0045", "\u0046", "\u0047", "\u0048", "\u0049", "\u004A", "\u004B", "\u004C", "\u004D", "\u004E", "\u004F", "\u0050", "\u0051", "\u0052", "\u0053", "\u0054", "\u0055", "\u0056", "\u0057", "\u0058", "\u0059", "\u005A"];
+character = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
+for (index = 0; index <= 25; index++) {
+ if (unicode[index] !== character[index]) {
+ $ERROR('#' + character[index] + ' ');
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T3.js
new file mode 100644
index 000000000..025ac72e7
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T3.js
@@ -0,0 +1,18 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A7.1_T3;
+ * @section: 7.8.4;
+ * @assertion: EscapeSequence :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit;
+ * @description: UnicodeEscapeSequence :: ENGLISH SMALL ALPHABET;
+*/
+
+//CHECK#a-z
+unicode = ["\u0061", "\u0062", "\u0063", "\u0064", "\u0065", "\u0066", "\u0067", "\u0068", "\u0069", "\u006A", "\u006B", "\u006C", "\u006D", "\u006E", "\u006F", "\u0070", "\u0071", "\u0072", "\u0073", "\u0074", "\u0075", "\u0076", "\u0077", "\u0078", "\u0079", "\u007A"];
+character = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
+for (index = 0; index <= 25; index++) {
+ if (unicode[index] !== character[index]) {
+ $ERROR('#' + character[index] + ' ');
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T4.js
new file mode 100644
index 000000000..9a85d1c3e
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.1_T4.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A7.1_T4;
+ * @section: 7.8.4;
+ * @assertion: EscapeSequence :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit;
+ * @description: UnicodeEscapeSequence :: u000G is incorrect;
+ * @negative
+*/
+
+//CHECK#
+"\u000G"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T1.js
new file mode 100644
index 000000000..5e0244cd3
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T1.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A7.2_T1;
+ * @section: 7.8.4;
+ * @assertion: UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect;
+ * @description: :: HexDigit :: 1;
+ * @negative
+*/
+
+//CHECK#1
+"\u1"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T2.js
new file mode 100644
index 000000000..1af36087d
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T2.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A7.2_T2;
+ * @section: 7.8.4;
+ * @assertion: UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect;
+ * @description: :: HexDigit :: A;
+ * @negative
+*/
+
+//CHECK#1
+"\uA"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T3.js
new file mode 100644
index 000000000..47733624c
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T3.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A7.2_T3;
+ * @section: 7.8.4;
+ * @assertion: UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect;
+ * @description: :: HexDigit :: 1;
+ * @negative
+*/
+
+//CHECK#1
+"\u11"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T4.js
new file mode 100644
index 000000000..4f546351a
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T4.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A7.2_T4;
+ * @section: 7.8.4;
+ * @assertion: UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect;
+ * @description: :: HexDigit :: A;
+ * @negative
+*/
+
+//CHECK#1
+"\uAA"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T5.js
new file mode 100644
index 000000000..93431d506
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T5.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A7.2_T5;
+ * @section: 7.8.4;
+ * @assertion: UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect;
+ * @description: :: HexDigit :: 1;
+ * @negative
+*/
+
+//CHECK#1
+"\u111"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T6.js
new file mode 100644
index 000000000..4fab2b70c
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.2_T6.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A7.2_T6;
+ * @section: 7.8.4;
+ * @assertion: UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect;
+ * @description: :: HexDigit :: A;
+ * @negative
+*/
+
+//CHECK#1
+"\uAAA"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.3_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.3_T1.js
new file mode 100644
index 000000000..320e0087e
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.3_T1.js
@@ -0,0 +1,84 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A7.3_T1;
+ * @section: 7.8.4;
+ * @assertion: \u HexDigit HexDigit HexDigit HexDigit DoubleStringCharacter;
+ * @description: Check similar to ("\u0001F" === String.fromCharCode("1") + "F");
+*/
+
+//CHECK#1
+if ("\u0001F" !== String.fromCharCode("1") + "F") {
+ $ERROR('#1: "\\u0001F" === String.fromCharCode("1") + "F"');
+}
+
+//CHECK#2
+if ("\u0002E" !== String.fromCharCode("2") + "E") {
+ $ERROR('#2: "\\u0002E" === String.fromCharCode("2") + "E"');
+}
+
+//CHECK#3
+if ("\u0003D" !== String.fromCharCode("3") + "D") {
+ $ERROR('#3: "\\u0003D" === String.fromCharCode("3") + "D"');
+}
+
+//CHECK#4
+if ("\u0004C" !== String.fromCharCode("4") + "C") {
+ $ERROR('#4: "\\u0004C" === String.fromCharCode("4") + "C"');
+}
+
+//CHECK#5
+if ("\u0005B" !== String.fromCharCode("5") + "B") {
+ $ERROR('#5: "\\u0005B" === String.fromCharCode("5") + "B"');
+}
+
+//CHECK#6
+if ("\u0006A" !== String.fromCharCode("6") + "A") {
+ $ERROR('#6: "\\u0006A" === String.fromCharCode("6") + "A"');
+}
+
+//CHECK#7
+if ("\u00079" !== String.fromCharCode("7") + "9") {
+ $ERROR('#7: "\\u00079" === String.fromCharCode("7") + "9"');
+}
+
+//CHECK#8
+if ("\u00088" !== String.fromCharCode("8") + "8") {
+ $ERROR('#8: "\\u00088" === String.fromCharCode("8") + "8"');
+}
+
+//CHECK#9
+if ("\u00097" !== String.fromCharCode("9") + "7") {
+ $ERROR('#9: "\\u00097" === String.fromCharCode("9") + "7"');
+}
+
+//CHECK#A
+if ("\u000A6" !== String.fromCharCode("10") + "6") {
+ $ERROR('#A: "\\u000A6" === String.fromCharCode("10") + "6"');
+}
+
+//CHECK#B
+if ("\u000B5" !== String.fromCharCode("11") + "5") {
+ $ERROR('#B: "\\u000B5" === String.fromCharCode("11") + "5"');
+}
+
+//CHECK#C
+if ("\u000C4" !== String.fromCharCode("12") + "4") {
+ $ERROR('#C: "\\u000C4" === String.fromCharCode("12") + "4"');
+}
+
+//CHECK#D
+if ("\u000D3" !== String.fromCharCode("13") + "3") {
+ $ERROR('#D: "\\u000D3" === String.fromCharCode("13") + "3"');
+}
+
+//CHECK#E
+if ("\u000E2" !== String.fromCharCode("14") + "2") {
+ $ERROR('#E: "\\u000E2" === String.fromCharCode("14") + "2"');
+}
+
+//CHECK#F
+if ("\u000F1" !== String.fromCharCode("15") + "1") {
+ $ERROR('#F: "\\u000F1" === String.fromCharCode("15") + "1"');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.4_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.4_T1.js
new file mode 100644
index 000000000..337c29aae
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.4_T1.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A7.4_T1;
+ * @section: 7.8.4;
+ * @assertion: UnicodeEscapeSequence \U HexDigit HexDigit HexDigit HexDigit is incorrect;
+ * @description: Checking if execution of "\U0001" passes;
+ * @negative
+*/
+
+//CHECK#1
+"\U0001"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.4_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.4_T2.js
new file mode 100644
index 000000000..cc9260dd5
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.4_String_Literals/S7.8.4_A7.4_T2.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.4_A7.4_T2;
+ * @section: 7.8.4;
+ * @assertion: UnicodeEscapeSequence \U HexDigit HexDigit HexDigit HexDigit is incorrect;
+ * @description: Checking if execution of "\U000A" passes;
+ * @negative
+*/
+
+//CHECK#1
+"\U000A"
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.1_T1.js
new file mode 100644
index 000000000..889d2b3b2
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.1_T1.js
@@ -0,0 +1,35 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.1_T1;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: NonTerminator but not * or \ or /,
+ * RegularExpressionChars :: [empty], RegularExpressionFlags :: [empty];
+ * @description: Without eval;
+*/
+
+//CHECK#1
+if (/1/.source !== "1") {
+ $ERROR('#1: /1/');
+}
+
+//CHECK#2
+if (/a/.source !== "a") {
+ $ERROR('#2: /a/');
+}
+
+//CHECK#3
+if (/;/.source !== ";") {
+ $ERROR('#3: /;/');
+}
+
+//CHECK#4
+if (/ /.source !== " ") {
+ $ERROR('#4: / /');
+}
+
+//CHECK#5
+if (/\u0041/.source !== "\\u0041") {
+ $ERROR('#5: /\\u0041/');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.1_T2.js
new file mode 100644
index 000000000..5b3a2b704
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.1_T2.js
@@ -0,0 +1,54 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.1_T2;
+ * @section: 7.8.5, 15.10.1;
+ * @assertion: RegularExpressionFirstChar :: NonTerminator but not * or \ or /,
+ * RegularExpressionChars :: [empty], RegularExpressionFlags :: [empty];
+ * @description: Complex test with eval, using syntax pattern;
+*/
+
+//CHECK
+errorCount = 0;
+count = 0;
+var hex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
+for (i1 = 0; i1 < 16; i1++) {
+ for (i2 = 0; i2 < 16; i2++) {
+ for (i3 = 0; i3 < 16; i3++) {
+ for (i4 = 0; i4 < 16; i4++) {
+ try {
+ var uu = hex[i1] + hex[i2] + hex[i3] + hex[i4];
+ var Elimination =
+ ((uu === "002A") || (uu === "002F") || (uu === "005C") || (uu === "002B") ||
+ (uu === "003F") || (uu === "0028") || (uu === "0029") ||
+ (uu === "005B") || (uu === "005D") || (uu === "007B") || (uu === "007D"));
+ /*
+ * \u002A / \u002F \ \u005C + \u002B
+ ? \u003F ( \u0028 ) \u0029
+ [ \u005B ] \u005D { \u007B } \u007D
+ */
+ var LineTerminator = ((uu === "000A") || (uu === "000D") || (uu === "2028") || (uu === "2029"));
+ if ((Elimination || LineTerminator ) === false) {
+ var xx = String.fromCharCode("0x" + uu);
+ var pattern = eval("/" + xx + "/");
+ if (pattern.source !== xx) {
+ $ERROR('#' + uu + ' ');
+ errorCount++;
+ }
+ } else {
+ count--;
+ }
+ } catch (e) {
+ $ERROR('#' + uu + ' ');
+ errorCount++;
+ }
+ count++;
+ }
+ }
+ }
+}
+
+if (errorCount > 0) {
+ $ERROR('Total error: ' + errorCount + ' bad Regular Expression First Char in ' + count);
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T1.js
new file mode 100644
index 000000000..1dcfbfe28
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T1.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.2_T1;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: * or \ or / or [empty] is incorrect;
+ * @description: * ;
+ * @negative
+*/
+
+//CHECK#1
+/*/
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T2.js
new file mode 100644
index 000000000..081133660
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T2.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.2_T2;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: * or \ or / or [empty] is incorrect;
+ * @description: \;
+ * @negative
+*/
+
+//CHECK#1
+/\/
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T3.js
new file mode 100644
index 000000000..3cc3174cf
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T3.js
@@ -0,0 +1,14 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.2_T3;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: * or \ or / or [empty] is incorrect;
+ * @description: /;
+ * @negative
+*/
+
+//CHECK#1
+///
+.source;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T4.js
new file mode 100644
index 000000000..d736e3c81
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T4.js
@@ -0,0 +1,14 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.2_T4;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: * or \ or / or [empty] is incorrect;
+ * @description: [empty];
+ * @negative
+*/
+
+//CHECK#1
+//
+.source;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T1.js
new file mode 100644
index 000000000..de31fbfeb
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T1.js
@@ -0,0 +1,14 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.3_T1;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: LineTerminator is incorrect;
+ * @description: Line Feed, without eval;
+ * @negative
+*/
+
+//CHECK#1
+/
+/
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T2.js
new file mode 100644
index 000000000..ee9cb22ce
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T2.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.3_T2;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: LineTerminator is incorrect;
+ * @description: Line Feed, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/\u000A/").source;
+ $ERROR('#1.1: RegularExpressionFirstChar :: Line Feed is incorrect. Actual: ' + (eval("/\u000A/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionFirstChar :: Line Feed is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T3.js
new file mode 100644
index 000000000..689ca7407
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T3.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.3_T3;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: LineTerminator is incorrect;
+ * @description: Carriage Return, without eval;
+ * @negative
+*/
+
+//CHECK#1
+/ /
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T4.js
new file mode 100644
index 000000000..cde74def1
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T4.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.3_T4;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: LineTerminator is incorrect;
+ * @description: Carriage Return, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/\u000D/").source;
+ $ERROR('#1.1: RegularExpressionFirstChar :: Carriage Return is incorrect. Actual: ' + (eval("/\u000D/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionFirstChar :: Carriage Return is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T5.js
new file mode 100644
index 000000000..b96fabe71
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T5.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.3_T5;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: LineTerminator is incorrect;
+ * @description: Line separator, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/\u2028/").source;
+ $ERROR('#1.1: RegularExpressionFirstChar :: Line separator is incorrect. Actual: ' + (eval("/\u2028/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionFirstChar :: Line separator is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T6.js
new file mode 100644
index 000000000..97cfc60bb
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T6.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.3_T6;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: LineTerminator is incorrect;
+ * @description: Paragraph separator, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/\u2029/").source;
+ $ERROR('#1.1: RegularExpressionFirstChar :: Paragraph separator is incorrect. Actual: ' + (eval("/\u2029/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionFirstChar :: Paragraph separator is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.4_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.4_T1.js
new file mode 100644
index 000000000..19784202c
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.4_T1.js
@@ -0,0 +1,30 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.4_T1;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: BackslashSequence :: \NonTerminator,
+ * RegularExpressionChars :: [empty], RegularExpressionFlags :: [empty];
+ * @description: Check similar to (/\1/.source === "\\1");
+*/
+
+//CHECK#1
+if (/\1/.source !== "\\1") {
+ $ERROR('#1: /\\1/');
+}
+
+//CHECK#2
+if (/\a/.source !== "\\a") {
+ $ERROR('#2: /\\a/');
+}
+
+//CHECK#3
+if (/\;/.source !== "\\;") {
+ $ERROR('#3: /\\;/');
+}
+
+//CHECK#4
+if (/\ /.source !== "\\ ") {
+ $ERROR('#4: /\\ /');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.4_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.4_T2.js
new file mode 100644
index 000000000..d997a2a72
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.4_T2.js
@@ -0,0 +1,54 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.4_T2;
+ * @section: 7.8.5, 15.10.1;
+ * @assertion: RegularExpressionFirstChar :: BackslashSequence :: \NonTerminator,
+ * RegularExpressionChars :: [empty], RegularExpressionFlags :: [empty];
+ * @description: Complex test with eval, using syntax pattern;
+*/
+
+//CHECK
+errorCount = 0;
+count = 0;
+var hex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
+for (i1 = 0; i1 < 16; i1++) {
+ for (i2 = 0; i2 < 16; i2++) {
+ for (i3 = 0; i3 < 16; i3++) {
+ for (i4 = 0; i4 < 16; i4++) {
+ try {
+ var uu = hex[i1] + hex[i2] + hex[i3] + hex[i4];
+ var Elimination =
+ ((uu === "002A") || (uu === "002F") || (uu === "005C") || (uu === "002B") ||
+ (uu === "003F") || (uu === "0028") || (uu === "0029") ||
+ (uu === "005B") || (uu === "005D") || (uu === "007B") || (uu === "007D"));
+ /*
+ * \u002A / \u002F \ \u005C + \u002B
+ ? \u003F ( \u0028 ) \u0029
+ [ \u005B ] \u005D { \u007B } \u007D
+ */
+ var LineTerminator = ((uu === "000A") || (uu === "000D") || (uu === "2028") || (uu === "2029"));
+ if ((Elimination || LineTerminator ) === false) {
+ var xx = "\\" + String.fromCharCode("0x" + uu);
+ var pattern = eval("/" + xx + "/");
+ if (pattern.source !== xx) {
+ $ERROR('#' + uu + ' ');
+ errorCount++;
+ }
+ } else {
+ count--;
+ }
+ } catch (e) {
+ $ERROR('#' + uu + ' ');
+ errorCount++;
+ }
+ count++;
+ }
+ }
+ }
+}
+
+if (errorCount > 0) {
+ $ERROR('Total error: ' + errorCount + ' bad Regular Expression First Char in ' + count);
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T1.js
new file mode 100644
index 000000000..b3de7a9dc
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T1.js
@@ -0,0 +1,14 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.5_T1;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect;
+ * @description: Line Feed, without eval;
+ * @negative
+*/
+
+//CHECK#1
+/\
+/
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T2.js
new file mode 100644
index 000000000..ffa2b60f2
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T2.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.5_T2;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect;
+ * @description: Line Feed, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/\\\u000A/").source;
+ $ERROR('#1.1: RegularExpressionFirstChar :: BackslashSequence :: \\Line Feed is incorrect. Actual: ' + (eval("/\\\u000A/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionFirstChar :: BackslashSequence :: \\Line Feed is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T3.js
new file mode 100644
index 000000000..7768919a7
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T3.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.5_T3;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect;
+ * @description: Carriage Return, without eval;
+ * @negative
+*/
+
+//CHECK#1
+/\ /
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T4.js
new file mode 100644
index 000000000..fde5dab8e
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T4.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.5_T4;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect;
+ * @description: Carriage Return, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/\\\u000D/").source;
+ $ERROR('#1.1: RegularExpressionFirstChar :: BackslashSequence :: \\Carriage Return is incorrect. Actual: ' + (eval("/\\\u000D/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionFirstChar :: BackslashSequence :: \\Carriage Return is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T5.js
new file mode 100644
index 000000000..3853c428a
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T5.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.5_T5;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect;
+ * @description: Line separator, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/\\\u2028/").source;
+ $ERROR('#1.1: RegularExpressionFirstChar :: BackslashSequence :: \\Line separator is incorrect. Actual: ' + (eval("/\\\u2028/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionFirstChar :: BackslashSequence :: \\Line separator is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T6.js
new file mode 100644
index 000000000..ed8661881
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T6.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A1.5_T6;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect;
+ * @description: Paragraph separator, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/\\\u2029/").source;
+ $ERROR('#1.1: RegularExpressionFirstChar :: BackslashSequence :: \\Paragraph separator is incorrect. Actual: ' + (eval("/\\\u2029/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionFirstChar :: BackslashSequence :: \\Paragraph separator is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.1_T1.js
new file mode 100644
index 000000000..b7edcb67d
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.1_T1.js
@@ -0,0 +1,35 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.1_T1;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: NonTerminator but not \ or /,
+ * RegularExpressionFlags :: [empty];
+ * @description: Without eval;
+*/
+
+//CHECK#1
+if (/1a/.source !== "1a") {
+ $ERROR('#1: /1a/');
+}
+
+//CHECK#2
+if (/aa/.source !== "aa") {
+ $ERROR('#2: /aa/');
+}
+
+//CHECK#3
+if (/,;/.source !== ",;") {
+ $ERROR('#3: /,;/');
+}
+
+//CHECK#4
+if (/ /.source !== " ") {
+ $ERROR('#4: / /');
+}
+
+//CHECK#5
+if (/a\u0041/.source !== "a\\u0041") {
+ $ERROR('#5: /a\\u0041/');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.1_T2.js
new file mode 100644
index 000000000..8edb17632
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.1_T2.js
@@ -0,0 +1,55 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.1_T2;
+ * @section: 7.8.5, 15.10.1;
+ * @assertion: RegularExpressionChar :: NonTerminator but not \ or /,
+ * RegularExpressionFlags :: [empty];
+ * @description: Complex test with eval, using syntax pattern;
+*/
+
+//CHECK
+errorCount = 0;
+count = 0;
+var hex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
+for (i1 = 0; i1 < 16; i1++) {
+ for (i2 = 0; i2 < 16; i2++) {
+ for (i3 = 0; i3 < 16; i3++) {
+ for (i4 = 0; i4 < 16; i4++) {
+ try {
+ var uu = hex[i1] + hex[i2] + hex[i3] + hex[i4];
+ var Elimination =
+ ((uu === "002A") || (uu === "002F") || (uu === "005C") || (uu === "002B") ||
+ (uu === "003F") || (uu === "0028") || (uu === "0029") ||
+ (uu === "005B") || (uu === "005D") || (uu === "007B") || (uu === "007D"));
+ /*
+ * \u002A / \u002F \ \u005C + \u002B
+ ? \u003F ( \u0028 ) \u0029
+ [ \u005B ] \u005D { \u007B } \u007D
+ */
+ var LineTerminator = ((uu === "000A") || (uu === "000D") || (uu === "2028") || (uu === "2029"));
+ if ((Elimination || LineTerminator ) === false) {
+ var xx = "nnnn" + String.fromCharCode("0x" + uu);
+ var pattern = eval("/" + xx + "/");
+ if (pattern.source !== xx) {
+ $ERROR('#' + uu + ' ');
+ errorCount++;
+ }
+
+ } else {
+ count--;
+ }
+ } catch (e) {
+ $ERROR('#' + uu + ' ');
+ errorCount++;
+ }
+ count++;
+ }
+ }
+ }
+}
+
+if (errorCount > 0) {
+ $ERROR('Total error: ' + errorCount + ' bad Regular Expression First Char in ' + count);
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.2_T1.js
new file mode 100644
index 000000000..2853fe213
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.2_T1.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.2_T1;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: \ or / is incorrect;
+ * @description: \;
+ * @negative
+*/
+
+//CHECK#1
+/a\/
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.2_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.2_T2.js
new file mode 100644
index 000000000..6d8967dad
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.2_T2.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.2_T2;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: \ or / is incorrect;
+ * @description: /;
+ * @negative
+*/
+
+//CHECK#1
+/a//.source;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T1.js
new file mode 100644
index 000000000..cf1829416
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T1.js
@@ -0,0 +1,14 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.3_T1;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: LineTerminator is incorrect;
+ * @description: Line Feed, without eval;
+ * @negative
+*/
+
+//CHECK#1
+/a
+/
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T2.js
new file mode 100644
index 000000000..2f239a8a1
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T2.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.3_T2;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: LineTerminator is incorrect;
+ * @description: Line Feed, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/a\u000A/").source;
+ $ERROR('#1.1: RegularExpressionChar :: Line Feedis incorrect. Actual: ' + (eval("/a\u000A/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionChar :: Line Feed is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T3.js
new file mode 100644
index 000000000..fda8eac5e
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T3.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.3_T3;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: LineTerminator is incorrect;
+ * @description: Carriage Return, without eval;
+ * @negative
+*/
+
+//CHECK#1
+/a /
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T4.js
new file mode 100644
index 000000000..10603fb81
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T4.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.3_T4;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: LineTerminator is incorrect;
+ * @description: Carriage Return, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/a\u000D/").source;
+ $ERROR('#1.1: RegularExpressionChar :: Carriage Retur is incorrect. Actual: ' + (eval("/a\u000D/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionChar :: Carriage Retur is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T5.js
new file mode 100644
index 000000000..ef118c424
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T5.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.3_T5;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: LineTerminator is incorrect;
+ * @description: Line separator, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/a\u2028/").source;
+ $ERROR('#1.1: RegularExpressionChar :: Line separator is incorrect. Actual: ' + (eval("/a\u2028/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionChar :: Line separator is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T6.js
new file mode 100644
index 000000000..89782bb0c
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T6.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.3_T6;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: LineTerminator is incorrect;
+ * @description: Paragraph separator, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/s\u2029/").source;
+ $ERROR('#1.1: RegularExpressionChar :: Paragraph separator is incorrect. Actual: ' + (eval("/s\u2029/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionChar :: Paragraph separator is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.4_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.4_T1.js
new file mode 100644
index 000000000..0f3bface9
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.4_T1.js
@@ -0,0 +1,30 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.4_T1;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: BackslashSequence :: \NonTerminator,
+ * RegularExpressionFlags :: [empty];
+ * @description: Check similar to (/a\1/.source === "a\\1");
+*/
+
+//CHECK#1
+if (/a\1/.source !== "a\\1") {
+ $ERROR('#1: /a\\1/');
+}
+
+//CHECK#2
+if (/a\a/.source !== "a\\a") {
+ $ERROR('#2: /a\\a/');
+}
+
+//CHECK#3
+if (/,\;/.source !== ",\\;") {
+ $ERROR('#3: /,\\;/');
+}
+
+//CHECK#4
+if (/ \ /.source !== " \\ ") {
+ $ERROR('#4: / \\ /');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.4_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.4_T2.js
new file mode 100644
index 000000000..fa0bc210a
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.4_T2.js
@@ -0,0 +1,54 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.4_T2;
+ * @section: 7.8.5, 15.10.1;
+ * @assertion: RegularExpressionChar :: BackslashSequence :: \NonTerminator,
+ * RegularExpressionFlags :: [empty];
+ * @description: Complex test with eval, using syntax pattern;
+*/
+
+//CHECK
+errorCount = 0;
+count = 0;
+var hex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
+for (i1 = 0; i1 < 16; i1++) {
+ for (i2 = 0; i2 < 16; i2++) {
+ for (i3 = 0; i3 < 16; i3++) {
+ for (i4 = 0; i4 < 16; i4++) {
+ try {
+ var uu = hex[i1] + hex[i2] + hex[i3] + hex[i4];
+ var Elimination =
+ ((uu === "002A") || (uu === "002F") || (uu === "005C") || (uu === "002B") ||
+ (uu === "003F") || (uu === "0028") || (uu === "0029") ||
+ (uu === "005B") || (uu === "005D") || (uu === "007B") || (uu === "007D"));
+ /*
+ * \u002A / \u002F \ \u005C + \u002B
+ ? \u003F ( \u0028 ) \u0029
+ [ \u005B ] \u005D { \u007B } \u007D
+ */
+ var LineTerminator = ((uu === "000A") || (uu === "000D") || (uu === "2028") || (uu === "2029"));
+ if ((Elimination || LineTerminator ) === false) {
+ var xx = "a\\" + String.fromCharCode("0x" + uu);
+ var pattern = eval("/" + xx + "/");
+ if (pattern.source !== xx) {
+ $ERROR('#' + uu + ' ');
+ errorCount++;
+ }
+ } else {
+ count--;
+ }
+ } catch (e) {
+ $ERROR('#' + uu + ' ');
+ errorCount++;
+ }
+ count++;
+ }
+ }
+ }
+}
+
+if (errorCount > 0) {
+ $ERROR('Total error: ' + errorCount + ' bad Regular Expression First Char in ' + count);
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T1.js
new file mode 100644
index 000000000..1f6787d0d
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T1.js
@@ -0,0 +1,14 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.5_T1;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect;
+ * @description: Line Feed, without eval;
+ * @negative
+*/
+
+//CHECK#1
+/a\
+/
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T2.js
new file mode 100644
index 000000000..ca4fdc9e6
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T2.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.5_T2;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect;
+ * @description: Line Feed, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/a\\\u000A/").source;
+ $ERROR('#1.1: RegularExpressionChar :: BackslashSequence :: \\Line Feed is incorrect. Actual: ' + (eval("/a\\\u000A/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionChar :: BackslashSequence :: \\Line Feed is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T3.js
new file mode 100644
index 000000000..8868af8f7
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T3.js
@@ -0,0 +1,13 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.5_T3;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect;
+ * @description: Carriage Return, without eval;
+ * @negative
+*/
+
+//CHECK#1
+/a\ /
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T4.js
new file mode 100644
index 000000000..e52d6ba96
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T4.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.5_T4;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect;
+ * @description: Carriage Return, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/a\\\u000D/").source;
+ $ERROR('#1.1: RegularExpressionChar :: BackslashSequence :: \\Carriage Return is incorrect. Actual: ' + (eval("/a\\\u000D/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionChar :: BackslashSequence :: \\Carriage Return is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T5.js
new file mode 100644
index 000000000..d15b75ce3
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T5.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.5_T5;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect;
+ * @description: Line separator, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/a\\\u2028/").source;
+ $ERROR('#1.1: RegularExpressionChar :: BackslashSequence :: \\Line separator is incorrect. Actual: ' + (eval("/a\\\u2028/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionChar :: BackslashSequence :: \\Line separator is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T6.js
new file mode 100644
index 000000000..96ffc13ed
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T6.js
@@ -0,0 +1,20 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A2.5_T6;
+ * @section: 7.8.5;
+ * @assertion: RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect;
+ * @description: Paragraph separator, with eval;
+*/
+
+//CHECK#1
+try {
+ eval("/a\\\u2029/").source;
+ $ERROR('#1.1: RegularExpressionChar :: BackslashSequence :: \\Paragraph separator is incorrect. Actual: ' + (eval("/a\\\u2029/").source));
+}
+catch (e) {
+ if ((e instanceof SyntaxError) !== true) {
+ $ERROR('#1.2: RegularExpressionChar :: BackslashSequence :: \\Paragraph separator is incorrect. Actual: ' + (e));
+ }
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T1.js
new file mode 100644
index 000000000..7a6a1276a
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T1.js
@@ -0,0 +1,25 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A3.1_T1;
+ * @section: 7.8.5, 15.10.4.1;
+ * @assertion: RegularExpressionFlags :: IdentifierPart;
+ * @description: IdentifierPart :: g;
+*/
+
+//CHECK#1
+var regexp = /(?:)/g;
+if (regexp.global !== true) {
+ $ERROR('#1: var regexp = /(?:)/g; regexp.global === true. Actual: ' + (regexp.global));
+}
+
+//CHECK#2
+if (regexp.ignoreCase !== false) {
+ $ERROR('#2: var regexp = /(?:)/g; regexp.ignoreCase === false. Actual: ' + (regexp.ignoreCase));
+}
+
+//CHECK#3
+if (regexp.multiline !== false) {
+ $ERROR('#3: var regexp = /(?:)/g; regexp.multiline === false. Actual: ' + (regexp.multiline));
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T2.js
new file mode 100644
index 000000000..dc5fbbc42
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T2.js
@@ -0,0 +1,25 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A3.1_T2;
+ * @section: 7.8.5, 15.10.4.1;
+ * @assertion: RegularExpressionFlags :: IdentifierPart;
+ * @description: IdentifierPart :: i;
+*/
+
+//CHECK#1
+var regexp = /(?:)/i;
+if (regexp.global !== false) {
+ $ERROR('#1: var regexp = /(?:)/g; regexp.global === false. Actual: ' + (regexp.global));
+}
+
+//CHECK#2
+if (regexp.ignoreCase !== true) {
+ $ERROR('#2: var regexp = /(?:)/g; regexp.ignoreCase === true. Actual: ' + (regexp.ignoreCase));
+}
+
+//CHECK#3
+if (regexp.multiline !== false) {
+ $ERROR('#3: var regexp = /(?:)/g; regexp.multiline === false. Actual: ' + (regexp.multiline));
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T3.js
new file mode 100644
index 000000000..e266be1ee
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T3.js
@@ -0,0 +1,25 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A3.1_T3;
+ * @section: 7.8.5, 15.10.4.1;
+ * @assertion: RegularExpressionFlags :: IdentifierPart;
+ * @description: IdentifierPart :: m;
+*/
+
+//CHECK#1
+var regexp = /(?:)/m;
+if (regexp.global !== false) {
+ $ERROR('#1: var regexp = /(?:)/g; regexp.global === false. Actual: ' + (regexp.global));
+}
+
+//CHECK#2
+if (regexp.ignoreCase !== false) {
+ $ERROR('#2: var regexp = /(?:)/g; regexp.ignoreCase === false. Actual: ' + (regexp.ignoreCase));
+}
+
+//CHECK#3
+if (regexp.multiline !== true) {
+ $ERROR('#3: var regexp = /(?:)/g; regexp.multiline === true. Actual: ' + (regexp.multiline));
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T4.js
new file mode 100644
index 000000000..0c3969309
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T4.js
@@ -0,0 +1,25 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A3.1_T4;
+ * @section: 7.8.5, 15.10.4.1;
+ * @assertion: RegularExpressionFlags :: IdentifierPart;
+ * @description: IdentifierPart :: gi;
+*/
+
+//CHECK#1
+var regexp = /(?:)/gi;
+if (regexp.global !== true) {
+ $ERROR('#1: var regexp = /(?:)/g; regexp.global === true. Actual: ' + (regexp.global));
+}
+
+//CHECK#2
+if (regexp.ignoreCase !== true) {
+ $ERROR('#2: var regexp = /(?:)/g; regexp.ignoreCase === true. Actual: ' + (regexp.ignoreCase));
+}
+
+//CHECK#3
+if (regexp.multiline !== false) {
+ $ERROR('#3: var regexp = /(?:)/g; regexp.multiline === false. Actual: ' + (regexp.multiline));
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T5.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T5.js
new file mode 100644
index 000000000..b0101e1a4
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T5.js
@@ -0,0 +1,25 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A3.1_T5;
+ * @section: 7.8.5, 15.10.4.1;
+ * @assertion: RegularExpressionFlags :: IdentifierPart;
+ * @description: IdentifierPart :: mg;
+*/
+
+//CHECK#1
+var regexp = /(?:)/mg;
+if (regexp.global !== true) {
+ $ERROR('#1: var regexp = /(?:)/g; regexp.global === true. Actual: ' + (regexp.global));
+}
+
+//CHECK#2
+if (regexp.ignoreCase !== false) {
+ $ERROR('#2: var regexp = /(?:)/g; regexp.ignoreCase === false. Actual: ' + (regexp.ignoreCase));
+}
+
+//CHECK#3
+if (regexp.multiline !== true) {
+ $ERROR('#3: var regexp = /(?:)/g; regexp.multiline === true. Actual: ' + (regexp.multiline));
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T6.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T6.js
new file mode 100644
index 000000000..25e84137b
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T6.js
@@ -0,0 +1,25 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A3.1_T6;
+ * @section: 7.8.5, 15.10.4.1;
+ * @assertion: RegularExpressionFlags :: IdentifierPart;
+ * @description: IdentifierPart :: mig;
+*/
+
+//CHECK#1
+var regexp = /(?:)/mig;
+if (regexp.global !== true) {
+ $ERROR('#1: var regexp = /(?:)/g; regexp.global === true. Actual: ' + (regexp.global));
+}
+
+//CHECK#2
+if (regexp.ignoreCase !== true) {
+ $ERROR('#2: var regexp = /(?:)/g; regexp.ignoreCase === true. Actual: ' + (regexp.ignoreCase));
+}
+
+//CHECK#3
+if (regexp.multiline !== true) {
+ $ERROR('#3: var regexp = /(?:)/g; regexp.multiline === true. Actual: ' + (regexp.multiline));
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.js
new file mode 100644
index 000000000..4c112480b
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.js
@@ -0,0 +1,15 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A3.1_T7;
+ * @section: 7.8.5, 15.10.4.1;
+ * @assertion: RegularExpressionFlags :: IdentifierPart;
+ * @description: IdentifierPart :: \u0067 (g);
+*/
+
+//CHECK#1
+var regexp = /(?:)/\u0067;
+if (regexp.global !== true) {
+ $ERROR('#1: var regexp = /(?:)/\\u0067; regexp.global === true. Actual: ' + (regexp.global));
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.js
new file mode 100644
index 000000000..75d4a72af
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.js
@@ -0,0 +1,15 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A3.1_T8;
+ * @section: 7.8.5, 15.10.4.1;
+ * @assertion: RegularExpressionFlags :: IdentifierPart;
+ * @description: IdentifierPart :: \u0069 (i);
+*/
+
+//CHECK#1
+var regexp = /(?:)/\u0069;
+if (regexp.ignoreCase !== true) {
+ $ERROR('#1: var regexp = /(?:)/\\u0069; regexp.ignoreCase === true. Actual: ' + (regexp.ignoreCase));
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.js
new file mode 100644
index 000000000..2086e12fe
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.js
@@ -0,0 +1,15 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A3.1_T9;
+ * @section: 7.8.5, 15.10.4.1;
+ * @assertion: RegularExpressionFlags :: IdentifierPart;
+ * @description: IdentifierPart :: \u006D (m);
+*/
+
+//CHECK#1
+var regexp = /(?:)/\u006D;
+if (regexp.multiline !== true) {
+ $ERROR('#1: var regexp = /(?:)/\\u006D; regexp.multiline === true. Actual: ' + (regexp.multiline));
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A4.1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A4.1.js
new file mode 100644
index 000000000..3846b14f9
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A4.1.js
@@ -0,0 +1,16 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A4.1;
+ * @section: 7.8.5;
+ * @assertion: A regular expression literal is an input element that is converted to
+ * a RegExp object when it is scanned;
+ * @description: Check ((/(?:)/ instanceof RegExp) === true);
+*/
+
+//CHECK#1
+if ((/(?:)/ instanceof RegExp) !== true) {
+ $ERROR('#1: (/(?:)/ instanceof RegExp) === true. Actual: ' + ((/(?:)/ instanceof RegExp)));
+}
+
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A4.2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A4.2.js
new file mode 100644
index 000000000..59d64a59d
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A4.2.js
@@ -0,0 +1,19 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A4.2;
+ * @section: 7.8.5;
+ * @assertion: Two regular expression literals in a program evaluate to
+ * regular expression objects that never compare as === to each other even
+ * if the two literals' contents are identical;
+ * @description: Check equality two regular expression literals;
+*/
+
+//CHECK#1
+var regexp1 = /(?:)/;
+var regexp2 = /(?:)/;
+if (regexp1 === regexp2) {
+ $ERROR('#1: var regexp1 = /(?:)/; var regexp2 = /(?:)/; regexp1 !== regexp2');
+}
+