From 6406007fd75d9fc73d2e9814c98d5338ac23d058 Mon Sep 17 00:00:00 2001 From: Darangi Date: Fri, 1 Nov 2019 10:45:08 +0100 Subject: [PATCH 1/5] Fixed unable to copy selected text from spec-suite window --- src/initialize-test-window.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/initialize-test-window.coffee b/src/initialize-test-window.coffee index 672923526..3e62cfbc9 100644 --- a/src/initialize-test-window.coffee +++ b/src/initialize-test-window.coffee @@ -61,8 +61,8 @@ module.exports = ({blobStore}) -> # Copy: cmd-c / ctrl-c if (event.metaKey or event.ctrlKey) and event.keyCode is 67 - ipcHelpers.call('window-method', 'copy') - + atom.clipboard.write(window.getSelection().toString()) + window.addEventListener('keydown', handleKeydown, true) # Add 'exports' to module search path. From 84a963e8532626db12c1e27fe20d8463d7307261 Mon Sep 17 00:00:00 2001 From: Darangi Date: Mon, 4 Nov 2019 20:37:12 +0100 Subject: [PATCH 2/5] added test --- spec/clipboard-spec.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 spec/clipboard-spec.js diff --git a/spec/clipboard-spec.js b/spec/clipboard-spec.js new file mode 100644 index 000000000..1250e1bc6 --- /dev/null +++ b/spec/clipboard-spec.js @@ -0,0 +1,30 @@ +function selectElement(el) { + const range = atom.document.createRange(); + range.selectNodeContents(el); + const sel = window.getSelection(); + sel.removeAllRanges(); + sel.addRange(range); +} + +describe('Spec suite window', () => { + it('CMD + C should copy selected text', async () => { + atom.clipboard.write('lorem ipsum') + + const element = atom.document.querySelectorAll('.symbol-header')[2] + selectElement(element) + + expect(atom.clipboard.read()).toBe('lorem ipsum'); + + //simulate ctrl+c + atom.document.dispatchEvent(new KeyboardEvent('keydown', { keyCode: 67, ctrlKey: true })) + + let copiedText = atom.clipboard.read().toLowerCase().split(' ') + //eliminate the 'Spec' attached to the name + copiedText.pop() + copiedText = copiedText.join(' ') + + const projectPath = atom.project.getPaths()[0] + + expect(projectPath).toContain(copiedText) + }) +}) From 94f2147a8d01b3408b2d8ae5a1e64cf60e57963e Mon Sep 17 00:00:00 2001 From: Darangi Date: Mon, 4 Nov 2019 21:20:06 +0100 Subject: [PATCH 3/5] added test --- spec/clipboard-spec.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 spec/clipboard-spec.js diff --git a/spec/clipboard-spec.js b/spec/clipboard-spec.js new file mode 100644 index 000000000..947e4561d --- /dev/null +++ b/spec/clipboard-spec.js @@ -0,0 +1,30 @@ +function selectElement(el) { + const range = atom.document.createRange(); + range.selectNodeContents(el); + const sel = window.getSelection(); + sel.removeAllRanges(); + sel.addRange(range); +} + +describe('Spec suite window', () => { + it('CMD + C should copy selected text', async () => { + atom.clipboard.write('lorem ipsum'); + + const element = atom.document.querySelectorAll('.symbol-header')[2]; + selectElement(element); + + expect(atom.clipboard.read()).toBe('lorem ipsum'); + + // simulate ctrl+c + atom.document.dispatchEvent(new KeyboardEvent('keydown', { keyCode: 67, ctrlKey: true })); + + let copiedText = atom.clipboard.read().toLowerCase().split(' '); + // eliminate the 'Spec' attached to the name + copiedText.pop(); + copiedText = copiedText.join(' '); + + const projectPath = atom.project.getPaths()[0]; + + expect(projectPath).toContain(copiedText); + }); +}); From 11222302390254d6f78df4ead9e7a9a3f0ab5402 Mon Sep 17 00:00:00 2001 From: Darangi Date: Mon, 4 Nov 2019 21:43:21 +0100 Subject: [PATCH 4/5] Fixed lint errors again --- spec/clipboard-spec.js | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/spec/clipboard-spec.js b/spec/clipboard-spec.js index 116452dfd..30c68effb 100644 --- a/spec/clipboard-spec.js +++ b/spec/clipboard-spec.js @@ -1,30 +1,35 @@ function selectElement(el) { - const range = atom.document.createRange(); - range.selectNodeContents(el); - const sel = window.getSelection(); - sel.removeAllRanges(); - sel.addRange(range); + const range = atom.document.createRange(); + range.selectNodeContents(el); + const sel = window.getSelection(); + sel.removeAllRanges(); + sel.addRange(range); } describe('Spec suite window', () => { it('Ctrl + C should copy selected text', async () => { - atom.clipboard.write('lorem ipsum'); + atom.clipboard.write('lorem ipsum'); - const element = atom.document.querySelectorAll('.symbol-header')[2]; - selectElement(element); + const element = atom.document.querySelectorAll('.symbol-header')[2]; + selectElement(element); - expect(atom.clipboard.read()).toBe('lorem ipsum'); + expect(atom.clipboard.read()).toBe('lorem ipsum'); - // simulate ctrl+c - atom.document.dispatchEvent(new KeyboardEvent('keydown', { keyCode: 67, ctrlKey: true })); + // simulate ctrl+c + atom.document.dispatchEvent( + new KeyboardEvent('keydown', { keyCode: 67, ctrlKey: true }) + ); - let copiedText = atom.clipboard.read().toLowerCase().split(' '); - // eliminate the 'Spec' attached to the name - copiedText.pop(); - copiedText = copiedText.join(' '); + let copiedText = atom.clipboard + .read() + .toLowerCase() + .split(' '); + // eliminate the 'Spec' attached to the name + copiedText.pop(); + copiedText = copiedText.join(' '); - const projectPath = atom.project.getPaths()[0]; + const projectPath = atom.project.getPaths()[0]; - expect(projectPath).toContain(copiedText); + expect(projectPath).toContain(copiedText); }); }); From 97e9f8858d496f90947fff8f3c3959f147b8243e Mon Sep 17 00:00:00 2001 From: Darangi Date: Tue, 5 Nov 2019 14:41:15 +0100 Subject: [PATCH 5/5] Removed test --- spec/clipboard-spec.js | 35 ----------------------------------- 1 file changed, 35 deletions(-) delete mode 100644 spec/clipboard-spec.js diff --git a/spec/clipboard-spec.js b/spec/clipboard-spec.js deleted file mode 100644 index 30c68effb..000000000 --- a/spec/clipboard-spec.js +++ /dev/null @@ -1,35 +0,0 @@ -function selectElement(el) { - const range = atom.document.createRange(); - range.selectNodeContents(el); - const sel = window.getSelection(); - sel.removeAllRanges(); - sel.addRange(range); -} - -describe('Spec suite window', () => { - it('Ctrl + C should copy selected text', async () => { - atom.clipboard.write('lorem ipsum'); - - const element = atom.document.querySelectorAll('.symbol-header')[2]; - selectElement(element); - - expect(atom.clipboard.read()).toBe('lorem ipsum'); - - // simulate ctrl+c - atom.document.dispatchEvent( - new KeyboardEvent('keydown', { keyCode: 67, ctrlKey: true }) - ); - - let copiedText = atom.clipboard - .read() - .toLowerCase() - .split(' '); - // eliminate the 'Spec' attached to the name - copiedText.pop(); - copiedText = copiedText.join(' '); - - const projectPath = atom.project.getPaths()[0]; - - expect(projectPath).toContain(copiedText); - }); -});