repositories / dotfiles
dotfiles
bugabingas dorkfiles
owned by admin
quickshell/nuguland/launch.test.js
Rawconst assert = require('assert');
const L = require('./launch.js');
assert.deepStrictEqual(L.prefixIntent('=2+2'), { intent: 'app', query: '=2+2' });
assert.deepStrictEqual(L.prefixIntent('firefox'), { intent: 'app', query: 'firefox' });
const exact = L.fuzzyScore('firefox', 'firefox', 0);
const prefix = L.fuzzyScore('fire', 'firefox', 0);
const wbSub = L.fuzzyScore('fb', 'firefox browser', 0);
const loose = L.fuzzyScore('frfx', 'firefox', 0);
assert.ok(exact > prefix, 'exact > prefix');
assert.ok(prefix > wbSub, 'prefix > word-boundary subsequence');
assert.ok(wbSub > loose, 'word-boundary subsequence > loose subsequence');
assert.ok(loose >= 0, 'loose subsequence is a match');
assert.strictEqual(L.fuzzyScore('zzz', 'firefox', 0), -1);
assert.strictEqual(L.fuzzyScore('', 'anything', 900), 900);
const apps = L.buildApps([
{
id: 'gimp',
name: 'GIMP',
icon: 'gimp',
comment: 'Image editor',
genericName: 'Image Editor',
categories: ['Graphics'],
keywords: ['paint', 'photo']
},
{
id: 'firefox',
name: 'Firefox',
icon: 'firefox-icon',
genericName: 'Web Browser',
categories: ['Network'],
keywords: ['web', 'browser'],
actions: [
{ id: 'new-window', name: 'New Window', icon: 'window-new', command: ['firefox', '--new-window'] },
{ id: 'private-window', name: 'Private Window', command: ['firefox', '--private-window'] }
]
}
]);
assert.deepStrictEqual(apps.map(a => a.title), ['Firefox', 'GIMP']);
assert.strictEqual(apps[0].icon, 'firefox-icon');
assert.strictEqual(apps[0].id, 'app:firefox');
assert.strictEqual(apps[0].desktopPath, 'firefox.desktop');
assert.strictEqual(apps[0].subtitle, 'Web Browser · Network');
assert.strictEqual(apps[0].details[0].value, 'Network');
assert.strictEqual(apps[0].details[1].value, 'web; browser');
assert.strictEqual(apps[0].actions[0].title, 'New Window');
assert.deepStrictEqual(apps[0].actions[0].execArgv, ['firefox', '--new-window']);
assert.ok(L.buildApps([{ id: 'noname' }]).length === 0);
const titleRank = L.rankResults('Firefox', { apps });
assert.strictEqual(titleRank.providerIntent, 'app');
assert.strictEqual(titleRank.selectedIndex, 0);
assert.strictEqual(titleRank.results[0].title, 'Firefox');
assert.strictEqual(titleRank.results[0].provider, 'app');
assert.strictEqual(titleRank.results[0].icon, 'firefox-icon');
const keywordRank = L.rankResults('browser', { apps });
assert.strictEqual(keywordRank.results[0].title, 'Firefox');
assert.ok(keywordRank.results.every(r => r.provider === 'app'));
const emptyRank = L.rankResults('', { apps });
assert.strictEqual(emptyRank.selectedIndex, 0);
assert.deepStrictEqual(emptyRank.results.map(r => r.title), ['Firefox', 'GIMP']);
console.log('launch.test.js: ALL PASS');