diff options
Diffstat (limited to 'addon-sdk/source/test/test-mozilla-toolkit-versioning.js')
-rw-r--r-- | addon-sdk/source/test/test-mozilla-toolkit-versioning.js | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/addon-sdk/source/test/test-mozilla-toolkit-versioning.js b/addon-sdk/source/test/test-mozilla-toolkit-versioning.js new file mode 100644 index 000000000..148919595 --- /dev/null +++ b/addon-sdk/source/test/test-mozilla-toolkit-versioning.js @@ -0,0 +1,59 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +"use strict"; + +const {parse, increment} = require("mozilla-toolkit-versioning/index") + +const TestParse = assert => (version, min, max) => { + const actual = parse(version); + assert.equal(actual.min, min); + assert.equal(actual.max, max); +} + +const TestInc = assert => (version, expected) => { + assert.equal(increment(version), expected, + `increment: ${version} should be equal ${expected}`) +} + + + +exports['test parse(version) single value'] = assert => { + const testParse = TestParse(assert) + testParse('1.2.3', '1.2.3', '1.2.3'); + testParse('>=1.2.3', '1.2.3', undefined); + testParse('<=1.2.3', undefined, '1.2.3'); + testParse('>1.2.3', '1.2.3.1', undefined); + testParse('<1.2.3', undefined, '1.2.3.-1'); + testParse('*', undefined, undefined); +}; + +exports['test parse(version) range'] = assert => { + const testParse = TestParse(assert); + testParse('>=1.2.3 <=2.3.4', '1.2.3', '2.3.4'); + testParse('>1.2.3 <=2.3.4', '1.2.3.1', '2.3.4'); + testParse('>=1.2.3 <2.3.4', '1.2.3', '2.3.4.-1'); + testParse('>1.2.3 <2.3.4', '1.2.3.1', '2.3.4.-1'); + + testParse('<=2.3.4 >=1.2.3', '1.2.3', '2.3.4'); + testParse('<=2.3.4 >1.2.3', '1.2.3.1', '2.3.4'); + testParse('<2.3.4 >=1.2.3', '1.2.3', '2.3.4.-1'); + testParse('<2.3.4 >1.2.3', '1.2.3.1', '2.3.4.-1'); + + testParse('1.2.3pre1 - 2.3.4', '1.2.3pre1', '2.3.4'); +}; + +exports['test increment(version)'] = assert => { + const testInc = TestInc(assert); + + testInc('1.2.3', '1.2.3.1'); + testInc('1.2.3a', '1.2.3a1'); + testInc('1.2.3pre', '1.2.3pre1'); + testInc('1.2.3pre1', '1.2.3pre2'); + testInc('1.2', '1.2.1'); + testInc('1.2pre1a', '1.2pre1b'); + testInc('1.2pre1pre', '1.2pre1prf'); +}; + + +require("sdk/test").run(exports); |