Isolate cut, copy and core helper functions.

This commit is contained in:
Beto Muniz
2021-03-26 18:15:34 -03:00
parent 734d36b6ff
commit b0aa1dfaca
14 changed files with 359 additions and 252 deletions

View File

@ -1,7 +1,7 @@
import Emitter from 'tiny-emitter';
import ClipboardAction from '../src/clipboard-action';
import ClipboardActionDefault from '../src/clipboard-action-default';
describe('ClipboardAction', () => {
describe('ClipboardActionDefault', () => {
before(() => {
global.input = document.createElement('input');
global.input.setAttribute('id', 'input');
@ -20,7 +20,7 @@ describe('ClipboardAction', () => {
describe('#resolveOptions', () => {
it('should set base properties', () => {
let clip = new ClipboardAction({
let clip = new ClipboardActionDefault({
emitter: new Emitter(),
container: document.body,
text: 'foo',
@ -41,7 +41,7 @@ describe('ClipboardAction', () => {
// Set document direction
document.documentElement.setAttribute('dir', 'rtl');
let clip = new ClipboardAction({
let clip = new ClipboardActionDefault({
emitter: new Emitter(),
container: document.body,
text: 'foo',
@ -57,7 +57,7 @@ describe('ClipboardAction', () => {
describe('#set action', () => {
it('should throw an error since "action" is invalid', (done) => {
try {
let clip = new ClipboardAction({
let clip = new ClipboardActionDefault({
text: 'foo',
action: 'paste',
});
@ -74,7 +74,7 @@ describe('ClipboardAction', () => {
describe('#set target', () => {
it('should throw an error since "target" do not match any element', (done) => {
try {
let clip = new ClipboardAction({
let clip = new ClipboardActionDefault({
target: document.querySelector('#foo'),
});
} catch (e) {
@ -86,7 +86,7 @@ describe('ClipboardAction', () => {
describe('#selectText', () => {
it('should create a fake element and select its value', () => {
let clip = new ClipboardAction({
let clip = new ClipboardActionDefault({
emitter: new Emitter(),
container: document.body,
text: 'blah',
@ -100,7 +100,7 @@ describe('ClipboardAction', () => {
describe('#removeFake', () => {
it('should remove a temporary fake element', () => {
let clip = new ClipboardAction({
let clip = new ClipboardActionDefault({
emitter: new Emitter(),
container: document.body,
text: 'blah',
@ -114,7 +114,7 @@ describe('ClipboardAction', () => {
describe('#selectTarget', () => {
it('should select text from editable element', () => {
let clip = new ClipboardAction({
let clip = new ClipboardActionDefault({
emitter: new Emitter(),
container: document.body,
target: document.querySelector('#input'),
@ -124,7 +124,7 @@ describe('ClipboardAction', () => {
});
it('should select text from non-editable element', () => {
let clip = new ClipboardAction({
let clip = new ClipboardActionDefault({
emitter: new Emitter(),
container: document.body,
target: document.querySelector('#paragraph'),
@ -152,7 +152,7 @@ describe('ClipboardAction', () => {
done();
});
let clip = new ClipboardAction({
let clip = new ClipboardActionDefault({
emitter,
target: document.querySelector('#input'),
});
@ -167,7 +167,7 @@ describe('ClipboardAction', () => {
done();
});
let clip = new ClipboardAction({
let clip = new ClipboardActionDefault({
emitter,
target: document.querySelector('#input'),
});
@ -176,7 +176,7 @@ describe('ClipboardAction', () => {
describe('#handleResult', () => {
it('should fire a success event with certain properties', (done) => {
let clip = new ClipboardAction({
let clip = new ClipboardActionDefault({
emitter: new Emitter(),
container: document.body,
target: document.querySelector('#input'),
@ -195,7 +195,7 @@ describe('ClipboardAction', () => {
});
it('should fire a error event with certain properties', (done) => {
let clip = new ClipboardAction({
let clip = new ClipboardActionDefault({
emitter: new Emitter(),
container: document.body,
target: document.querySelector('#input'),
@ -215,7 +215,7 @@ describe('ClipboardAction', () => {
describe('#clearSelection', () => {
it('should remove focus from target and text selection', () => {
let clip = new ClipboardAction({
let clip = new ClipboardActionDefault({
emitter: new Emitter(),
container: document.body,
target: document.querySelector('#input'),
@ -233,7 +233,7 @@ describe('ClipboardAction', () => {
describe('#destroy', () => {
it('should destroy an existing fake element', () => {
let clip = new ClipboardAction({
let clip = new ClipboardActionDefault({
emitter: new Emitter(),
container: document.body,
text: 'blah',

View File

@ -1,5 +1,5 @@
import Clipboard from '../src/clipboard';
import ClipboardAction from '../src/clipboard-action';
import ClipboardActionDefault from '../src/clipboard-action-default';
describe('Clipboard', () => {
before(() => {
@ -75,11 +75,14 @@ describe('Clipboard', () => {
});
describe('#onClick', () => {
it('should create a new instance of ClipboardAction', () => {
it('should create a new instance of ClipboardActionDefault', () => {
let clipboard = new Clipboard('.btn');
clipboard.onClick(global.event);
assert.instanceOf(clipboard.clipboardAction, ClipboardAction);
assert.instanceOf(
clipboard.clipboardActionDefault,
ClipboardActionDefault
);
});
it("should use an event's currentTarget when not equal to target", () => {
@ -90,7 +93,10 @@ describe('Clipboard', () => {
};
clipboard.onClick(bubbledEvent);
assert.instanceOf(clipboard.clipboardAction, ClipboardAction);
assert.instanceOf(
clipboard.clipboardActionDefault,
ClipboardActionDefault
);
});
it('should throw an exception when target is invalid', (done) => {
@ -121,7 +127,7 @@ describe('Clipboard', () => {
});
describe('#destroy', () => {
it('should destroy an existing instance of ClipboardAction', () => {
it('should destroy an existing instance of ClipboardActionDefault', () => {
let clipboard = new Clipboard('.btn');
clipboard.onClick(global.event);