38 lines
1.2 KiB
JavaScript
38 lines
1.2 KiB
JavaScript
let tzOffset = require("../src/tz-offset");
|
|
let {assert} = require("chai");
|
|
|
|
process.env.TZ= "America/Sao_Paulo";
|
|
|
|
describe("tz-offset", () => {
|
|
it("should return 180 to America/Sao_Paulo", () => {
|
|
assert.equal(tzOffset.offsetOf("America/Sao_Paulo"), 180);
|
|
});
|
|
|
|
it("should return -60 to Africa/Algiers", () => {
|
|
assert.equal(tzOffset.offsetOf("Africa/Algiers"), -60);
|
|
});
|
|
|
|
it("should return 0 to Europe/London", () => {
|
|
assert.equal(tzOffset.offsetOf("Europe/London"), 0);
|
|
});
|
|
|
|
it("should fail with invalid timezone", () => {
|
|
assert.throws(() => {
|
|
tzOffset.offsetOf("Invalid/Timezone");
|
|
}, Error, "Invalid timezone Invalid/Timezone");
|
|
});
|
|
|
|
it("should remove current offset", () => {
|
|
let date = new Date();
|
|
utcTime = tzOffset.removeOffset(date);
|
|
assert.equal(utcTime, date.getTime() + date.getTimezoneOffset() * 60000);
|
|
});
|
|
|
|
it("should return the time at zone", () => {
|
|
let date = new Date(2018, 8, 20, 0, 0, 0, 0);
|
|
let expectedDate = new Date(2018, 8, 20, 3, 0, 0, 0);
|
|
result = tzOffset.timeAt(date, "Etc/UTC");
|
|
console.log(result);
|
|
assert.equal(result.toString(), expectedDate.toString());
|
|
});
|
|
}); |