Release v2.18.0: template default content
This commit is contained in:
1 parent
48e8f3eb4b
commit
24f1603b43
54 files changed
+1421
-151
No files matched your search
@@ -5,6 +5,7 @@ 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');
|
||||
const slideFormTemplateSource = fs.readFileSync(require.resolve('../src/web/views/signage/slides/form.hbs'), 'utf8');
|
||||
const mediaPickerSource = fs.readFileSync(require.resolve('../src/web/public/js/media-picker.js'), 'utf8');
|
||||
const slideThumbnailPreviewSource = fs.readFileSync(require.resolve('../src/web/lib/media/slide-thumbnail-preview.js'), 'utf8');
|
||||
const slideThumbnailsSource = fs.readFileSync(require.resolve('../src/web/lib/media/slide-thumbnails.js'), 'utf8');
|
||||
@@ -79,6 +80,12 @@ test('media library selections keep image and video remove controls', () => {
|
||||
assert.ok(mediaPickerSource.includes("var removeAction = isVideo ? 'region-video' : isQrImage ? 'region-qr-image' : 'region-image';"));
|
||||
assert.ok(mediaPickerSource.includes('data-remove-\' + removeAction'));
|
||||
assert.ok(mediaPickerSource.includes('slide-image-region-preview-remove'));
|
||||
assert.ok(mediaPickerSource.includes("document.querySelectorAll('.modal.show')"));
|
||||
assert.ok(mediaPickerSource.includes('nestedParentFocusTrap.deactivate()'));
|
||||
assert.ok(mediaPickerSource.includes('pickerZIndex - 5'));
|
||||
const pickerModal = fs.readFileSync(require.resolve('../src/web/views/shared/media-picker-modal.hbs'), 'utf8');
|
||||
assert.ok(pickerModal.indexOf('data-media-picker-confirm') < pickerModal.indexOf('data-media-picker-cancel'));
|
||||
assert.match(pickerModal, /class="btn btn-warning" data-media-picker-cancel>Cancel/);
|
||||
});
|
||||
|
||||
test('slide thumbnail previews treat image-only text as visible content', () => {
|
||||
@@ -146,4 +153,28 @@ test('HTML editor shares bounded size controls without changing its content', as
|
||||
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/);
|
||||
});
|
||||
|
||||
test('slide template chooser searches and previews templates while preserving the submitted select', () => {
|
||||
assert.equal((slideFormTemplateSource.match(/modalId="template-picker-modal"/g) || []).length, 1);
|
||||
assert.match(slideFormTemplateSource, /name="template_id" id="template-select" class="visually-hidden"/);
|
||||
assert.match(slideFormTemplateSource, /id="template-picker-open"/);
|
||||
assert.match(slideFormTemplateSource, /template-picker-current"><strong id="template-picker-selected-name"/);
|
||||
assert.doesNotMatch(slideFormTemplateSource, /id="template-picker-selected-size"/);
|
||||
assert.match(slideFormTemplateSource, /modalId="template-picker-modal"/);
|
||||
assert.match(slideFormTemplateSource, /id="template-picker-search"/);
|
||||
assert.match(slideFormTemplateSource, /id="template-picker-canvas-size"/);
|
||||
assert.match(slideFormTemplateSource, /All canvas sizes/);
|
||||
assert.match(slideFormTemplateSource, /id="template-picker-grid"/);
|
||||
assert.doesNotMatch(slideFormTemplateSource, /id="template-picker-none"|>No template<\/button>/);
|
||||
assert.ok(slideFormSource.includes('function createTemplatePickerCard(template)'));
|
||||
assert.ok(slideFormSource.includes('function populateTemplateCanvasSizes()'));
|
||||
assert.doesNotMatch(slideFormSource, /createTemplatePickerCard\(null\)/);
|
||||
assert.ok(slideFormSource.includes('function renderTemplatePicker()'));
|
||||
assert.ok(slideFormSource.includes("templateSelect.dispatchEvent(new Event('change', { bubbles: true }))"));
|
||||
});
|
||||
|
||||
test('popup preview is disabled and guarded until a template is selected', () => {
|
||||
assert.match(slideFormSource, /if \(openPreviewPopupButton\) openPreviewPopupButton\.disabled = !template;/);
|
||||
assert.match(slideFormSource, /function openPreviewPopup\(\) \{\s*if \(!getSelectedTemplate\(\)\)\s*\{\s*return;/);
|
||||
});
|
||||
Reference in new issue
Block a user