gnome-shell/tests/unit/versionCompare.js
Evan Welsh 9a2c3da868 environment: Port environment.js to be an ES module
Removes the init() function in favor of executing all environment
changes when the file is imported.

Additionally ports all unit tests using imports.gi.environment.init() to
use the updated module.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2822>
2023-07-15 02:35:56 +00:00

74 lines
1.2 KiB
JavaScript

// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
// Test cases for version comparison
const JsUnit = imports.jsUnit;
import '../../js/ui/environment.js';
const Util = imports.misc.util;
const tests = [
{
v1: '40',
v2: '40',
res: 0,
},
{
v1: '40',
v2: '42',
res: -1,
},
{
v1: '42',
v2: '40',
res: 1,
},
{
v1: '3.38.0',
v2: '40',
res: -1,
},
{
v1: '40',
v2: '3.38.0',
res: 1,
},
{
v1: '40',
v2: '3.38.0',
res: 1,
},
{
v1: '40.alpha.1.1',
v2: '40',
res: -1,
},
{
v1: '40',
v2: '40.alpha.1.1',
res: 1,
},
{
v1: '40.beta',
v2: '40',
res: -1,
},
{
v1: '40.1',
v2: '40',
res: 1,
},
{
v1: '',
v2: '40.alpha',
res: -1,
},
];
for (let i = 0; i < tests.length; i++) {
const name = `Test #${i} v1: ${tests[i].v1}, v2: ${tests[i].v2}`;
print(name);
JsUnit.assertEquals(name, Util.GNOMEversionCompare(tests[i].v1, tests[i].v2), tests[i].res);
}