summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValerie <spectranaut@gmail.com>2018-02-28 13:58:22 -0500
committerLeo Balter <leonardo.balter@gmail.com>2018-02-28 13:58:22 -0500
commit1e1d503c1bf42d88fc244ea411abc062d6a38fef (patch)
treea8d1b09e81765ecee9c47c13f163dc9798c57e09
parent7add5252e5f269be2caf216df0c1028c56aee95a (diff)
downloadqtdeclarative-testsuites-1e1d503c1bf42d88fc244ea411abc062d6a38fef.tar.gz
numeric literal seperators: test change in CodePoint production (#1464)
-rw-r--r--test/language/expressions/template-literal/unicode-escape-nls-err.js55
-rw-r--r--test/language/identifiers/unicode-escape-nls-err.js48
-rw-r--r--test/language/literals/regexp/unicode-escape-nls-err.js73
-rw-r--r--test/language/literals/string/unicode-escape-nls-err-double.js49
-rw-r--r--test/language/literals/string/unicode-escape-nls-err-single.js49
5 files changed, 274 insertions, 0 deletions
diff --git a/test/language/expressions/template-literal/unicode-escape-nls-err.js b/test/language/expressions/template-literal/unicode-escape-nls-err.js
new file mode 100644
index 000000000..64085f275
--- /dev/null
+++ b/test/language/expressions/template-literal/unicode-escape-nls-err.js
@@ -0,0 +1,55 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: prod-Template
+description: NumericLiteralSeperator disallowed in unicode CodePoint sequence
+info: |
+ Template ::
+ NoSubstitutionTemplate
+ TemplateHead
+
+ NoSubstitutionTemplate ::
+ `TemplateCharactersopt`
+
+ TemplateCharacters ::
+ TemplateCharacterTemplateCharactersopt
+
+ TemplateCharacter ::
+ $[lookahead ≠ {]
+ \EscapeSequence
+ \NotEscapeSequence
+ LineContinuation
+ LineTerminatorSequence
+ SourceCharacterbut not one of ` or \ or $ or LineTerminator
+
+ EscapeSequence ::
+ CharacterEscapeSequence
+ 0 [lookahead ∉ DecimalDigit]
+ HexEscapeSequence
+ UnicodeEscapeSequence
+
+ UnicodeEscapeSequence ::
+ uHex4Digits
+ u{CodePoint}
+
+ CodePoint ::
+ HexDigit but only if MV of HexDigits ≤ 0x10FFFF
+ CodePointDigits but only if MV of HexDigits ≤ 0x10FFFF
+
+ CodePointDigits ::
+ HexDigit
+ CodePointDigitsHexDigit
+
+ HexDigit :: one of
+ 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
+
+features: [numeric-separator-literal]
+negative:
+ phase: parse
+ type: SyntaxError
+---*/
+
+throw "Test262: This statement should not be evaluated.";
+
+`\u{1F_639}`;
diff --git a/test/language/identifiers/unicode-escape-nls-err.js b/test/language/identifiers/unicode-escape-nls-err.js
new file mode 100644
index 000000000..1fe553699
--- /dev/null
+++ b/test/language/identifiers/unicode-escape-nls-err.js
@@ -0,0 +1,48 @@
+// Copyright (C) 2014 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: prod-Identifier
+description: NumericLiteralSeperator disallowed in unicode CodePoint escape sequence
+info: |
+ Identifier:
+ IdentifierName but not ReservedWord
+
+ IdentifierName ::
+ IdentifierStart
+ IdentifierNameIdentifierPart
+
+ IdentifierStart ::
+ UnicodeIDStart
+ $
+ _
+ \UnicodeEscapeSequence
+
+ IdentifierPart ::
+ UnicodeIDContinue
+ $
+ \UnicodeEscapeSequence
+
+ UnicodeEscapeSequence ::
+ uHex4Digits
+ u{CodePoint}
+
+ CodePoint ::
+ HexDigit but only if MV of HexDigits ≤ 0x10FFFF
+ CodePointDigits but only if MV of HexDigits ≤ 0x10FFFF
+
+ CodePointDigits ::
+ HexDigit
+ CodePointDigitsHexDigit
+
+ HexDigit :: one of
+ 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
+
+features: [numeric-separator-literal]
+negative:
+ phase: parse
+ type: SyntaxError
+---*/
+
+throw "Test262: This statement should not be evaluated.";
+
+var \u{00_76} = 1;
diff --git a/test/language/literals/regexp/unicode-escape-nls-err.js b/test/language/literals/regexp/unicode-escape-nls-err.js
new file mode 100644
index 000000000..24b4ad5d6
--- /dev/null
+++ b/test/language/literals/regexp/unicode-escape-nls-err.js
@@ -0,0 +1,73 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: prod-Pattern
+description: NumericLiteralSeperator disallowed in unicode CodePoint sequence
+info: |
+ Pattern[U, N]::
+ Disjunction[?U, ?N]
+
+ Disjunction[U, N]::
+ Alternative[?U, ?N]
+ Alternative[?U, ?N]|Disjunction[?U, ?N]
+
+ Alternative[U, N]::
+ [empty]
+ Alternative[?U, ?N]Term[?U, ?N]
+
+ Term[U, N]::
+ Assertion[?U, ?N]
+ Atom[?U, ?N]
+ Atom[?U, ?N]Quantifier
+
+ Atom[U, N]::
+ PatternCharacter
+ .
+ \AtomEscape[?U, ?N]
+ CharacterClass[?U]
+ (GroupSpecifier[?U]Disjunction[?U, ?N])
+ (?:Disjunction[?U, ?N])
+
+ AtomEscape[U, N]::
+ DecimalEscape
+ CharacterClassEscape[?U]
+ CharacterEscape[?U]
+ [+N]kGroupName[?U]
+
+ CharacterEscape[U]::
+ ControlEscape
+ cControlLetter
+ 0[lookahead ∉ DecimalDigit]
+ HexEscapeSequence
+ RegExpUnicodeEscapeSequence[?U]
+ IdentityEscape[?U]
+
+ RegExpUnicodeEscapeSequence[U]::
+ [+U]uLeadSurrogate\uTrailSurrogate
+ [+U]uLeadSurrogate
+ [+U]uTrailSurrogate
+ [+U]uNonSurrogate
+ [~U]uHex4Digits
+ [+U]u{CodePoint}
+
+ CodePoint ::
+ HexDigit but only if MV of HexDigits ≤ 0x10FFFF
+ CodePointDigits but only if MV of HexDigits ≤ 0x10FFFF
+
+ CodePointDigits ::
+ HexDigit
+ CodePointDigitsHexDigit
+
+ HexDigit :: one of
+ 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
+
+features: [numeric-separator-literal]
+negative:
+ phase: parse
+ type: SyntaxError
+---*/
+
+throw "Test262: This statement should not be evaluated.";
+
+/\u{1F_639}/u;
diff --git a/test/language/literals/string/unicode-escape-nls-err-double.js b/test/language/literals/string/unicode-escape-nls-err-double.js
new file mode 100644
index 000000000..d33d4f95f
--- /dev/null
+++ b/test/language/literals/string/unicode-escape-nls-err-double.js
@@ -0,0 +1,49 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: prod-StringLiteral
+description: NumericLiteralSeperator disallowed in unicode CodePoint sequence (DoubleStringCharacters)
+info: |
+ StringLiteral::
+ "DoubleStringCharacters opt"
+ 'SingleStringCharacters opt'
+
+ DoubleStringCharacters::
+ DoubleStringCharacter DoubleStringCharacters opt
+
+ DoubleStringCharacter::
+ SourceCharacter but not one of " or \ or LineTerminator
+ \ EscapeSequence
+ LineContinuation
+
+ EscapeSequence::
+ CharacterEscapeSequence
+ 0 [lookahead ∉ DecimalDigit]
+ HexEscapeSequence
+ UnicodeEscapeSequence
+
+ UnicodeEscapeSequence ::
+ uHex4Digits
+ u{CodePoint}
+
+ CodePoint ::
+ HexDigit but only if MV of HexDigits ≤ 0x10FFFF
+ CodePointDigits but only if MV of HexDigits ≤ 0x10FFFF
+
+ CodePointDigits ::
+ HexDigit
+ CodePointDigitsHexDigit
+
+ HexDigit :: one of
+ 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
+
+features: [numeric-separator-literal]
+negative:
+ phase: parse
+ type: SyntaxError
+---*/
+
+throw "Test262: This statement should not be evaluated.";
+
+"\u{1F_639}"
diff --git a/test/language/literals/string/unicode-escape-nls-err-single.js b/test/language/literals/string/unicode-escape-nls-err-single.js
new file mode 100644
index 000000000..a2d7c559b
--- /dev/null
+++ b/test/language/literals/string/unicode-escape-nls-err-single.js
@@ -0,0 +1,49 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: prod-StringLiteral
+description: NumericLiteralSeperator disallowed in unicode CodePoint sequence (DoubleStringCharacters)
+info: |
+ StringLiteral::
+ "DoubleStringCharacters opt"
+ 'SingleStringCharacters opt'
+
+ SingleStringCharacters::
+ SingleStringCharacterSingleStringCharactersopt
+
+ SingleStringCharacter::
+ SourceCharacterbut not one of ' or \ or LineTerminator
+ \ EscapeSequence
+ LineContinuation
+
+ EscapeSequence::
+ CharacterEscapeSequence
+ 0 [lookahead ∉ DecimalDigit]
+ HexEscapeSequence
+ UnicodeEscapeSequence
+
+ UnicodeEscapeSequence ::
+ uHex4Digits
+ u{CodePoint}
+
+ CodePoint ::
+ HexDigit but only if MV of HexDigits ≤ 0x10FFFF
+ CodePointDigits but only if MV of HexDigits ≤ 0x10FFFF
+
+ CodePointDigits ::
+ HexDigit
+ CodePointDigitsHexDigit
+
+ HexDigit :: one of
+ 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
+
+features: [numeric-separator-literal]
+negative:
+ phase: parse
+ type: SyntaxError
+---*/
+
+throw "Test262: This statement should not be evaluated.";
+
+'\u{1F_639}';