test262/test/built-ins/String/raw/template-substitutions-are-appended-on-same-index.js
André Bargull f95b56ab28 Revert "js-beautify: make all indentation consistent (depth & character) (#1409)" (#1412)
This reverts commit a01de4a722d088055a7d84d8c691ddd7109edb34.
2018-02-09 12:09:47 -05:00

33 lines
1.2 KiB
JavaScript

// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 21.1.2.4
description: >
Returns the string value appending from the same index order using String.raw
as a tag function.
info: |
21.1.2.4 String.raw ( template , ...substitutions )
...
10. Let stringElements be a new List.
11. Let nextIndex be 0.
12. Repeat
a. Let nextKey be ToString(nextIndex).
b. Let nextSeg be ToString(Get(raw, nextKey)).
c. ReturnIfAbrupt(nextSeg).
d. Append in order the code unit elements of nextSeg to the end of
stringElements.
e. If nextIndex + 1 = literalSegments, then
i. Return the String value whose code units are, in order, the elements in
the List stringElements. If stringElements has no elements, the empty
string is returned.
f. If nextIndex < numberOfSubstitutions, let next be substitutions[nextIndex].
g. Else, let next be the empty String.
h. Let nextSub be ToString(next).
i. ReturnIfAbrupt(nextSub).
j. Append in order the code unit elements of nextSub to the end of stringElements.
k. Let nextIndex be nextIndex + 1.
---*/
assert.sameValue(String.raw`1${2}3${4}5`, '12345');