blob: dedf7ad4d9cd862649df7f436254cfc70249b07a [file]
//-------------------------------------------------------------------------------------------------------
// 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");