You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

27 lines
825 B

open TestFramework;
describe("Semver", ({test, _}) => {
open Fnm;
test("parses a string", ({expect, _}) => {
let x = Semver.fromString("1.2.3");
expect.equal(x, Some(Semver.make(~major=1, ~minor=2, ~patch=3)));
});
test("returns none on invalid semver", ({expect, _}) => {
let x = Semver.fromString("x1.2.3");
expect.equal(x, None);
});
test("compare versions", ({expect}) => {
let semver1 = Semver.make(~major=1, ~minor=2, ~patch=0);
let semver2 = Semver.make(~major=1, ~minor=2, ~patch=3);
let semver3 = Semver.make(~major=1, ~minor=3, ~patch=3);
let semver4 = Semver.make(~major=4, ~minor=3, ~patch=3);
let sorted =
List.sort(Semver.compare, [semver1, semver2, semver4, semver3]);
expect.list(sorted).toEqual([semver1, semver2, semver3, semver4]);
});
});