Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include semver.ahk
- data := ["01.0.0-alpha", "1.0.0-alpha.1", "1.0.0-beta.2", "1.0.0-beta.11", "1.0.0-rc.1", "1.0.0-rc.1+build.1", "1.0.0", "1.0.0+0.3.7", "1.3.7+build", "1.3.7+build.2.b8f12d7", "1.3.7+build.11.e0f985a"]
- MsgBox separating...
- for each, version in data
- {
- if (!semver_validate(version))
- MsgBox Error: %version% is not valid (%A_Index%)
- else if (!semver_parts(version, maj, min, pat, pre, bld))
- MsgBox Error: %version% cannot be split (%A_Index%)
- else
- MsgBox Version: %version%`n`nMajor: %maj%`nMinor: %min%`nPatch: %pat%`nPrerelease: %pre%`nBuild: %bld%
- }
- MsgBox comparing...
- failed := [], failed_count := 0
- for index, version in data
- {
- if (A_Index == 1)
- continue
- if ((result := semver_compare(data[index - 1], version)) != -1)
- failed[A_Index - 1] := result, failed_count++
- }
- msg := failed_count " of " (data.maxIndex() - 1) " tests failed (" Round(failed_count / (data.maxIndex() - 1) * 100, 2) "%)"
- if (failed_count > 0)
- {
- msg .= "`n`nTests that failed:`n"
- for test, result in failed
- msg .= "`tTest " test " (items """ data[test] """ and """ data[test + 1] """) resulted in: " result "`n"
- }
- MsgBox %msg%
Add Comment
Please, Sign In to add comment