mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-24 01:16:15 -04:00
getCountOfVisibleCharsInViewport functionality
This commit is contained in:
parent
01fe885adc
commit
996f0e8a1d
3 changed files with 166 additions and 71 deletions
|
@ -21,17 +21,20 @@ describe('Page Up & Page Down', function () {
|
|||
it('scrolls up on key stroke', async function () {
|
||||
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);
|
||||
// because we don't send the edit via key events but using `sendkeys` the viewport is
|
||||
// not automatically scrolled. The line below puts the viewport top exactly to where
|
||||
// the caret is.
|
||||
let lineOffset = helper.linesDiv()[80][0].offsetTop;
|
||||
helper.padOuter$('#outerdocbody').parent().scrollTop(lineOffset);
|
||||
let intitialLineNumber = helper.caretLineNumber();
|
||||
helper.pageUp();
|
||||
await helper.waitForPromise(() => intitialLineNumber > helper.caretLineNumber());
|
||||
await helper.waitForPromise(() => intitialLineNumber > helper.caretLineNumber() &&
|
||||
lineOffset > helper.padOuter$('#outerdocbody').parent().scrollTop());
|
||||
intitialLineNumber = helper.caretLineNumber();
|
||||
lineOffset = helper.padOuter$('#outerdocbody').parent().scrollTop();
|
||||
helper.pageUp();
|
||||
await helper.waitForPromise(() => intitialLineNumber > helper.caretLineNumber());
|
||||
await helper.waitForPromise(
|
||||
() => helper.padOuter$('#outerdocbody').parent().scrollTop() < 1000
|
||||
);
|
||||
await helper.waitForPromise(() => intitialLineNumber > helper.caretLineNumber() &&
|
||||
lineOffset > helper.padOuter$('#outerdocbody').parent().scrollTop());
|
||||
});
|
||||
// scrolls down 3 times
|
||||
it('scrolls down on key stroke', async function () {
|
||||
|
@ -39,15 +42,21 @@ describe('Page Up & Page Down', function () {
|
|||
await helper.edit('Line 1', 1);
|
||||
|
||||
let currentLineNumber = helper.caretLineNumber();
|
||||
let lineOffset = helper.padOuter$('#outerdocbody').parent().scrollTop();
|
||||
helper.pageDown();
|
||||
await helper.waitForPromise(() => currentLineNumber < helper.caretLineNumber());
|
||||
await helper.waitForPromise(() => currentLineNumber < helper.caretLineNumber() &&
|
||||
lineOffset < helper.padOuter$('#outerdocbody').parent().scrollTop());
|
||||
|
||||
currentLineNumber = helper.caretLineNumber();
|
||||
lineOffset = helper.padOuter$('#outerdocbody').parent().scrollTop();
|
||||
helper.pageDown();
|
||||
await helper.waitForPromise(() => currentLineNumber < helper.caretLineNumber());
|
||||
await helper.waitForPromise(() => currentLineNumber < helper.caretLineNumber() &&
|
||||
lineOffset < helper.padOuter$('#outerdocbody').parent().scrollTop());
|
||||
|
||||
currentLineNumber = helper.caretLineNumber();
|
||||
lineOffset = helper.padOuter$('#outerdocbody').parent().scrollTop();
|
||||
helper.pageDown();
|
||||
await helper.waitForPromise(() => currentLineNumber < helper.caretLineNumber());
|
||||
await helper.waitForPromise(() => currentLineNumber < helper.caretLineNumber() &&
|
||||
lineOffset < helper.padOuter$('#outerdocbody').parent().scrollTop());
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue