skinny-widgets
Version:
skinnable web components widgets collection
86 lines (71 loc) • 2.57 kB
HTML
<html>
<head>
<meta charset="utf-8">
<script src="../node_modules/mocha/mocha.js"></script>
<script src="../node_modules/chai/chai.js"></script>
<script src="../node_modules/sinon/pkg/sinon.js"></script>
<script src="../node_modules/wct-mocha/wct-mocha.js"></script>
</head>
<body>
<sk-config
theme="antd"
base-path="../src"
lang="ru"
id="skConfig"
></sk-config>
<sk-switch id="skSwitch"></sk-switch>
<sk-switch id="skSwitch2">
<template id="SkSwitchTpl">
<button>
<div id="skSwitch2Internal">SkSwitch2</div>
</template>
</sk-switch>
<script type="module">
import { whenSkRendered } from '../node_modules/sk-core/src/rd-util.js';
import { SkConfig } from '../node_modules/sk-core/src/sk-config.js';
import { SkSwitch } from '../node_modules/sk-switch/src/sk-switch.js';
customElements.define('sk-config', SkConfig);
customElements.define('sk-switch', SkSwitch);
suite('<sk-switch>', () => {
suiteSetup(() => {
});
test('is sk-switch rendered', (done) => {
const element = document.getElementById('skSwitch');
element.whenRendered(() => {
chai.assert.instanceOf(element, SkSwitch);
done();
});
});
test('is sk-switch disabled', (done) => {
let element = document.getElementById('skSwitch');
element.whenRendered(() => {
element.setAttribute('disabled', 'disabled');
let el = element.shadowRoot.querySelector('button');
chai.assert(el.hasAttribute('disabled'));
element.removeAttribute('disabled');
done();
});
});
test('is sk-switch checked after clicked', (done) => {
let element = document.getElementById('skSwitch');
element.whenRendered(() => {
element.click();
chai.assert(element.getAttribute('checked'));
element.click();
chai.assert(! element.getAttribute('checked'));
done();
});
});
test('is sk-switch2 templated', (done) => {
let element = document.getElementById('skSwitch2');
element.whenRendered(() => {
let el = element.shadowRoot.querySelector('#skSwitch2Internal');
chai.assert(el.innerHTML === 'SkSwitch2');
done();
});
});
});
</script>
</body>
</html>