mirror of
https://github.com/home-assistant/frontend.git
synced 2025-12-20 02:38:53 +00:00
Short-format numbers in energy-distribution-card (#24716)
This commit is contained in:
82
test/data/energy.test.ts
Normal file
82
test/data/energy.test.ts
Normal file
@@ -0,0 +1,82 @@
|
||||
import { assert, describe, it } from "vitest";
|
||||
|
||||
import {
|
||||
type FrontendLocaleData,
|
||||
NumberFormat,
|
||||
TimeFormat,
|
||||
FirstWeekday,
|
||||
DateFormat,
|
||||
TimeZone,
|
||||
} from "../../src/data/translation";
|
||||
import { formatConsumptionShort } from "../../src/data/energy";
|
||||
import type { HomeAssistant } from "../../src/types";
|
||||
|
||||
describe("Energy Short Format Test", () => {
|
||||
// Create default to not have to specify a not relevant TimeFormat over and over again.
|
||||
const defaultLocale: FrontendLocaleData = {
|
||||
language: "en",
|
||||
number_format: NumberFormat.language,
|
||||
time_format: TimeFormat.language,
|
||||
date_format: DateFormat.language,
|
||||
time_zone: TimeZone.local,
|
||||
first_weekday: FirstWeekday.language,
|
||||
};
|
||||
|
||||
const hass = { locale: defaultLocale } as HomeAssistant;
|
||||
it("Formats", () => {
|
||||
assert.strictEqual(formatConsumptionShort(hass, 0, "kWh"), "0 kWh");
|
||||
assert.strictEqual(formatConsumptionShort(hass, 0, "GWh"), "0 GWh");
|
||||
assert.strictEqual(formatConsumptionShort(hass, 0, "gal"), "0 gal");
|
||||
|
||||
assert.strictEqual(
|
||||
formatConsumptionShort(hass, 0.12345, "kWh"),
|
||||
"0.12 kWh"
|
||||
);
|
||||
assert.strictEqual(
|
||||
formatConsumptionShort(hass, 10.12345, "kWh"),
|
||||
"10.1 kWh"
|
||||
);
|
||||
assert.strictEqual(
|
||||
formatConsumptionShort(hass, 500.12345, "kWh"),
|
||||
"500 kWh"
|
||||
);
|
||||
assert.strictEqual(
|
||||
formatConsumptionShort(hass, 1512.34567, "kWh"),
|
||||
"1.51 MWh"
|
||||
);
|
||||
assert.strictEqual(
|
||||
formatConsumptionShort(hass, 15123.4567, "kWh"),
|
||||
"15.1 MWh"
|
||||
);
|
||||
assert.strictEqual(
|
||||
formatConsumptionShort(hass, 151234.5678, "kWh"),
|
||||
"151 MWh"
|
||||
);
|
||||
assert.strictEqual(
|
||||
formatConsumptionShort(hass, 1512345.6789, "kWh"),
|
||||
"1.51 GWh"
|
||||
);
|
||||
assert.strictEqual(
|
||||
formatConsumptionShort(hass, 15123456789.9, "kWh"),
|
||||
"15.1 TWh"
|
||||
);
|
||||
|
||||
assert.strictEqual(
|
||||
formatConsumptionShort(hass, 15123456789000.9, "kWh"),
|
||||
"15,123 TWh"
|
||||
);
|
||||
|
||||
assert.strictEqual(formatConsumptionShort(hass, 1000.1, "GWh"), "1 TWh");
|
||||
|
||||
assert.strictEqual(
|
||||
formatConsumptionShort(hass, 10000.12345, "gal"),
|
||||
"10,000 gal"
|
||||
);
|
||||
|
||||
// Don't really modify negative numbers, but make sure it's something sane.
|
||||
assert.strictEqual(
|
||||
formatConsumptionShort(hass, -1234.56, "kWh"),
|
||||
"-1,234.56 kWh"
|
||||
);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user