2011-09-07 08:35:18 +02:00
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
2014-07-22 01:09:02 +02:00
/ * - - -
2018-01-05 18:26:51 +01:00
info : |
2014-07-22 01:09:02 +02:00
When the Object constructor is called with no arguments the following steps are taken :
( The argument value was not supplied or its type was Null or Undefined . )
i ) Create a new native ECMAScript object .
ii ) The [ [ Prototype ] ] property of the newly constructed object is set to the Object prototype object .
iii ) The [ [ Class ] ] property of the newly constructed object is set to "Object" .
iv ) The newly constructed object has no [ [ Value ] ] property .
v ) Return the newly created native object
2014-07-25 00:41:42 +02:00
es5id : 15.2 . 2.1 _A1 _T2
2014-07-22 01:09:02 +02:00
description : Creating new Object ( void 0 ) and checking its properties
-- - * /
2011-09-07 08:35:18 +02:00
//var foo = void 0;
var obj = new Object ( void 0 ) ;
// CHECK#0
if ( obj === undefined ) {
2021-07-28 22:50:06 +02:00
throw new Test262Error ( '#0: new Object(undefined) return the newly created native object.' ) ;
2011-09-07 08:35:18 +02:00
}
// CHECK#1
if ( obj . constructor !== Object ) {
2021-07-28 22:50:06 +02:00
throw new Test262Error ( '#1: new Object(undefined) create a new native ECMAScript object' ) ;
2011-09-07 08:35:18 +02:00
}
// CHECK#2
if ( ! ( Object . prototype . isPrototypeOf ( obj ) ) ) {
2021-07-28 22:50:06 +02:00
throw new Test262Error ( '#2: when new Object(undefined) calls the [[Prototype]] property of the newly constructed object is set to the Object prototype object.' ) ;
2011-09-07 08:35:18 +02:00
}
// CHECK#3
2018-02-15 21:33:45 +01:00
var to _string _result = '[object ' + 'Object' + ']' ;
2011-09-07 08:35:18 +02:00
if ( obj . toString ( ) !== to _string _result ) {
2021-07-28 22:50:06 +02:00
throw new Test262Error ( '#3: when new Object(undefined) calls the [[Class]] property of the newly constructed object is set to "Object".' ) ;
2011-09-07 08:35:18 +02:00
}
// CHECK#4
if ( obj . valueOf ( ) . toString ( ) !== to _string _result . toString ( ) ) {
2021-07-28 22:50:06 +02:00
throw new Test262Error ( '#4: when new Object(undefined) calls the newly constructed object has no [[Value]] property.' ) ;
2011-09-07 08:35:18 +02:00
}