10 Commits

Author SHA1 Message Date
Enrique García Cota
a4b708ba24 Merge pull request #13 from OmgImAlexis/patch-1
chore: fix typo "tother" -> "this"
2025-01-30 17:09:40 +01:00
Enrique García Cota
e75daccd6d Merge pull request #14 from tomodachi94/master
chore: Fix URL to Busted
2025-01-30 17:09:14 +01:00
Tomo
37d184fe00 chore: Fix URL to Busted 2022-11-11 10:48:33 -08:00
Alexis Tyler
0c868789e8 chore: fix typo "tother" -> "this" 2022-02-23 13:02:50 +10:30
Enrique García Cota
af495adc85 Merge pull request #9 from JonasJurczok/patch-1 2022-01-20 23:34:41 +01:00
Jonas
8d88140533 remove misleading statement
Hi,
I'm thinking about using the library for a project and found this sentence in the readme.
It seems that the lib is not used at all (no reference to class or middleclass in the code).

Sorry if I'm wrong :)
2019-03-19 08:53:24 +01:00
kikito
42a67e2d22 update changelog 2016-08-04 12:30:28 +02:00
Enrique García
2023667d33 Merge pull request #8 from Guard13007/patch-2
Fix #6 Pre-1.0 upgrades should not be safe
2016-08-04 12:27:48 +02:00
Paul Liverman III
c24516b129 Fix #6 Pre-1.0 upgrades should not be safe 2016-08-02 15:39:05 -07:00
kikito
35c69808f5 fixes changelong in readme 2015-10-24 10:28:48 +02:00
4 changed files with 47 additions and 6 deletions

View File

@@ -66,8 +66,6 @@ local v = require 'semver'
Using `v` allows for the nice string syntax: `v'1.2.3-alpha'`.
The `package.path` variable must be configured so that the folder in which middleclass.lua is copied is available, of course.
Please make sure that you read the license, too (for your convenience it's now included at the beginning of the semver.lua file).
# Notes about version comparison
@@ -86,7 +84,7 @@ Builds are ignored when calculating precedence: version 1.2.3 and 1.2.3+build5 a
# Specs
This project uses "busted":http://olivinelabs.com/busted/ for its specs. If you want to run the specs, you will have to install telescope first. Then just execute the following from the root inspect folder:
This project uses [`busted`](https://lunarmodules.github.io/busted/) for its specs. If you want to run the specs, you will have to install telescope first. Then just execute the following from the root inspect folder:
```
busted
@@ -98,8 +96,12 @@ busted
* Removed global variable which was declared by mistake
* Changed spec tool from telescope to busted
* Changed README format from textile to markdown
## v.1.2.0:
* Fix error: builds were being used for comparison, but according with semver 2.0.0 they should be ignored (so v'1.0.0-build1' is equal to v'1.0.0-build2')
* Fix error: builds were being used for comparison, but according with semver 2.0.0 they should be ignored (so v'1.0.0+build1' is equal to v'1.0.0+build2')
* Fix several errors and inconsistencies in the way the comparisons where implemented.
* Added a lot more tests to cover more edge cases when comparing versions
## v.1.2.1
* Fix error on pessimistic update operator when applied to a 0.x.x version

View File

@@ -0,0 +1,25 @@
package = "semver"
version = "1.2.1-1"
source = {
url = "git://github.com/kikito/semver.lua.git",
}
description = {
summary = "An implementation of semantic versioning (semver.org 2.0.0) in Lua",
detailed = [[
See details in http://semver.org
]],
license = "MIT",
homepage = "https://github.com/kikito/semver.lua"
}
dependencies = {
"lua >= 5.1"
}
build = {
type = "none",
install = {
lua = {
"semver.lua"
},
}
}

View File

@@ -1,5 +1,5 @@
local semver = {
_VERSION = '1.2.0',
_VERSION = '1.2.1',
_DESCRIPTION = 'semver for Lua',
_URL = 'https://github.com/kikito/semver.lua',
_LICENSE = [[
@@ -15,7 +15,7 @@ local semver = {
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and tother permission notice shall be included
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
@@ -173,6 +173,9 @@ end
-- if a and b are versions, a ^ b means "b is backwards-compatible with a"
-- in other words, "it's safe to upgrade from a to b"
function mt:__pow(other)
if self.major == 0 then
return self == other
end
return self.major == other.major and
self.minor <= other.minor
end

View File

@@ -254,6 +254,8 @@ describe('semver', function()
describe("^", function()
it("true for self", function()
assert.is_true(v(1,2,3) ^ v(1,2,3))
assert.is_true(v(0,1,0) ^ v(0,1,0))
assert.is_true(v("0.1.1+build0") ^ v(0,1,1))
end)
it("different major versions mean it's always unsafe", function()
assert.is_false(v(2,0,0) ^ v(3,0,0))
@@ -273,6 +275,15 @@ describe('semver', function()
it("is unsafe to downgrade to an earlier minor version", function()
assert.is_false(v(1,5,0) ^ v(1,2,0))
end)
it("is unsafe to upgrade any pre-1.0 versions", function()
assert.is_false(v("0.0.1-alpha") ^ v(0,0,1))
assert.is_false(v("0.0.1") ^ v(0,0,2))
assert.is_false(v("0.0.1+build0") ^ v(0,0,2))
assert.is_false(v(0,0,1) ^ v(0,1,0))
assert.is_false(v(0,0,1) ^ v(1,0,0))
assert.is_false(v(0,0,1) ^ v("1.0.0-alpha"))
end)
end)
describe("_VERSION", function()