56 lines
1.4 KiB
Dart
56 lines
1.4 KiB
Dart
import "package:test/test.dart";
|
|
import "package:clawd_code/src/utils/semver_utils.dart";
|
|
|
|
|
|
void main() {
|
|
group("semverOrder", () {
|
|
test("equal versions return 0", () {
|
|
expect(semverOrder("1.2.3", "1.2.3"), equals(0));
|
|
});
|
|
|
|
test("greater major returns 1", () {
|
|
expect(semverOrder("2.0.0", "1.0.0"), equals(1));
|
|
});
|
|
|
|
test("lesser patch returns -1", () {
|
|
expect(semverOrder("1.2.2", "1.2.3"), equals(-1));
|
|
});
|
|
|
|
test("strips v prefix", () {
|
|
expect(semverOrder("v1.0.0", "1.0.0"), equals(0));
|
|
});
|
|
});
|
|
|
|
group("semverGt / semverLt", () {
|
|
test("gt works", () {
|
|
expect(semverGt("2.0.0", "1.9.9"), isTrue);
|
|
expect(semverGt("1.0.0", "2.0.0"), isFalse);
|
|
});
|
|
|
|
test("lt works", () {
|
|
expect(semverLt("1.0.0", "1.0.1"), isTrue);
|
|
});
|
|
});
|
|
|
|
group("semverSatisfies", () {
|
|
test("caret range", () {
|
|
expect(semverSatisfies("1.2.3", "^1.0.0"), isTrue);
|
|
expect(semverSatisfies("2.0.0", "^1.0.0"), isFalse);
|
|
});
|
|
|
|
test("tilde range", () {
|
|
expect(semverSatisfies("1.2.5", "~1.2.0"), isTrue);
|
|
expect(semverSatisfies("1.3.0", "~1.2.0"), isFalse);
|
|
});
|
|
|
|
test("gte range", () {
|
|
expect(semverSatisfies("3.0.0", ">=2.0.0"), isTrue);
|
|
expect(semverSatisfies("1.9.9", ">=2.0.0"), isFalse);
|
|
});
|
|
|
|
test("exact match", () {
|
|
expect(semverSatisfies("1.2.3", "1.2.3"), isTrue);
|
|
expect(semverSatisfies("1.2.4", "1.2.3"), isFalse);
|
|
});
|
|
});
|
|
}
|