blob: 6968f3f3c3bc8a97ef0690f731582f999ff208cc [file] [log] [blame]
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-gettemplateobject
description: Templates are cached by source location inside a function
info: >
1. For each element _e_ of _templateRegistry_, do
1. If _e_.[[Site]] is the same Parse Node as _templateLiteral_, then
1. Return _e_.[[Array]].
---*/
let templates = [];
function tag(templateObject) {
templates.push(templateObject);
}
let a = 1;
for (let i = 0; i < 2; i++) {
tag`head${a}tail`;
}
assert.sameValue(templates.length, 2);
assert.sameValue(
templates[0],
templates[1],
'The realm\'s template cache is for source code locations in a top-level script'
);