Skip to content

Instantly share code, notes, and snippets.

@ddbeck
Last active October 28, 2020 12:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ddbeck/324b3989ba498da4e6d02c5353e89ad4 to your computer and use it in GitHub Desktop.
Save ddbeck/324b3989ba498da4e6d02c5353e89ad4 to your computer and use it in GitHub Desktop.
test cases for isVersionAddedGreater(a, b)
const assert = require('assert');
const compareVersions = require('compare-versions');
function isVersionAddedGreater(a, b) {
var a_version_added = a;
var b_version_added = b;
if (
typeof a_version_added === 'string' &&
typeof b_version_added === 'string'
) {
if (b_version_added.startsWith('≤')) {
return false;
}
return compareVersions.compare(
a_version_added.replace('≤', ''),
b_version_added,
'<',
);
}
return false;
}
describe('isVersionAddedGreater', function() {
it('fixed versions compare as numbers', function() {
assert.strictEqual(isVersionAddedGreater('2', '9'), true);
assert.strictEqual(isVersionAddedGreater('9', '2'), false);
assert.strictEqual(isVersionAddedGreater('0', '2'), true);
assert.strictEqual(isVersionAddedGreater('2', '0'), false);
assert.strictEqual(isVersionAddedGreater('0', '0'), false);
});
it('fixed versions compare to ranged versions', () => {
assert.strictEqual(isVersionAddedGreater('2', '≤9'), false); // meaning, [2 is less than any value 0 to 9, inclusive] => false
assert.strictEqual(isVersionAddedGreater('≤2', '9'), true); // meaning, [any value 0 to 2, inclusive, is less than 9] => true
});
it('ranged versions compare to ranged versions', () => {
assert.strictEqual(isVersionAddedGreater('≤2', '≤9'), false); // meaning, [every value 0-2 is less than every value 0-9] => false (because 0 < 0 is false and is always a consequence of comparing two ranged versions)
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment