diff options
Diffstat (limited to 'deps/v8/test/mjsunit/es9/regress/regress-866229.js')
-rw-r--r-- | deps/v8/test/mjsunit/es9/regress/regress-866229.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/es9/regress/regress-866229.js b/deps/v8/test/mjsunit/es9/regress/regress-866229.js new file mode 100644 index 00000000000..7e98c6ae8af --- /dev/null +++ b/deps/v8/test/mjsunit/es9/regress/regress-866229.js @@ -0,0 +1,20 @@ +// Copyright 2018 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 + +var obj = { length: 1, 0: "spread" }; +obj[Symbol.toStringTag] = "foo"; +obj[Symbol.hasInstance] = function() { return true; } +obj[Symbol.isConcatSpreadable] = true; + +var obj2 = { ...obj }; + +// Crash if fast result map bitfield is not set correctly, if verifying heap +%HeapObjectVerify(obj2); + +// Ensure correct result for some well-known symbols +assertEquals("[object foo]", Object.prototype.toString.call(obj2)); +assertTrue(Uint8Array instanceof obj2); +assertEquals(["spread"], [].concat(obj2)); |