| 12345678910111213141516171819202122232425262728 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- var obj = [1, 2, 3];
- var cc_base = [-2, -1, 0];
- var isCS = false;
- var counter = 0;
- Object.defineProperty(obj, Symbol.isConcatSpreadable, {
- get : function () {
- counter++;
- obj[2] = isCS ? "Some String inserted" : 123;
- isCS = !isCS;
- return isCS;
- }
- });
- var MAY_THROW = function(n, result) {
- if (!result) throw new Error(n + ". FAILED");
- };
- MAY_THROW(0, cc_base.concat(obj).length == 6);
- MAY_THROW(1, cc_base.concat(obj).length == 4);
- MAY_THROW(2, counter == 2 && !isCS);
- print("PASS");
|