From 8413040f0d4779d3bf267fc5514cf071bc0e1009 Mon Sep 17 00:00:00 2001 From: xianshenglu Date: Sun, 12 Nov 2023 01:30:08 +0800 Subject: [PATCH] tests: fix tests --- tests/test.clipboard.js | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/tests/test.clipboard.js b/tests/test.clipboard.js index e2c9275f..e2382bca 100644 --- a/tests/test.clipboard.js +++ b/tests/test.clipboard.js @@ -13,13 +13,7 @@ describe('Automatic Clipboard Sync', function () { const text = 'Random string for testing'; const clipboard = new Clipboard(); if (Clipboard.isSupported) { - const clipboardData = new DataTransfer(); - clipboardData.setData("text/plain", text); - const clipboardEvent = new ClipboardEvent('paste', { clipboardData }); - // Force initialization since the constructor is broken in Firefox - if (!clipboardEvent.clipboardData.items.length) { - clipboardEvent.clipboardData.items.add(text, "text/plain"); - } + const clipboardEvent = getClipboardEvent(text); sinon.spy(clipboard, '_copy'); clipboard._handleCopy(clipboardEvent); expect(clipboard._copy).to.have.been.calledWith(text); @@ -31,13 +25,7 @@ describe('Automatic Clipboard Sync', function () { const text = 'Another random string for testing'; const clipboard = new Clipboard(); if (Clipboard.isSupported) { - const clipboardData = new DataTransfer(); - clipboardData.setData("text/plain", text); - const clipboardEvent = new ClipboardEvent('paste', { clipboardData }); - // Force initialization since the constructor is broken in Firefox - if (!clipboardEvent.clipboardData.items.length) { - clipboardEvent.clipboardData.items.add(text, "text/plain"); - } + const clipboardEvent = getClipboardEvent(text); sinon.stub(clipboard, '_isVncEvent').returns(true); sinon.spy(clipboard, 'onpaste'); clipboard._handlePaste(clipboardEvent); @@ -50,13 +38,7 @@ describe('Automatic Clipboard Sync', function () { const clipboard = new Clipboard(); clipboard._remoteClipboard = text; if (Clipboard.isSupported) { - const clipboardData = new DataTransfer(); - clipboardData.setData("text/plain", text); - const clipboardEvent = new ClipboardEvent('paste', { clipboardData }); - // Force initialization since the constructor is broken in Firefox - if (!clipboardEvent.clipboardData.items.length) { - clipboardEvent.clipboardData.items.add(text, "text/plain"); - } + const clipboardEvent = getClipboardEvent(text); sinon.stub(clipboard, '_isVncEvent').returns(true); sinon.spy(clipboard, 'onpaste'); clipboard._handlePaste(clipboardEvent); @@ -64,3 +46,14 @@ describe('Automatic Clipboard Sync', function () { } }); }); + +function getClipboardEvent(text) { + const clipboardData = new DataTransfer(); + clipboardData.setData("text/plain", text); + const clipboardEvent = new ClipboardEvent('paste', { clipboardData }); + // Force initialization since the constructor is broken in Firefox + if (!clipboardEvent.clipboardData.items.length) { + clipboardEvent.clipboardData.items.add(text, "text/plain"); + } + return clipboardEvent; +} \ No newline at end of file