describe("Version module", function() local Version setup(function() require("commonrequire") Version = require("version") end) it("should get current revision", function() local rev = Version:getCurrentRevision() local year, month, revision = rev:match("v(%d%d%d%d)%.(%d%d)-?(%d*)") local commit = rev:match("-%d*-g(.*)") assert.is_truthy(year) assert.is_truthy(month) assert.is_truthy(revision) assert.is_truthy(commit) assert.is_true(4 <= year:len()) assert.is_true(2 == month:len()) assert.is_true(1 <= revision:len()) assert.is_true(5 <= commit:len()) end) it("should get normalized current version", function() assert.is_true(7 <= tostring(Version:getNormalizedCurrentVersion()):len()) end) it("should get normalized version", function() local rev = "v2015.11-982-g704d4238" local version, commit = Version:getNormalizedVersion(rev) local expected_version = 201511982 local expected_commit = "704d4238" assert.are.same(expected_version, version) assert.are.same(expected_commit, commit) end) it("should fail gracefully", function() local version, commit = Version:getNormalizedVersion() local expected_version = nil local expected_commit = nil assert.are.same(expected_version, version) assert.are.same(expected_commit, commit) end) end)