| // Copyright (C) 2014 the V8 project authors. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| /*--- |
| es6id: 12.3.7 |
| description: Template objects are frozen (as demonstrated within strict mode) |
| info: | |
| The first argument to a tagged template should be frozen and define a `raw` |
| property that is also frozen. |
| flags: [onlyStrict] |
| ---*/ |
| |
| var templateObject = null; |
| var threwError = false; |
| (function(parameter) { |
| templateObject = parameter; |
| })``; |
| |
| assert(templateObject !== null); |
| |
| assert.throws(TypeError, function() { |
| templateObject.test262Prop = true; |
| }); |
| |
| assert( |
| templateObject.raw !== undefined , 'Template object defines a `raw` property' |
| ); |
| |
| assert.throws(TypeError, function() { |
| templateObject.raw.test262Prop = true; |
| }); |