mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-21 08:16:36 +00:00
Fix atLeastVersion (#8437)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
This commit is contained in:
parent
fd9441dde2
commit
a648e9be49
@ -5,11 +5,15 @@ export const atLeastVersion = (
|
|||||||
patch?: number
|
patch?: number
|
||||||
): boolean => {
|
): boolean => {
|
||||||
const [haMajor, haMinor, haPatch] = version.split(".", 3);
|
const [haMajor, haMinor, haPatch] = version.split(".", 3);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
Number(haMajor) > major ||
|
Number(haMajor) > major ||
|
||||||
(Number(haMajor) === major && Number(haMinor) >= minor) ||
|
(Number(haMajor) === major && (patch === undefined
|
||||||
|
? Number(haMinor) >= minor
|
||||||
|
: Number(haMinor) > minor)) ||
|
||||||
(patch !== undefined &&
|
(patch !== undefined &&
|
||||||
Number(haMajor) === major && Number(haMinor) === minor &&
|
Number(haMajor) === major &&
|
||||||
|
Number(haMinor) === minor &&
|
||||||
Number(haPatch) >= patch)
|
Number(haPatch) >= patch)
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
41
test-mocha/common/config/version.ts
Normal file
41
test-mocha/common/config/version.ts
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
import { assert } from "chai";
|
||||||
|
import { atLeastVersion } from "../../../src/common/config/version";
|
||||||
|
|
||||||
|
const testTruthyData = [
|
||||||
|
{ version: "2021.1.1", major: 2021, minor: 1, patch: 1 },
|
||||||
|
{ version: "2021.1.1", major: 2021, minor: 1 },
|
||||||
|
{ version: "2021.1.1", major: 2020, minor: 12, patch: 1 },
|
||||||
|
{ version: "2021.1.1", major: 2020, minor: 12 },
|
||||||
|
{ version: "2021.1.1", major: 2021, minor: 2, patch: 0 },
|
||||||
|
{ version: "2021.1.1", major: 2021, minor: 2 },
|
||||||
|
|
||||||
|
{ version: "2021.2.4", major: 0, minor: 113, patch: 0 },
|
||||||
|
{ version: "2021.2.4", major: 0, minor: 113 },
|
||||||
|
|
||||||
|
{ version: "0.114.0", major: 0, minor: 113, patch: 0 },
|
||||||
|
{ version: "0.114.0", major: 0, minor: 113 },
|
||||||
|
|
||||||
|
{ version: "2021.2.0dev.2323", major: 2021, minor: 2, patch: 0 },
|
||||||
|
{ version: "2021.2.0dev.2323", major: 2021, minor: 2 },
|
||||||
|
];
|
||||||
|
|
||||||
|
const testFalsyData = [
|
||||||
|
{ version: "0.114.0", major: 0, minor: 113 },
|
||||||
|
{ version: "2021.2.0dev.2323", major: 2021, minor: 2, patch: 0 },
|
||||||
|
];
|
||||||
|
|
||||||
|
describe("atLeastVersion - Truthy", () => {
|
||||||
|
testTruthyData.forEach((test) =>
|
||||||
|
it(`'${test.version}' >= ${test.major},${test.minor},${test.patch}`, () => {
|
||||||
|
assert.isTrue(atLeastVersion("2021.1.1", 2021, 1));
|
||||||
|
})
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("atLeastVersion - Falsy", () => {
|
||||||
|
testFalsyData.forEach((test) =>
|
||||||
|
it(`'${test.version}' >= ${test.major},${test.minor},${test.patch}`, () => {
|
||||||
|
assert.isTrue(atLeastVersion("2021.1.1", 2021, 1));
|
||||||
|
})
|
||||||
|
);
|
||||||
|
});
|
Loading…
x
Reference in New Issue
Block a user