From bd3d160ba1e52b66e352c90633bf7f42139e02a6 Mon Sep 17 00:00:00 2001 From: Mike Pennisi Date: Thu, 11 Jun 2015 12:00:29 -0400 Subject: [PATCH] Reorganize existing tests --- .../cache-differing-expressions-eval.js} | 0 ...cache-differing-expressions-new-function.js} | 0 .../cache-differing-expressions.js} | 0 .../cache-differing-raw-strings.js} | 0 .../cache-differing-string-count.js} | 0 .../cache-identical-source-eval.js} | 0 .../cache-identical-source-new-function.js} | 0 .../cache-identical-source.js} | 0 .../chained-application.js} | 0 .../constructor-invocation.js} | 0 ...mber-expression-argument-list-evaluation.js} | 0 .../member-expression-context.js} | 0 .../template-object-frozen-non-strict.js} | 0 .../template-object-frozen-strict.js} | 0 .../template-object.js} | 0 .../evaluation-order.js | 0 ...imal-character-escape-sequence-truncated.js} | 0 .../invalid-legacy-octal-escape-sequence.js} | 0 ...nvalid-unicode-escape-sequence-truncated.js} | 0 .../template-literal/literal-expr-function.js | 16 ++++++++++++++++ .../literal-expr-member-expr.js} | 13 +++++++++---- .../template-literal/literal-expr-method.js | 17 +++++++++++++++++ .../literal-expr-obj.js} | 13 +++++++++---- .../template-literal/literal-expr-primitive.js | 15 +++++++++++++++ .../template-literal/literal-expr-template.js | 14 ++++++++++++++ .../trv-character-escape-sequence.js} | 0 .../trv-escape-sequence.js} | 0 .../trv-line-continuation.js} | 0 .../trv-line-terminator-sequence.js} | 0 .../trv-no-substitution.js} | 0 .../trv-null-character-escape-sequence.js} | 0 .../trv-template-character.js} | 0 .../trv-template-characters.js} | 0 .../trv-utf16-escape-sequence.js} | 0 .../trv-zwnbsp.js} | 0 .../tv-muti-line.js} | 0 .../tv-template-head.js} | 0 .../tv-template-middle.js} | 0 .../tv-template-tail.js} | 0 .../expressions/template/function-invocation.js | 11 ----------- .../expressions/template/method-invocation.js | 13 ------------- .../language/expressions/template/primitives.js | 11 ----------- .../expressions/template/template-literal.js | 9 --------- 43 files changed, 80 insertions(+), 52 deletions(-) rename test/language/expressions/{template/caching/differing-expressions-eval.js => tagged-template/cache-differing-expressions-eval.js} (100%) rename test/language/expressions/{template/caching/differing-expressions-new-function.js => tagged-template/cache-differing-expressions-new-function.js} (100%) rename test/language/expressions/{template/caching/differing-expressions.js => tagged-template/cache-differing-expressions.js} (100%) rename test/language/expressions/{template/caching/differing-raw-strings.js => tagged-template/cache-differing-raw-strings.js} (100%) rename test/language/expressions/{template/caching/differing-string-count.js => tagged-template/cache-differing-string-count.js} (100%) rename test/language/expressions/{template/caching/identical-source-eval.js => tagged-template/cache-identical-source-eval.js} (100%) rename test/language/expressions/{template/caching/identical-source-new-function.js => tagged-template/cache-identical-source-new-function.js} (100%) rename test/language/expressions/{template/caching/identical-source.js => tagged-template/cache-identical-source.js} (100%) rename test/language/expressions/{template/tagged-chained-application.js => tagged-template/chained-application.js} (100%) rename test/language/expressions/{template/tagged-constructor-invocation.js => tagged-template/constructor-invocation.js} (100%) rename test/language/expressions/{template/tagged-call-expression-argument-list-evaluation.js => tagged-template/member-expression-argument-list-evaluation.js} (100%) rename test/language/expressions/{template/tagged-member-expression-context.js => tagged-template/member-expression-context.js} (100%) rename test/language/expressions/{template/tagged-template-object-frozen-non-strict.js => tagged-template/template-object-frozen-non-strict.js} (100%) rename test/language/expressions/{template/tagged-template-object-frozen-strict.js => tagged-template/template-object-frozen-strict.js} (100%) rename test/language/expressions/{template/tagged-template-object.js => tagged-template/template-object.js} (100%) rename test/language/expressions/{template => template-literal}/evaluation-order.js (100%) rename test/language/expressions/{template/template-values/invalid/hexidecimal-character-escape-sequence-truncated.js => template-literal/invalid-hexidecimal-character-escape-sequence-truncated.js} (100%) rename test/language/expressions/{template/template-values/invalid/legacy-octal-escape-sequence.js => template-literal/invalid-legacy-octal-escape-sequence.js} (100%) rename test/language/expressions/{template/template-values/invalid/unicode-escape-sequence-truncated.js => template-literal/invalid-unicode-escape-sequence-truncated.js} (100%) create mode 100644 test/language/expressions/template-literal/literal-expr-function.js rename test/language/expressions/{template/object-deference.js => template-literal/literal-expr-member-expr.js} (56%) create mode 100644 test/language/expressions/template-literal/literal-expr-method.js rename test/language/expressions/{template/object.js => template-literal/literal-expr-obj.js} (67%) create mode 100644 test/language/expressions/template-literal/literal-expr-primitive.js create mode 100644 test/language/expressions/template-literal/literal-expr-template.js rename test/language/expressions/{template/template-values/character-escape-sequence.js => template-literal/trv-character-escape-sequence.js} (100%) rename test/language/expressions/{template/template-values/escape-sequence.js => template-literal/trv-escape-sequence.js} (100%) rename test/language/expressions/{template/template-values/line-continuation.js => template-literal/trv-line-continuation.js} (100%) rename test/language/expressions/{template/template-values/line-terminator-sequence.js => template-literal/trv-line-terminator-sequence.js} (100%) rename test/language/expressions/{template/template-values/no-substitution.js => template-literal/trv-no-substitution.js} (100%) rename test/language/expressions/{template/template-values/null-character-escape-sequence.js => template-literal/trv-null-character-escape-sequence.js} (100%) rename test/language/expressions/{template/template-values/template-character.js => template-literal/trv-template-character.js} (100%) rename test/language/expressions/{template/template-values/template-characters.js => template-literal/trv-template-characters.js} (100%) rename test/language/expressions/{template/template-values/utf16-escape-sequence.js => template-literal/trv-utf16-escape-sequence.js} (100%) rename test/language/expressions/{template/template-values/zwnbsp.js => template-literal/trv-zwnbsp.js} (100%) rename test/language/expressions/{template/template-values/multi-line.js => template-literal/tv-muti-line.js} (100%) rename test/language/expressions/{template/template-values/template-head.js => template-literal/tv-template-head.js} (100%) rename test/language/expressions/{template/template-values/template-middle.js => template-literal/tv-template-middle.js} (100%) rename test/language/expressions/{template/template-values/template-tail.js => template-literal/tv-template-tail.js} (100%) delete mode 100644 test/language/expressions/template/function-invocation.js delete mode 100644 test/language/expressions/template/method-invocation.js delete mode 100644 test/language/expressions/template/primitives.js delete mode 100644 test/language/expressions/template/template-literal.js diff --git a/test/language/expressions/template/caching/differing-expressions-eval.js b/test/language/expressions/tagged-template/cache-differing-expressions-eval.js similarity index 100% rename from test/language/expressions/template/caching/differing-expressions-eval.js rename to test/language/expressions/tagged-template/cache-differing-expressions-eval.js diff --git a/test/language/expressions/template/caching/differing-expressions-new-function.js b/test/language/expressions/tagged-template/cache-differing-expressions-new-function.js similarity index 100% rename from test/language/expressions/template/caching/differing-expressions-new-function.js rename to test/language/expressions/tagged-template/cache-differing-expressions-new-function.js diff --git a/test/language/expressions/template/caching/differing-expressions.js b/test/language/expressions/tagged-template/cache-differing-expressions.js similarity index 100% rename from test/language/expressions/template/caching/differing-expressions.js rename to test/language/expressions/tagged-template/cache-differing-expressions.js diff --git a/test/language/expressions/template/caching/differing-raw-strings.js b/test/language/expressions/tagged-template/cache-differing-raw-strings.js similarity index 100% rename from test/language/expressions/template/caching/differing-raw-strings.js rename to test/language/expressions/tagged-template/cache-differing-raw-strings.js diff --git a/test/language/expressions/template/caching/differing-string-count.js b/test/language/expressions/tagged-template/cache-differing-string-count.js similarity index 100% rename from test/language/expressions/template/caching/differing-string-count.js rename to test/language/expressions/tagged-template/cache-differing-string-count.js diff --git a/test/language/expressions/template/caching/identical-source-eval.js b/test/language/expressions/tagged-template/cache-identical-source-eval.js similarity index 100% rename from test/language/expressions/template/caching/identical-source-eval.js rename to test/language/expressions/tagged-template/cache-identical-source-eval.js diff --git a/test/language/expressions/template/caching/identical-source-new-function.js b/test/language/expressions/tagged-template/cache-identical-source-new-function.js similarity index 100% rename from test/language/expressions/template/caching/identical-source-new-function.js rename to test/language/expressions/tagged-template/cache-identical-source-new-function.js diff --git a/test/language/expressions/template/caching/identical-source.js b/test/language/expressions/tagged-template/cache-identical-source.js similarity index 100% rename from test/language/expressions/template/caching/identical-source.js rename to test/language/expressions/tagged-template/cache-identical-source.js diff --git a/test/language/expressions/template/tagged-chained-application.js b/test/language/expressions/tagged-template/chained-application.js similarity index 100% rename from test/language/expressions/template/tagged-chained-application.js rename to test/language/expressions/tagged-template/chained-application.js diff --git a/test/language/expressions/template/tagged-constructor-invocation.js b/test/language/expressions/tagged-template/constructor-invocation.js similarity index 100% rename from test/language/expressions/template/tagged-constructor-invocation.js rename to test/language/expressions/tagged-template/constructor-invocation.js diff --git a/test/language/expressions/template/tagged-call-expression-argument-list-evaluation.js b/test/language/expressions/tagged-template/member-expression-argument-list-evaluation.js similarity index 100% rename from test/language/expressions/template/tagged-call-expression-argument-list-evaluation.js rename to test/language/expressions/tagged-template/member-expression-argument-list-evaluation.js diff --git a/test/language/expressions/template/tagged-member-expression-context.js b/test/language/expressions/tagged-template/member-expression-context.js similarity index 100% rename from test/language/expressions/template/tagged-member-expression-context.js rename to test/language/expressions/tagged-template/member-expression-context.js diff --git a/test/language/expressions/template/tagged-template-object-frozen-non-strict.js b/test/language/expressions/tagged-template/template-object-frozen-non-strict.js similarity index 100% rename from test/language/expressions/template/tagged-template-object-frozen-non-strict.js rename to test/language/expressions/tagged-template/template-object-frozen-non-strict.js diff --git a/test/language/expressions/template/tagged-template-object-frozen-strict.js b/test/language/expressions/tagged-template/template-object-frozen-strict.js similarity index 100% rename from test/language/expressions/template/tagged-template-object-frozen-strict.js rename to test/language/expressions/tagged-template/template-object-frozen-strict.js diff --git a/test/language/expressions/template/tagged-template-object.js b/test/language/expressions/tagged-template/template-object.js similarity index 100% rename from test/language/expressions/template/tagged-template-object.js rename to test/language/expressions/tagged-template/template-object.js diff --git a/test/language/expressions/template/evaluation-order.js b/test/language/expressions/template-literal/evaluation-order.js similarity index 100% rename from test/language/expressions/template/evaluation-order.js rename to test/language/expressions/template-literal/evaluation-order.js diff --git a/test/language/expressions/template/template-values/invalid/hexidecimal-character-escape-sequence-truncated.js b/test/language/expressions/template-literal/invalid-hexidecimal-character-escape-sequence-truncated.js similarity index 100% rename from test/language/expressions/template/template-values/invalid/hexidecimal-character-escape-sequence-truncated.js rename to test/language/expressions/template-literal/invalid-hexidecimal-character-escape-sequence-truncated.js diff --git a/test/language/expressions/template/template-values/invalid/legacy-octal-escape-sequence.js b/test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence.js similarity index 100% rename from test/language/expressions/template/template-values/invalid/legacy-octal-escape-sequence.js rename to test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence.js diff --git a/test/language/expressions/template/template-values/invalid/unicode-escape-sequence-truncated.js b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-truncated.js similarity index 100% rename from test/language/expressions/template/template-values/invalid/unicode-escape-sequence-truncated.js rename to test/language/expressions/template-literal/invalid-unicode-escape-sequence-truncated.js diff --git a/test/language/expressions/template-literal/literal-expr-function.js b/test/language/expressions/template-literal/literal-expr-function.js new file mode 100644 index 0000000000..6d933fe5b0 --- /dev/null +++ b/test/language/expressions/template-literal/literal-expr-function.js @@ -0,0 +1,16 @@ +// Copyright (C) Copyright 2014 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +es6id: 12.2.8.5 +description: Function invocation in expression position of TemplateLiteral +info: > + TemplateLiteral : TemplateHead Expression TemplateSpans + + 1. Let head be the TV of TemplateHead as defined in 11.8.6. + 2. Let sub be the result of evaluating Expression. + 3. Let middle be ToString(sub). +---*/ + +function fn() { return 'result'; } + +assert.sameValue(`foo ${fn()} bar`, 'foo result bar'); diff --git a/test/language/expressions/template/object-deference.js b/test/language/expressions/template-literal/literal-expr-member-expr.js similarity index 56% rename from test/language/expressions/template/object-deference.js rename to test/language/expressions/template-literal/literal-expr-member-expr.js index 8ba043de3a..0653e520a6 100644 --- a/test/language/expressions/template/object-deference.js +++ b/test/language/expressions/template-literal/literal-expr-member-expr.js @@ -1,11 +1,16 @@ // Copyright (C) Copyright 2014 the V8 project authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- -es6id: 12.2.8 -description: > - Expressions should be evaluated and converted to Strings according to the - ToString abstract operation. +es6id: 12.2.8.5 +description: MemberExpression in expression position of TemplateLiteral +info: > + TemplateLiteral : TemplateHead Expression TemplateSpans + + 1. Let head be the TV of TemplateHead as defined in 11.8.6. + 2. Let sub be the result of evaluating Expression. + 3. Let middle be ToString(sub). ---*/ + var object = { number: 5, string: 'stringValue' diff --git a/test/language/expressions/template-literal/literal-expr-method.js b/test/language/expressions/template-literal/literal-expr-method.js new file mode 100644 index 0000000000..40788c3db7 --- /dev/null +++ b/test/language/expressions/template-literal/literal-expr-method.js @@ -0,0 +1,17 @@ +// Copyright (C) Copyright 2014 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +es6id: 12.2.8.5 +description: Method invocation in expression position of TemplateLiteral +info: > + TemplateLiteral : TemplateHead Expression TemplateSpans + + 1. Let head be the TV of TemplateHead as defined in 11.8.6. + 2. Let sub be the result of evaluating Expression. + 3. Let middle be ToString(sub). +---*/ +var object = { + fn: function() { return 'result'; } +}; + +assert.sameValue(`foo ${object.fn()} bar`, 'foo result bar'); diff --git a/test/language/expressions/template/object.js b/test/language/expressions/template-literal/literal-expr-obj.js similarity index 67% rename from test/language/expressions/template/object.js rename to test/language/expressions/template-literal/literal-expr-obj.js index 59a40268b7..3cd21ad00d 100644 --- a/test/language/expressions/template/object.js +++ b/test/language/expressions/template-literal/literal-expr-obj.js @@ -1,11 +1,16 @@ // Copyright (C) Copyright 2014 the V8 project authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- -es6id: 12.2.8 -description: > - Expressions should be evaluated and converted to Strings according to the - ToString abstract operation. +es6id: 12.2.8.5 +description: Object reference in expression position of TemplateLiteral +info: > + TemplateLiteral : TemplateHead Expression TemplateSpans + + 1. Let head be the TV of TemplateHead as defined in 11.8.6. + 2. Let sub be the result of evaluating Expression. + 3. Let middle be ToString(sub). ---*/ + var plain = {}; var custom = { toString: function() { diff --git a/test/language/expressions/template-literal/literal-expr-primitive.js b/test/language/expressions/template-literal/literal-expr-primitive.js new file mode 100644 index 0000000000..4774eacd8e --- /dev/null +++ b/test/language/expressions/template-literal/literal-expr-primitive.js @@ -0,0 +1,15 @@ +// Copyright (C) Copyright 2014 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +es6id: 12.2.8.5 +description: Primitive value in expression position of TemplateLiteral +info: > + TemplateLiteral : TemplateHead Expression TemplateSpans + + 1. Let head be the TV of TemplateHead as defined in 11.8.6. + 2. Let sub be the result of evaluating Expression. + 3. Let middle be ToString(sub). +---*/ + +assert.sameValue(`foo ${5} bar`, 'foo 5 bar', 'number value'); +assert.sameValue(`foo ${'string'} bar`, 'foo string bar', 'string value'); diff --git a/test/language/expressions/template-literal/literal-expr-template.js b/test/language/expressions/template-literal/literal-expr-template.js new file mode 100644 index 0000000000..04e6beeaef --- /dev/null +++ b/test/language/expressions/template-literal/literal-expr-template.js @@ -0,0 +1,14 @@ +// Copyright (C) Copyright 2014 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +es6id: 12.2.8.5 +description: Template literal in expression position of TemplateLiteral +info: > + TemplateLiteral : TemplateHead Expression TemplateSpans + + 1. Let head be the TV of TemplateHead as defined in 11.8.6. + 2. Let sub be the result of evaluating Expression. + 3. Let middle be ToString(sub). +---*/ + +assert.sameValue(`foo ${`bar ${5} baz`} qux`, 'foo bar 5 baz qux'); diff --git a/test/language/expressions/template/template-values/character-escape-sequence.js b/test/language/expressions/template-literal/trv-character-escape-sequence.js similarity index 100% rename from test/language/expressions/template/template-values/character-escape-sequence.js rename to test/language/expressions/template-literal/trv-character-escape-sequence.js diff --git a/test/language/expressions/template/template-values/escape-sequence.js b/test/language/expressions/template-literal/trv-escape-sequence.js similarity index 100% rename from test/language/expressions/template/template-values/escape-sequence.js rename to test/language/expressions/template-literal/trv-escape-sequence.js diff --git a/test/language/expressions/template/template-values/line-continuation.js b/test/language/expressions/template-literal/trv-line-continuation.js similarity index 100% rename from test/language/expressions/template/template-values/line-continuation.js rename to test/language/expressions/template-literal/trv-line-continuation.js diff --git a/test/language/expressions/template/template-values/line-terminator-sequence.js b/test/language/expressions/template-literal/trv-line-terminator-sequence.js similarity index 100% rename from test/language/expressions/template/template-values/line-terminator-sequence.js rename to test/language/expressions/template-literal/trv-line-terminator-sequence.js diff --git a/test/language/expressions/template/template-values/no-substitution.js b/test/language/expressions/template-literal/trv-no-substitution.js similarity index 100% rename from test/language/expressions/template/template-values/no-substitution.js rename to test/language/expressions/template-literal/trv-no-substitution.js diff --git a/test/language/expressions/template/template-values/null-character-escape-sequence.js b/test/language/expressions/template-literal/trv-null-character-escape-sequence.js similarity index 100% rename from test/language/expressions/template/template-values/null-character-escape-sequence.js rename to test/language/expressions/template-literal/trv-null-character-escape-sequence.js diff --git a/test/language/expressions/template/template-values/template-character.js b/test/language/expressions/template-literal/trv-template-character.js similarity index 100% rename from test/language/expressions/template/template-values/template-character.js rename to test/language/expressions/template-literal/trv-template-character.js diff --git a/test/language/expressions/template/template-values/template-characters.js b/test/language/expressions/template-literal/trv-template-characters.js similarity index 100% rename from test/language/expressions/template/template-values/template-characters.js rename to test/language/expressions/template-literal/trv-template-characters.js diff --git a/test/language/expressions/template/template-values/utf16-escape-sequence.js b/test/language/expressions/template-literal/trv-utf16-escape-sequence.js similarity index 100% rename from test/language/expressions/template/template-values/utf16-escape-sequence.js rename to test/language/expressions/template-literal/trv-utf16-escape-sequence.js diff --git a/test/language/expressions/template/template-values/zwnbsp.js b/test/language/expressions/template-literal/trv-zwnbsp.js similarity index 100% rename from test/language/expressions/template/template-values/zwnbsp.js rename to test/language/expressions/template-literal/trv-zwnbsp.js diff --git a/test/language/expressions/template/template-values/multi-line.js b/test/language/expressions/template-literal/tv-muti-line.js similarity index 100% rename from test/language/expressions/template/template-values/multi-line.js rename to test/language/expressions/template-literal/tv-muti-line.js diff --git a/test/language/expressions/template/template-values/template-head.js b/test/language/expressions/template-literal/tv-template-head.js similarity index 100% rename from test/language/expressions/template/template-values/template-head.js rename to test/language/expressions/template-literal/tv-template-head.js diff --git a/test/language/expressions/template/template-values/template-middle.js b/test/language/expressions/template-literal/tv-template-middle.js similarity index 100% rename from test/language/expressions/template/template-values/template-middle.js rename to test/language/expressions/template-literal/tv-template-middle.js diff --git a/test/language/expressions/template/template-values/template-tail.js b/test/language/expressions/template-literal/tv-template-tail.js similarity index 100% rename from test/language/expressions/template/template-values/template-tail.js rename to test/language/expressions/template-literal/tv-template-tail.js diff --git a/test/language/expressions/template/function-invocation.js b/test/language/expressions/template/function-invocation.js deleted file mode 100644 index 38094e74c6..0000000000 --- a/test/language/expressions/template/function-invocation.js +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright (C) Copyright 2014 the V8 project authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -es6id: 12.2.8 -description: > - Expressions should be evaluated and converted to Strings according to the - ToString abstract operation. ----*/ -function fn() { return 'result'; } - -assert.sameValue(`foo ${fn()} bar`, 'foo result bar'); diff --git a/test/language/expressions/template/method-invocation.js b/test/language/expressions/template/method-invocation.js deleted file mode 100644 index 6f9a9ed077..0000000000 --- a/test/language/expressions/template/method-invocation.js +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (C) Copyright 2014 the V8 project authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -es6id: 12.2.8 -description: > - Expressions should be evaluated and converted to Strings according to the - ToString abstract operation. ----*/ -var object = { - fn: function() { return 'result'; } -}; - -assert.sameValue(`foo ${object.fn()} bar`, 'foo result bar'); diff --git a/test/language/expressions/template/primitives.js b/test/language/expressions/template/primitives.js deleted file mode 100644 index 44a1396e17..0000000000 --- a/test/language/expressions/template/primitives.js +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright (C) Copyright 2014 the V8 project authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -es6id: 12.2.8 -description: > - Expressions should be evaluated and converted to Strings according to the - ToString abstract operation. ----*/ - -assert.sameValue(`foo ${5} bar`, 'foo 5 bar', 'number value'); -assert.sameValue(`foo ${'string'} bar`, 'foo string bar', 'string value'); diff --git a/test/language/expressions/template/template-literal.js b/test/language/expressions/template/template-literal.js deleted file mode 100644 index a3b06e45c1..0000000000 --- a/test/language/expressions/template/template-literal.js +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (C) Copyright 2014 the V8 project authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -es6id: 12.2.8 -description: > - Expressions should be evaluated and converted to Strings according to the - ToString abstract operation. ----*/ -assert.sameValue(`foo ${`bar ${5} baz`} qux`, 'foo bar 5 baz qux');