Mark set/jump as a clean architecture

This commit is contained in:
Shin'ya Ueoka 2019-05-11 16:38:08 +09:00
parent ebfb172520
commit c6288f19d9
16 changed files with 316 additions and 137 deletions

View file

@ -0,0 +1,26 @@
import ConsoleClient from '../../../src/content/client/ConsoleClient';
export default class MockConsoleClient implements ConsoleClient {
public isError: boolean;
public text: string;
constructor() {
this.isError = false;
this.text = '';
}
info(text: string): Promise<void> {
this.isError = false;
this.text = text;
return Promise.resolve();
}
error(text: string): Promise<void> {
this.isError = true;
this.text = text;
return Promise.resolve();
}
}

View file

@ -0,0 +1,47 @@
import ScrollPresenter, { Point } from '../../../src/content/presenters/ScrollPresenter';
export default class MockScrollPresenter implements ScrollPresenter {
private pos: Point;
constructor() {
this.pos = { x: 0, y: 0 };
}
getScroll(): Point {
return this.pos;
}
scrollVertically(amount: number, _smooth: boolean): void {
this.pos.y += amount;
}
scrollHorizonally(amount: number, _smooth: boolean): void {
this.pos.x += amount;
}
scrollPages(amount: number, _smooth: boolean): void {
this.pos.x += amount;
}
scrollTo(x: number, y: number, _smooth: boolean): void {
this.pos.x = x;
this.pos.y = y;
}
scrollToTop(_smooth: boolean): void {
this.pos.y = 0;
}
scrollToBottom(_smooth: boolean): void {
this.pos.y = Infinity;
}
scrollToHome(_smooth: boolean): void {
this.pos.x = 0;
}
scrollToEnd(_smooth: boolean): void {
this.pos.x = Infinity;
}
}