failing tests detected; some improvements in the code done

This commit is contained in:
kikito
2015-10-20 00:59:48 +02:00
parent b1e69c953d
commit fd8229383a
2 changed files with 83 additions and 29 deletions

View File

@@ -149,26 +149,37 @@ describe('semver', function()
test("false if exact same prerelease", function()
assert.is_false(v'1.0.0-beta' < v'1.0.0-beta')
end)
test("a prerelease version is less than the official version", function()
test("#focus a prerelease version is less than the official version", function()
assert.is_true(v'1.0.0-rc1' < v'1.0.0')
assert.is_true(v'1.2.3' > v'1.2.3-alpha')
assert.is_false(v'1.0.0-rc1' > v'1.0.0')
assert.is_false(v'1.2.3' < v'1.2.3-alpha')
end)
test("identifiers with only digits are compared numerically", function()
assert.is_true(v'1.0.0-1' < v'1.0.0-2')
assert.is_true(v'1.0.0-2' < v'1.0.0-10')
assert.is_false(v'1.0.0-1' > v'1.0.0-2')
end)
test("idendifiers with letters or dashes are compared lexiconumerically", function()
assert.is_true(v'1.0.0-alpha' < v'1.0.0-beta')
assert.is_true(v'1.0.0-alpha-10' < v'1.0.0-alpha-2')
assert.is_false(v'1.0.0-alpha' > v'1.0.0-beta')
assert.is_false(v'1.0.0-alpha-10' > v'1.0.0-alpha-2')
end)
test("numerical ids always have less priority than lexiconumericals", function()
assert.is_true(v'1.0.0-1' < v'1.0.0-alpha')
assert.is_true(v'1.0.0-2' < v'1.0.0-1asdf')
assert.is_false(v'1.0.0-1' > v'1.0.0-alpha')
assert.is_false(v'1.0.0-2' > v'1.0.0-1asdf')
end)
test("identifiers can be separated by colons; they must be compared individually", function()
assert.is_true(v'1.0.0-alpha' < v'1.0.0-alpha.1')
assert.is_true(v'1.0.0-alpha.1' < v'1.0.0-beta.2')
assert.is_true(v'1.0.0-beta.2' < v'1.0.0-beta.11')
assert.is_true(v'1.0.0-beta.11' < v'1.0.0-rc.1')
--assert.is_true(v'1.0.0-alpha' < v'1.0.0-alpha.1')
--assert.is_true(v'1.0.0-alpha.1' < v'1.0.0-beta.2')
--assert.is_true(v'1.0.0-beta.2' < v'1.0.0-beta.11')
--assert.is_true(v'1.0.0-beta.11' < v'1.0.0-rc.1')
assert.is_false(v'1.0.0-alpha' > v'1.0.0-alpha.1')
--assert.is_false(v'1.0.0-alpha.1' > v'1.0.0-beta.2')
--assert.is_false(v'1.0.0-beta.2' > v'1.0.0-beta.11')
--assert.is_false(v'1.0.0-beta.11' > v'1.0.0-rc.1')
end)
end)
describe("builds", function()
@@ -177,28 +188,40 @@ describe('semver', function()
end)
test("a regular (not-build) version is always less than a build version", function()
assert.is_true(v'1.0.0' < v'1.0.0+12')
assert.is_false(v'1.0.0' > v'1.0.0+12')
end)
test("identifiers with only digits are compared numerically", function()
assert.is_true(v'1.0.0+1' < v'1.0.0+2')
assert.is_true(v'1.0.0+2' < v'1.0.0+10')
assert.is_false(v'1.0.0+1' > v'1.0.0+2')
assert.is_false(v'1.0.0+2' > v'1.0.0+10')
end)
test("idendifiers with letters or dashes are compared lexiconumerically", function()
assert.is_true(v'1.0.0+build1' < v'1.0.0+build2')
assert.is_true(v'1.0.0+build10' < v'1.0.0+build2')
assert.is_false(v'1.0.0+build1' > v'1.0.0+build2')
assert.is_false(v'1.0.0+build10' > v'1.0.0+build2')
end)
test("numerical ids always have less priority than lexiconumericals", function()
assert.is_true(v'1.0.0+1' < v'1.0.0+build1')
assert.is_true(v'1.0.0+2' < v'1.0.0+1build')
assert.is_false(v'1.0.0+1' > v'1.0.0+build1')
assert.is_false(v'1.0.0+2' > v'1.0.0+1build')
end)
test("identifiers can be separated by colons; they must be compared individually", function()
assert.is_true(v'1.0.0+0.3.7' < v'1.3.7+build')
assert.is_true(v'1.3.7+build' < v'1.3.7+build.2.b8f12d7')
assert.is_true(v'1.3.7+build.2.b8f12d7' < v'1.3.7+build.11.e0f985a')
assert.is_false(v'1.0.0+0.3.7' > v'1.3.7+build')
assert.is_false(v'1.3.7+build' > v'1.3.7+build.2.b8f12d7')
assert.is_false(v'1.3.7+build.2.b8f12d7' > v'1.3.7+build.11.e0f985a')
end)
end)
test("prereleases + builds", function()
assert.is_true(v'1.0.0-rc.1' < v'1.0.0-rc.1+build.1')
assert.is_true(v'1.0.0-rc.1+build.1' < v'1.0.0')
test("#focus prereleases + builds", function()
--assert.is_true(v'1.0.0-rc.1' < v'1.0.0-rc.1+build.1')
--assert.is_true(v'1.0.0-rc.1+build.1' < v'1.0.0')
--assert.is_false(v'1.0.0-rc.1' > v'1.0.0-rc.1+build.1')
assert.is_false(v'1.0.0-rc.1+build.1' > v'1.0.0')
end)
end)