mirror of
https://github.com/home-assistant/frontend.git
synced 2025-11-14 05:20:31 +00:00
* Setup base animation styles * Add fade out to launch screen * Cleanup * Set opacity before removing element * Remove * Final * Use computed duration for timeout * Add skip animation prop * Swap * Use common function and fix issue
57 lines
1.6 KiB
TypeScript
57 lines
1.6 KiB
TypeScript
import { assert, describe, it } from "vitest";
|
|
|
|
import { parseAnimationDuration } from "../../../src/common/util/parse-animation-duration";
|
|
|
|
describe("parseAnimationDuration", () => {
|
|
it("Parses milliseconds with unit", () => {
|
|
assert.equal(parseAnimationDuration("300ms"), 300);
|
|
});
|
|
|
|
it("Parses seconds with unit", () => {
|
|
assert.equal(parseAnimationDuration("3s"), 3000);
|
|
});
|
|
|
|
it("Parses decimal seconds", () => {
|
|
assert.equal(parseAnimationDuration("0.5s"), 500);
|
|
});
|
|
|
|
it("Parses decimal milliseconds", () => {
|
|
assert.equal(parseAnimationDuration("250.5ms"), 250.5);
|
|
});
|
|
|
|
it("Handles whitespace", () => {
|
|
assert.equal(parseAnimationDuration(" 300ms "), 300);
|
|
assert.equal(parseAnimationDuration(" 3s "), 3000);
|
|
});
|
|
|
|
it("Handles number without unit as milliseconds", () => {
|
|
assert.equal(parseAnimationDuration("300"), 300);
|
|
});
|
|
|
|
it("Returns 0 for invalid input", () => {
|
|
assert.equal(parseAnimationDuration("invalid"), 0);
|
|
});
|
|
|
|
it("Returns 0 for empty string", () => {
|
|
assert.equal(parseAnimationDuration(""), 0);
|
|
});
|
|
|
|
it("Returns 0 for negative values", () => {
|
|
assert.equal(parseAnimationDuration("-300ms"), 0);
|
|
assert.equal(parseAnimationDuration("-3s"), 0);
|
|
});
|
|
|
|
it("Returns 0 for NaN", () => {
|
|
assert.equal(parseAnimationDuration("NaN"), 0);
|
|
});
|
|
|
|
it("Returns 0 for Infinity", () => {
|
|
assert.equal(parseAnimationDuration("Infinity"), 0);
|
|
});
|
|
|
|
it("Handles zero values", () => {
|
|
assert.equal(parseAnimationDuration("0ms"), 0);
|
|
assert.equal(parseAnimationDuration("0s"), 0);
|
|
});
|
|
});
|