blob: d2f9f8f3673405932964f1850f7a27e3525cdcbe [file] [log] [blame]
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-date.prototype.setmilliseconds
description: Behavior when new value exceeds [[DateValue]] limits
info: |
1. Let t be LocalTime(? thisTimeValue(this value)).
2. Let dt be ? ToNumber(date).
3. Let newDate be MakeDate(MakeDay(YearFromTime(t), MonthFromTime(t), dt),
TimeWithinDay(t)).
4. Let u be TimeClip(UTC(newDate)).
5. Set the [[DateValue]] internal slot of this Date object to u.
6. Return u.
TimeClip (time)
1. If time is not finite, return NaN.
2. If abs(time) > 8.64 × 1015, return NaN.
---*/
var date = new Date(8.64e15);
var returnValue;
assert.notSameValue(date.getTime(), NaN);
returnValue = date.setMilliseconds(1);
assert.sameValue(returnValue, NaN);