mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 01:02:58 +00:00
84 lines
2.7 KiB
JavaScript
84 lines
2.7 KiB
JavaScript
import { setTimeout } from 'node:timers/promises';
|
|
|
|
describe('iD.uiConfirm', function () {
|
|
var elem;
|
|
|
|
beforeEach(function() {
|
|
elem = d3.select('body')
|
|
.append('div')
|
|
.attr('class', 'confirm-wrap');
|
|
});
|
|
|
|
afterEach(function() {
|
|
d3.select('.confirm-wrap')
|
|
.remove();
|
|
});
|
|
|
|
it('can be instantiated', function () {
|
|
var selection = iD.uiConfirm(elem);
|
|
expect(selection).to.be.ok;
|
|
});
|
|
|
|
it('has a header section', function () {
|
|
var selection = iD.uiConfirm(elem);
|
|
expect(selection.selectAll('div.content div.header').size()).to.equal(1);
|
|
});
|
|
|
|
it('has a message section', function () {
|
|
var selection = iD.uiConfirm(elem);
|
|
expect(selection.selectAll('div.content div.message-text').size()).to.equal(1);
|
|
});
|
|
|
|
it('has a buttons section', function () {
|
|
var selection = iD.uiConfirm(elem);
|
|
expect(selection.selectAll('div.content div.buttons').size()).to.equal(1);
|
|
});
|
|
|
|
it('can have an ok button added to it', function () {
|
|
var selection = iD.uiConfirm(elem).okButton();
|
|
expect(selection.selectAll('div.content div.buttons button.action').size()).to.equal(1);
|
|
});
|
|
|
|
it('can be dismissed by calling close function', async () => {
|
|
var selection = iD.uiConfirm(elem);
|
|
selection.close();
|
|
await setTimeout(275);
|
|
d3.timerFlush();
|
|
expect(selection.node().parentNode).to.be.null;
|
|
});
|
|
|
|
it('can be dismissed by clicking the close button', async () => {
|
|
var selection = iD.uiConfirm(elem);
|
|
happen.click(selection.select('button.close').node());
|
|
await setTimeout(275);
|
|
d3.timerFlush();
|
|
expect(selection.node().parentNode).to.be.null;
|
|
});
|
|
|
|
it('can be dismissed by pressing escape', async () => {
|
|
var selection = iD.uiConfirm(elem);
|
|
happen.keydown(document, {keyCode: 27});
|
|
happen.keyup(document, {keyCode: 27});
|
|
await setTimeout(275);
|
|
d3.timerFlush();
|
|
expect(selection.node().parentNode).to.be.null;
|
|
});
|
|
|
|
it('can be dismissed by pressing backspace', async () => {
|
|
var selection = iD.uiConfirm(elem);
|
|
happen.keydown(document, {keyCode: 8});
|
|
happen.keyup(document, {keyCode: 8});
|
|
await setTimeout(275);
|
|
d3.timerFlush();
|
|
expect(selection.node().parentNode).to.be.null;
|
|
});
|
|
|
|
it('can be dismissed by clicking the ok button', async () => {
|
|
var selection = iD.uiConfirm(elem).okButton();
|
|
happen.click(selection.select('div.content div.buttons button.action').node());
|
|
await setTimeout(275);
|
|
d3.timerFlush();
|
|
expect(selection.node().parentNode).to.be.null;
|
|
});
|
|
});
|