// Copyright (C) 2018 Andrea Giammarchi. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- esid: sec-gettemplateobject description: > Template objects are canonicalized separately for each realm using its Realm Record's [[TemplateMap]]. Each [[Site]] value is a Parse Node that is a TemplateLiteral info: | Let rawStrings be TemplateStrings of templateLiteral with argument true. Let realm be the current Realm Record. Let templateRegistry be realm.[[TemplateMap]]. For each element e of templateRegistry, do If e.[[Site]] is the same Parse Node as templateLiteral, then Return e.[[Array]]. ---*/ var expect; var cache = []; function sameSite() { tag`${Math.random()}`; } function tag(parameter) { if (!expect) { expect = parameter; } cache.push(parameter); } sameSite(); sameSite(); tag`${1}`; sameSite(); sameSite(); assert(cache[0] === expect); assert(cache[1] === expect); assert(cache[2] !== expect); assert(cache[3] === expect); assert(cache[4] === expect); reportCompare(0, 0);