middle-list-many-expr-obj.js (1200B)
1 // Copyright (C) 2015 the V8 project authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 /*--- 4 es6id: 12.2.8.5 5 description: Object reference in expression position of TemplateMiddleList 6 info: | 7 TemplateMiddleList : TemplateMiddleList TemplateMiddle Expression 8 9 1. Let rest be the result of evaluating TemplateMiddleList . 10 2. ReturnIfAbrupt(rest). 11 3. Let middle be the TV of TemplateMiddle as defined in 11.8.6. 12 4. Let sub be the result of evaluating Expression. 13 5. Let last be ToString(sub). 14 ---*/ 15 16 var plain = {}; 17 var custom = { 18 toString: function() { 19 return '"own" toString'; 20 } 21 }; 22 23 assert.sameValue(`${0} ${1} ${plain}`, '0 1 [object Object]'); 24 assert.sameValue(`${0} ${1} ${plain}`, '0 1 [object Object]'); 25 assert.sameValue(`${0} ${1} ${plain}2`, '0 1 [object Object]2'); 26 assert.sameValue(`${0} ${1} ${plain}2`, '0 1 [object Object]2'); 27 28 assert.sameValue(`${0} ${1} ${custom}`, '0 1 "own" toString'); 29 assert.sameValue(`${0} ${1} ${custom}`, '0 1 "own" toString'); 30 assert.sameValue(`${0} ${1} ${custom}2`, '0 1 "own" toString2'); 31 assert.sameValue(`${0} ${1} ${custom}2`, '0 1 "own" toString2'); 32 33 reportCompare(0, 0);