A fork of https://github.com/ueokande/vim-vixen
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.1 KiB
82 lines
2.1 KiB
6 years ago
|
import { expect } from "chai";
|
||
|
import * as windows from "../ambassador/src/client/windows";
|
||
|
import * as tabs from "../ambassador/src/client/tabs";
|
||
|
import * as keys from "../ambassador/src/client/keys";
|
||
|
import * as scrolls from "../ambassador/src/client/scrolls";
|
||
|
|
||
|
const SERVER_URL = "localhost:11111";
|
||
|
|
||
|
describe("scroll test", () => {
|
||
|
let targetWindow;
|
||
|
let targetTab;
|
||
|
|
||
|
before(() => {
|
||
|
return windows.create().then((win) => {
|
||
|
targetWindow = win;
|
||
|
return tabs.create(targetWindow.id, SERVER_URL);
|
||
|
}).then((tab) => {
|
||
|
targetTab = tab;
|
||
|
});
|
||
|
});
|
||
|
|
||
|
after(() => {
|
||
|
return windows.remove(targetWindow.id);
|
||
|
});
|
||
|
|
||
|
describe('press k', () => {
|
||
|
it('scrolls up', () => {
|
||
|
let before
|
||
|
return scrolls.set(targetTab.id, 100, 100).then((scroll) => {
|
||
|
before = scroll;
|
||
|
return keys.press(targetTab.id, 'k');
|
||
|
}).then(() => {
|
||
|
return scrolls.get(targetTab.id);
|
||
|
}).then((actual) => {
|
||
|
expect(actual.y).to.be.lessThan(before.y);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('press j', () => {
|
||
|
it('scrolls down', () => {
|
||
|
let before
|
||
|
return scrolls.set(targetTab.id, 100, 100).then((scroll) => {
|
||
|
before = scroll;
|
||
|
return keys.press(targetTab.id, 'j');
|
||
|
}).then(() => {
|
||
|
return scrolls.get(targetTab.id);
|
||
|
}).then((actual) => {
|
||
|
expect(actual.y).to.be.greaterThan(before.y);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('press h', () => {
|
||
|
it('scrolls left', () => {
|
||
|
let before
|
||
|
return scrolls.set(targetTab.id, 100, 100).then((scroll) => {
|
||
|
before = scroll;
|
||
|
return keys.press(targetTab.id, 'h');
|
||
|
}).then(() => {
|
||
|
return scrolls.get(targetTab.id);
|
||
|
}).then((actual) => {
|
||
|
expect(actual.x).to.be.lessThan(before.x);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('press l', () => {
|
||
|
it('scrolls right', () => {
|
||
|
let before
|
||
|
return scrolls.set(targetTab.id, 100, 100).then((scroll) => {
|
||
|
before = scroll;
|
||
|
return keys.press(targetTab.id, 'l');
|
||
|
}).then(() => {
|
||
|
return scrolls.get(targetTab.id);
|
||
|
}).then((actual) => {
|
||
|
expect(actual.x).to.be.greaterThan(before.x);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
});
|