mirror of
https://github.com/zenorocha/clipboard.js.git
synced 2023-08-10 21:12:48 +03:00
71 lines
1.9 KiB
JavaScript
71 lines
1.9 KiB
JavaScript
var assert = chai.assert;
|
|
|
|
describe('Clipboard', () => {
|
|
describe('#constructor', () => {
|
|
it('should throw an error since there was no arguments passed', done => {
|
|
try {
|
|
new Clipboard();
|
|
}
|
|
catch(e) {
|
|
done();
|
|
}
|
|
});
|
|
|
|
it('should throw an error since an empty selector has been passed', done => {
|
|
try {
|
|
new Clipboard('#abc');
|
|
}
|
|
catch(e) {
|
|
done();
|
|
}
|
|
});
|
|
|
|
it('should create a NodeList and store it in a property', () => {
|
|
let clipboard = new Clipboard('.btn');
|
|
return assert.instanceOf(clipboard.triggers, NodeList);
|
|
});
|
|
});
|
|
|
|
describe('#validate', () => {
|
|
var elem = document.createElement('input');
|
|
let clipboard = new Clipboard('.btn');
|
|
|
|
it('should throw an error since there was no "data-target" or "data-text"', (done) => {
|
|
try {
|
|
clipboard.validate({
|
|
currentTarget: elem
|
|
});
|
|
}
|
|
catch(e) {
|
|
done();
|
|
}
|
|
});
|
|
|
|
it('should throw an error since "data-action" is invalid', (done) => {
|
|
try {
|
|
elem.setAttribute('data-action', 'paste');
|
|
|
|
clipboard.validate({
|
|
currentTarget: elem
|
|
});
|
|
}
|
|
catch(e) {
|
|
done();
|
|
}
|
|
});
|
|
|
|
it('should throw an error since "data-target" do not match any element', (done) => {
|
|
try {
|
|
elem.setAttribute('data-target', 'xyz');
|
|
|
|
clipboard.validate({
|
|
currentTarget: elem
|
|
});
|
|
}
|
|
catch(e) {
|
|
done();
|
|
}
|
|
});
|
|
});
|
|
});
|