aboutsummaryrefslogtreecommitdiff
path: root/test/content/usecases/ClipboardUseCase.test.ts
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2020-05-02 17:25:56 +0900
committerGitHub <noreply@github.com>2020-05-02 17:25:56 +0900
commit5df0537bcf65a341e79852b1b30379c73318529c (patch)
treeaee5efe52412855f620cb514a13a2c14373f27b7 /test/content/usecases/ClipboardUseCase.test.ts
parent685f2b7b69218b06b5bb676069e35f79c5048c9b (diff)
parent75abd90ecb8201ad845b266f96220d8adfe19b2d (diff)
Merge pull request #749 from ueokande/qa-0.28
QA 0.28
Diffstat (limited to 'test/content/usecases/ClipboardUseCase.test.ts')
-rw-r--r--test/content/usecases/ClipboardUseCase.test.ts84
1 files changed, 49 insertions, 35 deletions
diff --git a/test/content/usecases/ClipboardUseCase.test.ts b/test/content/usecases/ClipboardUseCase.test.ts
index 3cc82fe..5de3e69 100644
--- a/test/content/usecases/ClipboardUseCase.test.ts
+++ b/test/content/usecases/ClipboardUseCase.test.ts
@@ -1,14 +1,14 @@
-import ClipboardRepository from '../../../src/content/repositories/ClipboardRepository';
-import { SettingRepositoryImpl } from '../../../src/content/repositories/SettingRepository';
-import ClipboardUseCase from '../../../src/content/usecases/ClipboardUseCase';
-import OperationClient from '../../../src/content/client/OperationClient';
-import ConsoleClient from '../../../src/content/client/ConsoleClient';
+import ClipboardRepository from "../../../src/content/repositories/ClipboardRepository";
+import { SettingRepositoryImpl } from "../../../src/content/repositories/SettingRepository";
+import ClipboardUseCase from "../../../src/content/usecases/ClipboardUseCase";
+import OperationClient from "../../../src/content/client/OperationClient";
+import ConsoleClient from "../../../src/content/client/ConsoleClient";
-import * as sinon from 'sinon';
-import { expect } from 'chai';
-import {Operation} from "../../../src/shared/operations";
+import * as sinon from "sinon";
+import { expect } from "chai";
+import { Operation } from "../../../src/shared/operations";
-describe('ClipboardUseCase', () => {
+describe("ClipboardUseCase", () => {
let clipboardRepository: ClipboardRepository;
let operationClient: OperationClient;
@@ -18,34 +18,48 @@ describe('ClipboardUseCase', () => {
let sut: ClipboardUseCase;
beforeEach(() => {
- clipboardRepository = new class implements ClipboardRepository {
- read(): string { return ""; }
+ clipboardRepository = new (class implements ClipboardRepository {
+ read(): string {
+ return "";
+ }
write(_text: string) {}
- };
- operationClient = new class implements OperationClient {
- execBackgroundOp(_repeat: number, _op: Operation): Promise<void> { return Promise.resolve() }
- internalOpenUrl(_url: string, _newTab?: boolean, _background?: boolean): Promise<void> { return Promise.resolve() }
- };
- consoleClient = new class implements ConsoleClient {
- error(_text: string): Promise<void> { return Promise.resolve() }
- info(_text: string): Promise<void> { return Promise.resolve() }
- };
+ })();
+ operationClient = new (class implements OperationClient {
+ execBackgroundOp(_repeat: number, _op: Operation): Promise<void> {
+ return Promise.resolve();
+ }
+ internalOpenUrl(
+ _url: string,
+ _newTab?: boolean,
+ _background?: boolean
+ ): Promise<void> {
+ return Promise.resolve();
+ }
+ })();
+ consoleClient = new (class implements ConsoleClient {
+ error(_text: string): Promise<void> {
+ return Promise.resolve();
+ }
+ info(_text: string): Promise<void> {
+ return Promise.resolve();
+ }
+ })();
sut = new ClipboardUseCase(
clipboardRepository,
new SettingRepositoryImpl(),
consoleClient,
- operationClient,
- );
+ operationClient
+ );
});
- describe('#yankCurrentURL', () => {
- it('yanks current url', async () => {
+ describe("#yankCurrentURL", () => {
+ it("yanks current url", async () => {
const href = window.location.href;
const mockRepository = sinon.mock(clipboardRepository);
- mockRepository.expects('write').withArgs(href);
+ mockRepository.expects("write").withArgs(href);
const mockConsoleClient = sinon.mock(consoleClient);
- mockConsoleClient.expects('info').withArgs('Yanked ' + href);
+ mockConsoleClient.expects("info").withArgs("Yanked " + href);
const yanked = await sut.yankCurrentURL();
@@ -55,23 +69,23 @@ describe('ClipboardUseCase', () => {
});
});
- describe('#openOrSearch', () => {
- it('opens url from the clipboard', async () => {
- const url = 'https://github.com/ueokande/vim-vixen'
- sinon.stub(clipboardRepository, 'read').returns(url);
+ describe("#openOrSearch", () => {
+ it("opens url from the clipboard", async () => {
+ const url = "https://github.com/ueokande/vim-vixen";
+ sinon.stub(clipboardRepository, "read").returns(url);
const mockOperationClient = sinon.mock(operationClient);
- mockOperationClient.expects('internalOpenUrl').withArgs(url, true);
+ mockOperationClient.expects("internalOpenUrl").withArgs(url, true);
await sut.openOrSearch(true);
mockOperationClient.verify();
});
- it('opens search results from the clipboard', async () => {
- const url = 'https://google.com/search?q=banana';
- sinon.stub(clipboardRepository, 'read').returns('banana');
+ it("opens search results from the clipboard", async () => {
+ const url = "https://google.com/search?q=banana";
+ sinon.stub(clipboardRepository, "read").returns("banana");
const mockOperationClient = sinon.mock(operationClient);
- mockOperationClient.expects('internalOpenUrl').withArgs(url, true);
+ mockOperationClient.expects("internalOpenUrl").withArgs(url, true);
await sut.openOrSearch(true);