string-concat-external-thin-string.js 595 Bytes
Newer Older
1 2 3 4 5 6 7
// Copyright 2017 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Flags: --allow-natives-syntax --expose-externalize-string

// Calculate string so that it isn't internalized.
8
var string = ((a,b) => { return a + b; })('foo', 'bar');
9 10 11 12 13 14 15 16 17 18

// Now externalize it.
externalizeString(string, false);

// Then internalize it by using it as a keyed property name
// to turn it a thin string.
var obj = {};
obj[string];

// Perform a string concatination.
19
assertEquals('"' + string + '"', '"foobar"');