aboutsummaryrefslogtreecommitdiff
path: root/test/content/mock/MockScrollPresenter.ts
diff options
context:
space:
mode:
Diffstat (limited to 'test/content/mock/MockScrollPresenter.ts')
-rw-r--r--test/content/mock/MockScrollPresenter.ts47
1 files changed, 47 insertions, 0 deletions
diff --git a/test/content/mock/MockScrollPresenter.ts b/test/content/mock/MockScrollPresenter.ts
new file mode 100644
index 0000000..819569a
--- /dev/null
+++ b/test/content/mock/MockScrollPresenter.ts
@@ -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;
+ }
+}
+