pad.libre-service.eu-etherpad/tests/frontend/specs/pageupdown.js

54 lines
2.1 KiB
JavaScript
Raw Normal View History

2020-12-28 21:53:08 +01:00
'use strict';
2021-01-07 21:48:42 +01:00
describe('Page Up & Page Down', function () {
2020-12-28 21:53:08 +01:00
beforeEach(function (cb) {
helper.newPad({
cb: async () => {
await helper.clearPad();
// 200 lines
await helper.edit(
2020-12-30 00:44:43 +01:00
'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' +
2020-12-28 21:53:08 +01:00
'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' +
'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' +
'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' +
2021-01-03 12:51:35 +01:00
'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nhello');
2020-12-30 00:44:43 +01:00
cb();
},
2020-12-28 21:53:08 +01:00
});
});
2021-01-03 12:51:35 +01:00
// scrolls up 2 times
2020-12-30 00:44:43 +01:00
it('scrolls up on key stroke', async function () {
2021-01-03 12:51:35 +01:00
await helper.edit('Line 80', 80);
await helper.waitForPromise(() => 81 === helper.caretLineNumber());
// for some reason the page isn't inline with the edit
helper.padOuter$('#outerdocbody').parent().scrollTop(1000);
let intitialLineNumber = helper.caretLineNumber();
2020-12-28 21:53:08 +01:00
helper.pageUp();
2021-01-03 12:51:35 +01:00
await helper.waitForPromise(() => intitialLineNumber > helper.caretLineNumber());
intitialLineNumber = helper.caretLineNumber();
2020-12-28 21:53:08 +01:00
helper.pageUp();
2021-01-03 12:51:35 +01:00
await helper.waitForPromise(() => intitialLineNumber > helper.caretLineNumber());
2021-01-07 21:48:42 +01:00
await helper.waitForPromise(
() => helper.padOuter$('#outerdocbody').parent().scrollTop() < 1000
);
2020-12-30 00:44:43 +01:00
});
2020-12-28 21:53:08 +01:00
// scrolls down 3 times
2020-12-30 00:44:43 +01:00
it('scrolls down on key stroke', async function () {
2020-12-28 21:53:08 +01:00
// this places the caret in the first line
await helper.edit('Line 1', 1);
let currentLineNumber = helper.caretLineNumber();
helper.pageDown();
await helper.waitForPromise(() => currentLineNumber < helper.caretLineNumber());
currentLineNumber = helper.caretLineNumber();
helper.pageDown();
await helper.waitForPromise(() => currentLineNumber < helper.caretLineNumber());
currentLineNumber = helper.caretLineNumber();
helper.pageDown();
await helper.waitForPromise(() => currentLineNumber < helper.caretLineNumber());
2020-12-30 00:44:43 +01:00
});
});