test262/test/built-ins/Array/S15.4.5.1_A2.1_T1.js

44 lines
1.1 KiB
JavaScript

// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: >
If P is not an array index, return
(Create a property with name P, set its value to V and give it empty attributes)
es5id: 15.4.5.1_A2.1_T1
description: P in [4294967295, -1, true]
---*/
//CHECK#1
var x = [];
x[4294967295] = 1;
if (x.length !== 0) {
$ERROR('#1.1: x = []; x[4294967295] = 1; x.length === 0. Actual: ' + (x.length));
}
if (x[4294967295] !== 1) {
$ERROR('#1.2: x = []; x[4294967295] = 1; x[4294967295] === 1. Actual: ' + (x[4294967295]));
}
//CHECK#2
x = [];
x[-1] = 1;
if (x.length !== 0) {
$ERROR('#2.1: x = []; x[-1] = 1; x.length === 0. Actual: ' + (x.length));
}
if (x[-1] !== 1) {
$ERROR('#2.2: x = []; x[-1] = 1; x[-1] === 1. Actual: ' + (x[-1]));
}
//CHECK#3
x = [];
x[true] = 1;
if (x.length !== 0) {
$ERROR('#3.1: x = []; x[true] = 1; x.length === 0. Actual: ' + (x.length));
}
if (x[true] !== 1) {
$ERROR('#3.2: x = []; x[true] = 1; x[true] === 1. Actual: ' + (x[true]));
}