summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/literals/string/unicode-escape-no-hex-err-single.js
blob: b6cadf80a1b9ab6637afbbc5820cf1a16ea02925 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// |reftest| error:SyntaxError
// Copyright (C) 2020 Alexey Shvayka. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
esid: prod-StringLiteral
description: >
  \u is at the end of string, Hex4Digits is required.
info: |
  StringLiteral ::
    " DoubleStringCharacters_opt "
    ' SingleStringCharacters_opt '

  SingleStringCharacters ::
    SingleStringCharacter SingleStringCharacters_opt

  SingleStringCharacter ::
    SourceCharacter but not one of ' or \ or LineTerminator
    <LS>
    <PS>
    \ EscapeSequence
    LineContinuation

  EscapeSequence ::
    CharacterEscapeSequence
    0 [lookahead ∉ DecimalDigit]
    HexEscapeSequence
    UnicodeEscapeSequence

  UnicodeEscapeSequence ::
    u Hex4Digits
    u{ CodePoint }

  Hex4Digits ::
    HexDigit HexDigit HexDigit HexDigit

  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

negative:
  phase: parse
  type: SyntaxError
---*/

$DONOTEVALUATE();

'\u'