1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 05:27:45 +00:00

LibJS: Add Date.prototype.setTime()

This commit is contained in:
Idan Horowitz 2021-06-06 16:27:21 +03:00 committed by Linus Groh
parent a93b1c7ea0
commit 17afe015a5
4 changed files with 73 additions and 0 deletions

View file

@ -0,0 +1,47 @@
test("no arguments", () => {
let date = new Date(2021, 0, 1);
date.setTime();
expect(date.getTime()).toBe(NaN);
});
test("NaN or undefined as only argument", () => {
let date = new Date(2021, 0, 1);
date.setTime(NaN);
expect(date.getTime()).toBe(NaN);
date = new Date(2021, 0, 1);
date.setTime(undefined);
expect(date.getTime()).toBe(NaN);
date = new Date(2021, 0, 1);
date.setTime("a");
expect(date.getTime()).toBe(NaN);
});
test("Timestamp as argument", () => {
let date = new Date(2021, 0, 1);
date.setTime(1622993746000);
expect(date.getDate()).toBe(6);
expect(date.getMonth()).toBe(5);
expect(date.getFullYear()).toBe(2021);
expect(date.getUTCHours()).toBe(15);
expect(date.getUTCMinutes()).toBe(35);
expect(date.getUTCSeconds()).toBe(46);
expect(date.getUTCMilliseconds()).toBe(0);
});
test("Make Invalid Date valid again", () => {
let date = new Date(2021, 0, 1);
date.setTime(NaN);
expect(date.getTime()).toBe(NaN);
date.setTime(1622993746000);
expect(date.getDate()).toBe(6);
expect(date.getMonth()).toBe(5);
expect(date.getFullYear()).toBe(2021);
expect(date.getUTCHours()).toBe(15);
expect(date.getUTCMinutes()).toBe(35);
expect(date.getUTCSeconds()).toBe(46);
expect(date.getUTCMilliseconds()).toBe(0);
});