50 lines
1.1 KiB
JavaScript
50 lines
1.1 KiB
JavaScript
import select from 'select';
|
|
import command from '../../src/common/command';
|
|
|
|
describe('#command', () => {
|
|
before(() => {
|
|
global.stub = sinon.stub(document, 'execCommand');
|
|
global.input = document.createElement('input');
|
|
global.input.setAttribute('id', 'input');
|
|
global.input.setAttribute('value', 'abc');
|
|
document.body.appendChild(global.input);
|
|
});
|
|
|
|
after(() => {
|
|
global.stub.restore();
|
|
document.body.innerHTML = '';
|
|
});
|
|
|
|
it('should execute cut', (done) => {
|
|
global.stub.returns(true);
|
|
select(document.querySelector('#input'));
|
|
|
|
assert.isTrue(command('cut'));
|
|
done();
|
|
});
|
|
|
|
it('should execute copy', (done) => {
|
|
global.stub.returns(true);
|
|
select(document.querySelector('#input'));
|
|
|
|
assert.isTrue(command('copy'));
|
|
done();
|
|
});
|
|
|
|
it('should not execute copy', (done) => {
|
|
global.stub.returns(false);
|
|
select(document.querySelector('#input'));
|
|
|
|
assert.isFalse(command('copy'));
|
|
done();
|
|
});
|
|
|
|
it('should not execute cut', (done) => {
|
|
global.stub.returns(false);
|
|
select(document.querySelector('#input'));
|
|
|
|
assert.isFalse(command('cut'));
|
|
done();
|
|
});
|
|
});
|