UNPKG

als-layout

Version:

HTML layout constructor with dynamic meta, styles, and scripts

35 lines (29 loc) 1.26 kB
const assert = require('assert'); const { describe, it, beforeEach } = require('node:test') const Layout = require('../src/layout.js'); describe('Styles', () => { let layout; beforeEach(() => layout = new Layout()); it('should not add style if styles are invalid', () => { assert.throws(() => layout.style(123)) // layout.style(123); // assert.strictEqual(layout.root.$('style'), null, 'Style should not be added when styles are invalid'); }); it('should add style correctly', () => { const styles = 'body { background-color: black; }'; layout.style(styles); assert(layout.root.$('style').innerHTML.includes(styles), 'Styles not set correctly'); }); it('should add styles to existing style tag', () => { assert(layout.root.$$('style').length === 0) const styles1 = 'body { background-color: black; }'; const styles2 = 'body { margin: 0; }'; layout.style(styles1); assert(layout.root.$$('style').length === 1) layout.style(styles2); assert(layout.root.$$('style').length === 1) const inner = layout.root.$('style').innerHTML assert(inner.includes(styles1)); assert(inner.includes(styles2)); }); })