tests: Port findUrl() test to jasmine

Based on https://bugzilla.gnome.org/show_bug.cgi?id=783738
from Sam Spilsbury.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3164>
This commit is contained in:
Florian Müllner 2024-01-20 09:37:54 +01:00 committed by Marge Bot
parent 8345047c24
commit 41aa44707a
2 changed files with 111 additions and 112 deletions

View file

@ -27,6 +27,7 @@ unit_tests = [
'markup',
'params',
'signalTracker',
'url',
]
foreach test : unit_tests
@ -45,7 +46,6 @@ foreach test : unit_tests
endforeach
legacy_tests = [
'url',
'versionCompare',
]

View file

@ -2,13 +2,11 @@
// Test cases for MessageTray URLification
const JsUnit = imports.jsUnit;
import 'resource:///org/gnome/shell/ui/environment.js';
import {findUrls} from 'resource:///org/gnome/shell/misc/util.js';
import * as Util from 'resource:///org/gnome/shell/misc/util.js';
const tests = [
describe('findUrls()', () => {
const urlParameters = [
{
input: 'This is a test',
output: [],
@ -110,13 +108,14 @@ const tests = [
},
];
for (let i = 0; i < tests.length; i++) {
let match = Util.findUrls(tests[i].input);
for (const param of urlParameters) {
const {input, output} = param;
const findsOrDoesNotFind = output.length > 0
? 'finds'
: 'does not find';
JsUnit.assertEquals(`Test ${i} match length`,
match.length, tests[i].output.length);
for (let j = 0; j < match.length; j++) {
JsUnit.assertEquals(`Test ${i}, match ${j} url`, match[j].url, tests[i].output[j].url);
JsUnit.assertEquals(`Test ${i}, match ${j} position`, match[j].pos, tests[i].output[j].pos);
}
it(`${findsOrDoesNotFind} URLs in "${input}"`, () => {
expect(findUrls(input)).toEqual(output);
});
}
});