blob: a5fb95f6635b8906e5b484a516df84d3b7dc7e46 [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
function test(a)
{
a = a.pop();
return a;
}
var arr = [ { a : 3 }];
var r = test(arr);
WScript.Echo(r.a);
arr = [ { a: 3 }];
r = test(arr);
WScript.Echo(r.a);
// Test that popping a gap accesses the prototype chain
function f(a) {
while (a.length > 0)
a.pop();
}
f(['x',,'x']);
Object.defineProperty(Object.prototype,"1",{get: function(){ WScript.Echo("getter"); }, configurable:true});
f(['x',,'x']);
function f_float(a) {
while (a.length > 0)
a.pop();
}
delete Object.prototype[1];
var x = [1.2];
x[3] = 1.4;
f_float(x);
Object.defineProperty(Object.prototype,"1",{get: function(){ WScript.Echo("getter"); }, configurable:true});
x = [1.1];
x[2] = 1.3;
f_float(x);