mirror of
https://github.com/home-assistant/frontend.git
synced 2026-03-03 23:40:35 +00:00
* Add rspack * Remove TransformAsyncModulesPlugin from rspack * Migrate all webpack usage to rspack * Migrate tests to vitest * Fix test suites * Remove chai dependency * Fix compute_state_display tests * Fix resolveTimeZone * Reduces test pipeline * Revert test ci * optimize chunk filtering * Migrate landing-page to rspack * Update rspack dependencies * Add rsdoctor * Fix prod build bundle size * Use rsdoctor for demo stats * Remove unused webpack configs * Update build-scripts/rspack.cjs Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com> * Fix eslint * Update rspack * Remove unused code --------- Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
127 lines
3.1 KiB
TypeScript
127 lines
3.1 KiB
TypeScript
import { assert, describe, it } from "vitest";
|
|
|
|
import {
|
|
formatTime,
|
|
formatTimeWithSeconds,
|
|
formatTimeWeekday,
|
|
} from "../../../src/common/datetime/format_time";
|
|
import {
|
|
NumberFormat,
|
|
TimeFormat,
|
|
FirstWeekday,
|
|
DateFormat,
|
|
TimeZone,
|
|
} from "../../../src/data/translation";
|
|
import { demoConfig } from "../../../src/fake_data/demo_config";
|
|
|
|
describe("formatTime", () => {
|
|
const dateObj = new Date(2017, 10, 18, 23, 12, 13, 1400);
|
|
|
|
it("Formats English times", () => {
|
|
assert.strictEqual(
|
|
formatTime(
|
|
dateObj,
|
|
{
|
|
language: "en",
|
|
number_format: NumberFormat.language,
|
|
time_format: TimeFormat.am_pm,
|
|
date_format: DateFormat.language,
|
|
time_zone: TimeZone.local,
|
|
first_weekday: FirstWeekday.language,
|
|
},
|
|
demoConfig
|
|
),
|
|
"11:12 PM"
|
|
);
|
|
assert.strictEqual(
|
|
formatTime(
|
|
dateObj,
|
|
{
|
|
language: "en",
|
|
number_format: NumberFormat.language,
|
|
time_format: TimeFormat.twenty_four,
|
|
date_format: DateFormat.language,
|
|
time_zone: TimeZone.local,
|
|
first_weekday: FirstWeekday.language,
|
|
},
|
|
demoConfig
|
|
),
|
|
"23:12"
|
|
);
|
|
});
|
|
});
|
|
|
|
describe("formatTimeWithSeconds", () => {
|
|
const dateObj = new Date(2017, 10, 18, 23, 12, 13, 400);
|
|
|
|
it("Formats English times with seconds", () => {
|
|
assert.strictEqual(
|
|
formatTimeWithSeconds(
|
|
dateObj,
|
|
{
|
|
language: "en",
|
|
number_format: NumberFormat.language,
|
|
time_format: TimeFormat.am_pm,
|
|
date_format: DateFormat.language,
|
|
time_zone: TimeZone.local,
|
|
first_weekday: FirstWeekday.language,
|
|
},
|
|
demoConfig
|
|
),
|
|
"11:12:13 PM"
|
|
);
|
|
assert.strictEqual(
|
|
formatTimeWithSeconds(
|
|
dateObj,
|
|
{
|
|
language: "en",
|
|
number_format: NumberFormat.language,
|
|
time_format: TimeFormat.twenty_four,
|
|
date_format: DateFormat.language,
|
|
time_zone: TimeZone.local,
|
|
first_weekday: FirstWeekday.language,
|
|
},
|
|
demoConfig
|
|
),
|
|
"23:12:13"
|
|
);
|
|
});
|
|
});
|
|
|
|
describe("formatTimeWeekday", () => {
|
|
const dateObj = new Date(2017, 10, 18, 23, 12, 13, 1400);
|
|
|
|
it("Formats English times", () => {
|
|
assert.strictEqual(
|
|
formatTimeWeekday(
|
|
dateObj,
|
|
{
|
|
language: "en",
|
|
number_format: NumberFormat.language,
|
|
time_format: TimeFormat.am_pm,
|
|
date_format: DateFormat.language,
|
|
time_zone: TimeZone.local,
|
|
first_weekday: FirstWeekday.language,
|
|
},
|
|
demoConfig
|
|
),
|
|
"Saturday 11:12 PM"
|
|
);
|
|
assert.strictEqual(
|
|
formatTimeWeekday(
|
|
dateObj,
|
|
{
|
|
language: "en",
|
|
number_format: NumberFormat.language,
|
|
time_format: TimeFormat.twenty_four,
|
|
date_format: DateFormat.language,
|
|
time_zone: TimeZone.local,
|
|
first_weekday: FirstWeekday.language,
|
|
},
|
|
demoConfig
|
|
),
|
|
"Saturday 23:12"
|
|
);
|
|
});
|
|
});
|