mirror of https://github.com/tc39/test262.git
Add tests for LineContinuation in StringLiteral
This commit is contained in:
parent
fbccd8eeff
commit
3758f6a97c
|
@ -0,0 +1,60 @@
|
|||
// Copyright (C) 2018 Richard Gibson. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-literals-string-literals
|
||||
description: >
|
||||
Line terminators may occur within string literals as part of a |LineContinuation|
|
||||
to produce the empty code points sequence.
|
||||
info: |
|
||||
11.8.4 String Literals
|
||||
|
||||
StringLiteral ::
|
||||
`"` DoubleStringCharacters? `"`
|
||||
`'` SingleStringCharacters? `'`
|
||||
|
||||
DoubleStringCharacters ::
|
||||
DoubleStringCharacter DoubleStringCharacters?
|
||||
|
||||
DoubleStringCharacter ::
|
||||
SourceCharacter but not one of `"` or `\` or LineTerminator
|
||||
<LS>
|
||||
<PS>
|
||||
`\` EscapeSequence
|
||||
LineContinuation
|
||||
|
||||
LineContinuation ::
|
||||
`\` LineTerminatorSequence
|
||||
|
||||
11.3 Line Terminators
|
||||
|
||||
LineTerminatorSequence ::
|
||||
<LF>
|
||||
<CR> [lookahead != <LF>]
|
||||
<LS>
|
||||
<PS>
|
||||
<CR> <LF>
|
||||
|
||||
11.8.4.2 Static Semantics: SV
|
||||
|
||||
The SV of DoubleStringCharacter :: LineContinuation is the empty code unit sequence.
|
||||
---*/
|
||||
|
||||
// LineTerminatorSequence :: <LF>
|
||||
assert.sameValue("\
|
||||
", "");
|
||||
|
||||
// LineTerminatorSequence :: <CR> [lookahead ≠ <LF>]
|
||||
assert.sameValue("\
", "");
|
||||
|
||||
// LineTerminatorSequence :: <LS>
|
||||
// <LS> is U+2028 LINE SEPARATOR; UTF8(0x2028) = 0xE2 0x80 0xA8
|
||||
assert.sameValue("\
", "");
|
||||
|
||||
// LineTerminatorSequence :: <PS>
|
||||
// <PS> is U+2029 PARAGRAPH SEPARATOR; UTF8(0x2029) = 0xE2 0x80 0xA9
|
||||
assert.sameValue("\
", "");
|
||||
|
||||
// LineTerminatorSequence :: <CR> <LF>
|
||||
assert.sameValue("\
|
||||
", "");
|
|
@ -0,0 +1,60 @@
|
|||
// Copyright (C) 2018 Richard Gibson. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-literals-string-literals
|
||||
description: >
|
||||
Line terminators may occur within string literals as part of a |LineContinuation|
|
||||
to produce the empty code points sequence.
|
||||
info: |
|
||||
11.8.4 String Literals
|
||||
|
||||
StringLiteral ::
|
||||
`"` DoubleStringCharacters? `"`
|
||||
`'` SingleStringCharacters? `'`
|
||||
|
||||
SingleStringCharacters ::
|
||||
SingleStringCharacter SingleStringCharacters?
|
||||
|
||||
SingleStringCharacter ::
|
||||
SourceCharacter but not one of `'` or `\` or LineTerminator
|
||||
<LS>
|
||||
<PS>
|
||||
`\` EscapeSequence
|
||||
LineContinuation
|
||||
|
||||
LineContinuation ::
|
||||
`\` LineTerminatorSequence
|
||||
|
||||
11.3 Line Terminators
|
||||
|
||||
LineTerminatorSequence ::
|
||||
<LF>
|
||||
<CR> [lookahead != <LF>]
|
||||
<LS>
|
||||
<PS>
|
||||
<CR> <LF>
|
||||
|
||||
11.8.4.2 Static Semantics: SV
|
||||
|
||||
The SV of SingleStringCharacter :: LineContinuation is the empty code unit sequence.
|
||||
---*/
|
||||
|
||||
// LineTerminatorSequence :: <LF>
|
||||
assert.sameValue('\
|
||||
', '');
|
||||
|
||||
// LineTerminatorSequence :: <CR> [lookahead ≠ <LF>]
|
||||
assert.sameValue('\
', '');
|
||||
|
||||
// LineTerminatorSequence :: <LS>
|
||||
// <LS> is U+2028 LINE SEPARATOR; UTF8(0x2028) = 0xE2 0x80 0xA8
|
||||
assert.sameValue('\
', '');
|
||||
|
||||
// LineTerminatorSequence :: <PS>
|
||||
// <PS> is U+2029 PARAGRAPH SEPARATOR; UTF8(0x2029) = 0xE2 0x80 0xA9
|
||||
assert.sameValue('\
', '');
|
||||
|
||||
// LineTerminatorSequence :: <CR> <LF>
|
||||
assert.sameValue('\
|
||||
', '');
|
Loading…
Reference in New Issue