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
The [ [ Value ] ] property of the newly constructed object
is set by following steps :
1. Call ToNumber ( year )
2. Call ToNumber ( month )
3. If date is supplied use ToNumber ( date )
4. If hours is supplied use ToNumber ( hours )
5. If minutes is supplied use ToNumber ( minutes )
6. If seconds is supplied use ToNumber ( seconds )
7. If ms is supplied use ToNumber ( ms )
2017-07-27 23:24:39 +02:00
esid : sec - date - year - month - date - hours - minutes - seconds - ms
2014-07-22 01:09:02 +02:00
description : 7 arguments , ( year , month , date , hours , minutes , seconds , ms )
-- - * /
2011-09-07 08:35:18 +02:00
2021-08-11 20:13:41 +02:00
function PoisonedValueOf ( val ) {
2011-09-07 08:35:18 +02:00
this . value = val ;
2018-02-15 22:40:26 +01:00
this . valueOf = function ( ) {
2021-08-11 20:13:41 +02:00
throw new Test262Error ( ) ;
2018-02-15 22:40:26 +01:00
} ;
2021-08-11 20:13:41 +02:00
this . toString = function ( ) { } ;
2011-09-07 08:35:18 +02:00
}
2021-08-11 20:13:41 +02:00
assert . throws ( Test262Error , ( ) => {
new Date ( new PoisonedValueOf ( 1 ) , new PoisonedValueOf ( 2 ) , new PoisonedValueOf ( 3 ) , new PoisonedValueOf ( 4 ) , new PoisonedValueOf ( 5 ) , new PoisonedValueOf ( 6 ) , new PoisonedValueOf ( 7 ) ) ;
} , '`new Date(new PoisonedValueOf(1), new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7))` throws a Test262Error exception' ) ;
2011-09-07 08:35:18 +02:00
2021-08-11 20:13:41 +02:00
assert . throws ( Test262Error , ( ) => {
new Date ( 1 , new PoisonedValueOf ( 2 ) , new PoisonedValueOf ( 3 ) , new PoisonedValueOf ( 4 ) , new PoisonedValueOf ( 5 ) , new PoisonedValueOf ( 6 ) , new PoisonedValueOf ( 7 ) ) ;
} , '`new Date(1, new PoisonedValueOf(2), new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7))` throws a Test262Error exception' ) ;
2011-09-07 08:35:18 +02:00
2021-08-11 20:13:41 +02:00
assert . throws ( Test262Error , ( ) => {
new Date ( 1 , 2 , new PoisonedValueOf ( 3 ) , new PoisonedValueOf ( 4 ) , new PoisonedValueOf ( 5 ) , new PoisonedValueOf ( 6 ) , new PoisonedValueOf ( 7 ) ) ;
} , '`new Date(1, 2, new PoisonedValueOf(3), new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7))` throws a Test262Error exception' ) ;
2011-09-07 08:35:18 +02:00
2021-08-11 20:13:41 +02:00
assert . throws ( Test262Error , ( ) => {
new Date ( 1 , 2 , 3 , new PoisonedValueOf ( 4 ) , new PoisonedValueOf ( 5 ) , new PoisonedValueOf ( 6 ) , new PoisonedValueOf ( 7 ) ) ;
} , '`new Date(1, 2, 3, new PoisonedValueOf(4), new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7))` throws a Test262Error exception' ) ;
2011-09-07 08:35:18 +02:00
2021-08-11 20:13:41 +02:00
assert . throws ( Test262Error , ( ) => {
new Date ( 1 , 2 , 3 , 4 , new PoisonedValueOf ( 5 ) , new PoisonedValueOf ( 6 ) , new PoisonedValueOf ( 7 ) ) ;
} , '`new Date(1, 2, 3, 4, new PoisonedValueOf(5), new PoisonedValueOf(6), new PoisonedValueOf(7))` throws a Test262Error exception' ) ;
2011-09-07 08:35:18 +02:00
2021-08-11 20:13:41 +02:00
assert . throws ( Test262Error , ( ) => {
new Date ( 1 , 2 , 3 , 4 , 5 , new PoisonedValueOf ( 6 ) , new PoisonedValueOf ( 7 ) ) ;
} , '`new Date(1, 2, 3, 4, 5, new PoisonedValueOf(6), new PoisonedValueOf(7))` throws a Test262Error exception' ) ;
assert . throws ( Test262Error , ( ) => {
new Date ( 1 , 2 , 3 , 4 , 5 , 6 , new PoisonedValueOf ( 7 ) ) ;
} , '`new Date(1, 2, 3, 4, 5, 6, new PoisonedValueOf(7))` throws a Test262Error exception' ) ;