| // Copyright 2009 the Sputnik authors. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| |
| /*--- |
| esid: sec-array-exotic-objects-defineownproperty-p-desc |
| info: Set the value of property length of A to Uint32(length) |
| es5id: 15.4.5.1_A1.3_T1 |
| description: length is object or primitve |
| ---*/ |
| |
| //CHECK#1 |
| var x = []; |
| x.length = true; |
| if (x.length !== 1) { |
| $ERROR('#1: x = []; x.length = true; x.length === 1. Actual: ' + (x.length)); |
| } |
| |
| //CHECK#2 |
| x = [0]; |
| x.length = null; |
| if (x.length !== 0) { |
| $ERROR('#2: x = [0]; x.length = null; x.length === 0. Actual: ' + (x.length)); |
| } |
| |
| //CHECK#3 |
| x = [0]; |
| x.length = new Boolean(false); |
| if (x.length !== 0) { |
| $ERROR('#3: x = [0]; x.length = new Boolean(false); x.length === 0. Actual: ' + (x.length)); |
| } |
| |
| //CHECK#4 |
| x = []; |
| x.length = new Number(1); |
| if (x.length !== 1) { |
| $ERROR('#4: x = []; x.length = new Number(1); x.length === 1. Actual: ' + (x.length)); |
| } |
| |
| //CHECK#5 |
| x = []; |
| x.length = "1"; |
| if (x.length !== 1) { |
| $ERROR('#5: x = []; x.length = "1"; x.length === 1. Actual: ' + (x.length)); |
| } |
| |
| //CHECK#6 |
| x = []; |
| x.length = new String("1"); |
| if (x.length !== 1) { |
| $ERROR('#6: x = []; x.length = new String("1"); x.length === 1. Actual: ' + (x.length)); |
| } |