import { assertEquals } from "jsr:@std/assert"
// aliasing our functions for brevity
const
fn = normalize,
eq = assertEquals
eq(fn("1.x"), "1.x.x")
eq(fn("*"), "x.x.x")
eq(fn(""), "x.x.x")
eq(fn("2.3"), "2.3.x")
eq(fn("X.2.3"), "x.2.3")
eq(fn("1.*.3-rc1+build.xyz"), "1.x.3-rc1+build.xyz")
eq(fn("1-rc1+build.xyz"), "1.x.x-rc1+build.xyz")
eq(fn("2.*.3-rc1"), "2.x.3-rc1")
eq(fn("3+build.xyz"), "3.x.x+build.xyz")
this function converts versions with various forms of wildcards ("x", "X", "*"), or missing segments, into a normalized
"1.x.x"
representation.