| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- const test = require('node:test');
- const assert = require('node:assert/strict');
- const fs = require('node:fs');
- test('sidepanel loads icloud manager before sidepanel bootstrap', () => {
- const html = fs.readFileSync('sidepanel/sidepanel.html', 'utf8');
- const icloudManagerIndex = html.indexOf('<script src="icloud-manager.js"></script>');
- const sidepanelIndex = html.indexOf('<script src="sidepanel.js"></script>');
- assert.notEqual(icloudManagerIndex, -1);
- assert.notEqual(sidepanelIndex, -1);
- assert.ok(icloudManagerIndex < sidepanelIndex);
- });
- test('icloud manager exposes a factory and renders empty state', () => {
- const source = fs.readFileSync('sidepanel/icloud-manager.js', 'utf8');
- const windowObject = {};
- const api = new Function('window', `${source}; return window.SidepanelIcloudManager;`)(windowObject);
- assert.equal(typeof api?.createIcloudManager, 'function');
- const manager = api.createIcloudManager({
- dom: {
- btnIcloudBulkDelete: { disabled: false },
- btnIcloudBulkPreserve: { disabled: false },
- btnIcloudBulkUnpreserve: { disabled: false },
- btnIcloudBulkUnused: { disabled: false },
- btnIcloudBulkUsed: { disabled: false },
- btnIcloudDeleteUsed: { disabled: false },
- btnIcloudLoginDone: { disabled: false },
- btnIcloudRefresh: { disabled: false },
- checkboxIcloudSelectAll: { checked: false, indeterminate: false, disabled: false },
- icloudList: { innerHTML: '' },
- icloudLoginHelp: { style: { display: 'none' } },
- icloudLoginHelpText: { textContent: '' },
- icloudLoginHelpTitle: { textContent: '' },
- icloudSection: { style: { display: '' } },
- icloudSelectionSummary: { textContent: '' },
- icloudSummary: { textContent: '' },
- inputIcloudSearch: { value: '', disabled: false },
- selectIcloudFilter: { value: 'all', disabled: false },
- },
- helpers: {
- escapeHtml: (value) => String(value || ''),
- openConfirmModal: async () => true,
- showToast() {},
- },
- runtime: {
- sendMessage: async () => ({ aliases: [] }),
- },
- });
- assert.equal(typeof manager.renderIcloudAliases, 'function');
- assert.equal(typeof manager.refreshIcloudAliases, 'function');
- assert.equal(typeof manager.queueIcloudAliasRefresh, 'function');
- assert.equal(typeof manager.reset, 'function');
- manager.renderIcloudAliases([]);
- assert.equal(manager.hasDeletableUsedAliases(), false);
- });
|