diff --git a/src/nimblepkg/version.nim b/src/nimblepkg/version.nim index 6b1e7df..d86e22c 100644 --- a/src/nimblepkg/version.nim +++ b/src/nimblepkg/version.nim @@ -182,7 +182,7 @@ proc parseVersionRange*(s: string): VersionRange = raise newException(ParseVersionError, "Having more than one `&` in a version range is pointless") - break + return of '0'..'9', '.': version.add(s[i]) @@ -291,16 +291,16 @@ when isMainModule: doAssert(newVersion("1.0") < newVersion("1.4")) doAssert(newVersion("1.0.1") > newVersion("1.0")) doAssert(newVersion("1.0.6") <= newVersion("1.0.6")) - #doAssert(not withinRange(newVersion("0.1.0"), parseVersionRange("> 0.1"))) + doAssert(not withinRange(newVersion("0.1.0"), parseVersionRange("> 0.1"))) doAssert(not (newVersion("0.1.0") < newVersion("0.1"))) doAssert(not (newVersion("0.1.0") > newVersion("0.1"))) doAssert(newVersion("0.1.0") < newVersion("0.1.0.0.1")) doAssert(newVersion("0.1.0") <= newVersion("0.1")) var inter1 = parseVersionRange(">= 1.0 & <= 1.5") + doAssert inter1.kind == verIntersect var inter2 = parseVersionRange("1.0") doAssert(inter2.kind == verEq) - #echo(parseVersionRange(">= 0.8 0.9")) doAssert(not withinRange(newVersion("1.5.1"), inter1)) doAssert(withinRange(newVersion("1.0.2.3.4.5.6.7.8.9.10.11.12"), inter1)) @@ -351,4 +351,7 @@ when isMainModule: doAssert toVersionRange(newVersion("#head")).kind == verSpecial doAssert toVersionRange(newVersion("0.2.0")).kind == verEq + # Something raised on IRC + doAssert newVersion("1") == newVersion("1.0") + echo("Everything works!")