@schukai/monster
Version:
Monster is a simple library for creating fast, robust and lightweight websites.
83 lines (56 loc) • 2.06 kB
JavaScript
import {getGlobal} from "../../../../source/types/global.mjs";
import * as chai from 'chai';
import {chaiDom} from "../../../util/chai-dom.mjs";
import {initJSDOM} from "../../../util/jsdom.mjs";
let expect = chai.expect;
chai.use(chaiDom);
const global = getGlobal();
// language=html
let html1 = `
<monster-panel id="my-panel">
</monster-panel>
`;
let SplitScreen;
describe('SplitScreen', function () {
before(function (done) {
initJSDOM().then(() => {
import("element-internals-polyfill").catch(e => done(e));
let promises = []
if (!global['crypto']) {
promises.push(import("@peculiar/webcrypto").then((m) => {
const Crypto = m['Crypto'];
global['crypto'] = new Crypto();
}));
}
promises.push(import("../../../../source/components/layout/panel.mjs").then((m) => {
SplitScreen = m['Panel'];
}))
Promise.all(promises).then(()=>{
done();
}).catch(e => done(e))
});
})
describe('document.createElement()', function () {
afterEach(() => {
let mocks = document.getElementById('mocks');
mocks.innerHTML = "";
})
it('should have buttons and SplitScreen', function (done) {
let mocks = document.getElementById('mocks');
mocks.innerHTML = html1;
setTimeout(() => {
try {
const SplitScreen = document.getElementById('my-panel')
expect(SplitScreen).is.instanceof(HTMLElement);
setTimeout(() => {
let div = SplitScreen.shadowRoot.querySelector('div');
expect(div.hasChildNodes()).to.be.true;
done();
}, 100)
} catch (e) {
return done(e);
}
}, 0)
});
});
});