viewerjs/test/specs/options/hide.spec.js
2018-03-10 14:56:12 +08:00

74 lines
1.4 KiB
JavaScript

describe('hide (option)', () => {
it('should be null be default', () => {
const image = window.createImage();
const viewer = new Viewer(image);
expect(viewer.options.hide).to.be.null;
});
it('should execute the `hide` hook function', (done) => {
const image = window.createImage();
const viewer = new Viewer(image, {
shown() {
viewer.hide(true);
},
hide(event) {
expect(event.type).to.equal('hide');
},
hidden() {
done();
},
});
viewer.show();
});
it('should not trigger the `hidden` event when default prevented', (done) => {
const image = window.createImage();
let hidable = false;
const viewer = new Viewer(image, {
shown() {
viewer.hide(true);
},
hide(event) {
if (!hidable) {
event.preventDefault();
setTimeout(() => {
hidable = true;
viewer.hide(true);
}, 350);
}
},
hidden() {
if (!hidable) {
expect.fail(1, 0);
} else {
done();
}
},
});
viewer.show();
});
it('should not execute the `hide` hook function in inline mode', (done) => {
const image = window.createImage();
const viewer = new Viewer(image, {
inline: true,
viewed() {
viewer.hide(true);
done();
},
hide() {
expect.fail(1, 0);
},
});
});
});