mirror of
https://github.com/webslides/WebSlides.git
synced 2025-08-25 06:00:55 +02:00
Working testing using PhantomJS, previous ones wasn't good enough
This commit is contained in:
40
test/dom.js
40
test/dom.js
@@ -1,40 +0,0 @@
|
||||
import test from 'ava';
|
||||
import DOM from '../src/js/utils/dom';
|
||||
|
||||
test('DOM.createNode', t => {
|
||||
const div = DOM.createNode('div', 'my-id');
|
||||
t.is(div.tagName, 'DIV');
|
||||
t.is(div.id, 'my-id');
|
||||
t.is(div.innerHTML, '');
|
||||
});
|
||||
|
||||
test('DOM.once', t => {
|
||||
const div = DOM.createNode('div');
|
||||
DOM.once(div, 'click', () => div.classList.toggle('ok'));
|
||||
div.click();
|
||||
t.is(div.className, 'ok');
|
||||
div.click();
|
||||
t.is(div.className, 'ok');
|
||||
});
|
||||
|
||||
test('DOM.hide', t => {
|
||||
const div = DOM.createNode('div');
|
||||
DOM.hide(div);
|
||||
t.is(div.style.display, 'none');
|
||||
});
|
||||
|
||||
test('DOM.show', t => {
|
||||
const div = DOM.createNode('div');
|
||||
DOM.hide(div);
|
||||
DOM.show(div);
|
||||
t.is(div.style.display, '');
|
||||
});
|
||||
|
||||
test('DOM.fireEvent', t => {
|
||||
const div = DOM.createNode('div');
|
||||
div.addEventListener('toggle-class', () => div.classList.toggle('ok'));
|
||||
DOM.fireEvent(div, 'toggle-class');
|
||||
t.is(div.className, 'ok');
|
||||
DOM.fireEvent(div, 'toggle-class');
|
||||
t.is(div.className, '');
|
||||
});
|
37
test/utils/webslides.js
Normal file
37
test/utils/webslides.js
Normal file
@@ -0,0 +1,37 @@
|
||||
let phantom = require("phantom");
|
||||
import test from 'ava';
|
||||
|
||||
let ph_, page_, status_;
|
||||
|
||||
const load = async () => {
|
||||
await phantom.create().then(async ph => {
|
||||
ph_ = ph;
|
||||
return await ph_.createPage();
|
||||
}).then(page => {
|
||||
page_ = page;
|
||||
return page_.open('https://stackoverflow.com/');
|
||||
}).then(status => {
|
||||
status_ = status;
|
||||
return true;
|
||||
}).catch(e => console.log(e));
|
||||
}
|
||||
|
||||
test.serial("Page loaded", async t => {
|
||||
await load();
|
||||
t.is(status_, 'success');
|
||||
});
|
||||
|
||||
test.serial('#webslides exits', async t => {
|
||||
await page_
|
||||
.evaluate( () => document.querySelector('#webslides') )
|
||||
.then( ws => { t.not(ws, null); } );
|
||||
});
|
||||
|
||||
/**
|
||||
* Last test
|
||||
*/
|
||||
test.serial('Closing', async t => {
|
||||
await page_.close();
|
||||
ph_.exit();
|
||||
t.true(true);
|
||||
});
|
Reference in New Issue
Block a user