2021-03-15 05:33:23 +01:00
|
|
|
const assert = require('assert');
|
|
|
|
|
|
|
|
// mock chrome namespace
|
2021-04-23 03:32:40 +02:00
|
|
|
global.window = global;
|
2021-03-15 05:33:23 +01:00
|
|
|
global.chrome = {};
|
|
|
|
// run background.js
|
2021-03-23 07:25:38 +01:00
|
|
|
const {Routes, tryMatchRoute} = require('../extension/background');
|
2021-03-15 05:33:23 +01:00
|
|
|
|
|
|
|
(async () => {
|
2021-03-23 07:25:38 +01:00
|
|
|
const tabRoute = await Routes['/tabs/by-id/#TAB_ID'].readdir();
|
2021-03-15 05:33:23 +01:00
|
|
|
assert(['.', '..', 'url.txt', 'title.txt', 'text.txt']
|
|
|
|
.every(file => tabRoute.entries.includes(file)));
|
|
|
|
|
2021-03-23 07:25:38 +01:00
|
|
|
assert.deepEqual(await Routes['/'].readdir(),
|
2021-03-15 05:33:23 +01:00
|
|
|
{ entries: ['.', '..', 'windows', 'extensions', 'tabs', 'runtime'] });
|
2021-03-23 07:25:38 +01:00
|
|
|
assert.deepEqual(await Routes['/tabs'].readdir(),
|
2021-03-15 05:33:23 +01:00
|
|
|
{ entries: ['.', '..', 'create',
|
|
|
|
'by-id', 'by-title', 'last-focused'] });
|
2021-03-22 03:42:44 +01:00
|
|
|
|
2021-03-23 07:25:38 +01:00
|
|
|
assert.deepEqual(tryMatchRoute('/'), [Routes['/'], {}]);
|
2021-03-22 03:42:44 +01:00
|
|
|
|
|
|
|
assert.deepEqual(tryMatchRoute('/tabs/by-id/10/url.txt'),
|
2021-03-23 07:25:38 +01:00
|
|
|
[Routes['/tabs/by-id/#TAB_ID/url.txt'], {tabId: 10}]);
|
2021-03-15 05:33:23 +01:00
|
|
|
})();
|