aboutsummaryrefslogtreecommitdiff
path: root/test/content/usecases/ClipboardUseCase.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'test/content/usecases/ClipboardUseCase.test.ts')
-rw-r--r--test/content/usecases/ClipboardUseCase.test.ts36
1 files changed, 24 insertions, 12 deletions
diff --git a/test/content/usecases/ClipboardUseCase.test.ts b/test/content/usecases/ClipboardUseCase.test.ts
index a863651..3cc82fe 100644
--- a/test/content/usecases/ClipboardUseCase.test.ts
+++ b/test/content/usecases/ClipboardUseCase.test.ts
@@ -6,19 +6,31 @@ import ConsoleClient from '../../../src/content/client/ConsoleClient';
import * as sinon from 'sinon';
import { expect } from 'chai';
+import {Operation} from "../../../src/shared/operations";
describe('ClipboardUseCase', () => {
let clipboardRepository: ClipboardRepository;
+
let operationClient: OperationClient;
+
let consoleClient: ConsoleClient;
+
let sut: ClipboardUseCase;
beforeEach(() => {
- var modal = <ConsoleClient>{};
+ 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() }
+ };
- clipboardRepository = <ClipboardRepository>{ read() {}, write(_) {} };
- operationClient = <OperationClient>{ internalOpenUrl(_) {} };
- consoleClient = <ConsoleClient>{ info(_) {}};
sut = new ClipboardUseCase(
clipboardRepository,
new SettingRepositoryImpl(),
@@ -29,13 +41,13 @@ describe('ClipboardUseCase', () => {
describe('#yankCurrentURL', () => {
it('yanks current url', async () => {
- let href = window.location.href;
- var mockRepository = sinon.mock(clipboardRepository);
+ const href = window.location.href;
+ const mockRepository = sinon.mock(clipboardRepository);
mockRepository.expects('write').withArgs(href);
- var mockConsoleClient = sinon.mock(consoleClient);
+ const mockConsoleClient = sinon.mock(consoleClient);
mockConsoleClient.expects('info').withArgs('Yanked ' + href);
- let yanked = await sut.yankCurrentURL();
+ const yanked = await sut.yankCurrentURL();
expect(yanked).to.equal(href);
mockRepository.verify();
@@ -45,9 +57,9 @@ describe('ClipboardUseCase', () => {
describe('#openOrSearch', () => {
it('opens url from the clipboard', async () => {
- let url = 'https://github.com/ueokande/vim-vixen'
+ const url = 'https://github.com/ueokande/vim-vixen'
sinon.stub(clipboardRepository, 'read').returns(url);
- let mockOperationClient = sinon.mock(operationClient);
+ const mockOperationClient = sinon.mock(operationClient);
mockOperationClient.expects('internalOpenUrl').withArgs(url, true);
await sut.openOrSearch(true);
@@ -56,9 +68,9 @@ describe('ClipboardUseCase', () => {
});
it('opens search results from the clipboard', async () => {
- let url = 'https://google.com/search?q=banana';
+ const url = 'https://google.com/search?q=banana';
sinon.stub(clipboardRepository, 'read').returns('banana');
- let mockOperationClient = sinon.mock(operationClient);
+ const mockOperationClient = sinon.mock(operationClient);
mockOperationClient.expects('internalOpenUrl').withArgs(url, true);
await sut.openOrSearch(true);