From 4f1ba3b5538f3423e8af2dc61a9769fdb8796551 Mon Sep 17 00:00:00 2001 From: krassowski <5832902+krassowski@users.noreply.github.com> Date: Fri, 23 Dec 2022 22:40:38 +0000 Subject: [PATCH 1/2] Fix for completer benchmark in CM6 (Lab 4.0) --- src/scenarios.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/scenarios.ts b/src/scenarios.ts index 148536c..48d8fd3 100644 --- a/src/scenarios.ts +++ b/src/scenarios.ts @@ -244,7 +244,11 @@ export class CompleterScenario if (!this.useNotebook) { // Scroll down a little bit to avoid out of view bug - this.editor!.querySelector('.CodeMirror-scroll')!.scrollBy({ + // `.CodeMirror-scroll` is CM5, `.cm-scroller` is CM6 + const scrollArea = + this.editor!.querySelector('.CodeMirror-scroll')! || + this.editor!.querySelector('.cm-scroller')!; + scrollArea.scrollBy({ top: 500, left: 0, behavior: 'smooth' From b8a9ca4f1179ea3e988dd37365cf3ebac74a9e2e Mon Sep 17 00:00:00 2001 From: krassowski <5832902+krassowski@users.noreply.github.com> Date: Sun, 25 Dec 2022 12:57:34 +0000 Subject: [PATCH 2/2] Ensure that we match the right completer and scroll to right place --- src/scenarios.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/scenarios.ts b/src/scenarios.ts index 48d8fd3..72d8d66 100644 --- a/src/scenarios.ts +++ b/src/scenarios.ts @@ -249,7 +249,7 @@ export class CompleterScenario this.editor!.querySelector('.CodeMirror-scroll')! || this.editor!.querySelector('.cm-scroller')!; scrollArea.scrollBy({ - top: 500, + top: 20 * this.options.setup.tokenCount, left: 0, behavior: 'smooth' }); @@ -280,8 +280,12 @@ export class CompleterScenario // need to query for a completer with programatically set styles (which are // things like position (top/left/width/height) which are only present in the // active completer - await page.waitForSelector('.jp-Completer[style]', { state: 'attached' }); - await page.waitForSelector('.jp-Completer[style]', { state: 'visible' }); + await page.waitForSelector('.jp-Completer.jp-HoverBox[style]', { + state: 'attached' + }); + await page.waitForSelector('.jp-Completer.jp-HoverBox[style]', { + state: 'visible' + }); await layoutReady(); }