Release 2.16.0
This commit is contained in:
1 parent
821593dd8f
commit
3514d514a3
36 files changed
+2329
-346
No files matched your search
@@ -1,6 +1,7 @@
|
||||
const test = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
const fs = require('node:fs');
|
||||
const vm = require('node:vm');
|
||||
|
||||
const slideFormEditorSource = fs.readFileSync(require.resolve('../src/web/public/js/slides/slide-form-editor.js'), 'utf8');
|
||||
const slideFormSource = fs.readFileSync(require.resolve('../src/web/public/js/slides/slide-form.js'), 'utf8');
|
||||
@@ -108,4 +109,41 @@ test('webpage preview updates only through the explicit button', () => {
|
||||
assert.ok(slideWebpageRegionSource.includes('data-webpage-preview-update'));
|
||||
assert.ok(slideFormSource.includes('input[type="url"][name^="region_webpage_"]'));
|
||||
assert.ok(slideFormSource.includes('requestPreviewRender();'));
|
||||
});
|
||||
|
||||
test('HTML editor shares bounded size controls without changing its content', async () => {
|
||||
const source = { dataset: {}, style: {}, value: '<div>Keep this HTML</div>', getAttribute: () => '708' };
|
||||
let clickHandler;
|
||||
const templateFields = {
|
||||
addEventListener: (event, handler) => { clickHandler = handler; },
|
||||
querySelector: (selector) => selector.includes('.html-editor-source') ? source : null,
|
||||
querySelectorAll: (selector) => selector === '.html-editor-source' ? [source] : []
|
||||
};
|
||||
const sandbox = { window: {} };
|
||||
vm.runInNewContext(slideFormEditorSource.replace('export function', 'function'), sandbox);
|
||||
const controller = sandbox.createSlideFormEditorController({ templateFields });
|
||||
await controller.renderEditors();
|
||||
assert.equal(source.style.height, '360px');
|
||||
|
||||
function resize(action, count = 1) {
|
||||
const button = {
|
||||
getAttribute: () => action,
|
||||
closest: () => ({ getAttribute: () => '708' })
|
||||
};
|
||||
for (let index = 0; index < count; index += 1) {
|
||||
clickHandler({ target: { closest: () => button }, preventDefault() {} });
|
||||
}
|
||||
}
|
||||
|
||||
resize('increase');
|
||||
assert.equal(source.style.height, '440px');
|
||||
resize('decrease');
|
||||
assert.equal(source.style.height, '360px');
|
||||
resize('decrease', 20);
|
||||
assert.equal(source.style.height, '240px');
|
||||
resize('increase', 20);
|
||||
assert.equal(source.style.height, '960px');
|
||||
assert.equal(source.value, '<div>Keep this HTML</div>');
|
||||
assert.match(slideHtmlRegionSource, /style="resize:none;"/);
|
||||
assert.match(slideHtmlRegionSource, /sandboxed iframe preview\.<\/div>'\s*\+\s*'<div class="btn-group/);
|
||||
});
|
||||
Reference in new issue
Block a user