From 1798b1cfccdcf294003c56e8eccef9266473948d Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Tue, 26 Apr 2022 21:41:24 +0200 Subject: [PATCH 1/2] Add new example notebook --- ui-tests/test/notebooks/simple.ipynb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 ui-tests/test/notebooks/simple.ipynb diff --git a/ui-tests/test/notebooks/simple.ipynb b/ui-tests/test/notebooks/simple.ipynb new file mode 100644 index 0000000000..95ac696c43 --- /dev/null +++ b/ui-tests/test/notebooks/simple.ipynb @@ -0,0 +1,19 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Test Notebook" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} From af3764bb7b85ae255d76f1e1a012601da071df48 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Tue, 26 Apr 2022 22:04:25 +0200 Subject: [PATCH 2/2] Add reference screenshots for the simple notebook --- ui-tests/test/general.spec.ts | 33 ++++++++++++++++++ .../notebook-chromium-linux.png | Bin 0 -> 24981 bytes .../notebook-firefox-linux.png | Bin 0 -> 21585 bytes 3 files changed, 33 insertions(+) create mode 100644 ui-tests/test/general.spec.ts create mode 100644 ui-tests/test/general.spec.ts-snapshots/notebook-chromium-linux.png create mode 100644 ui-tests/test/general.spec.ts-snapshots/notebook-firefox-linux.png diff --git a/ui-tests/test/general.spec.ts b/ui-tests/test/general.spec.ts new file mode 100644 index 0000000000..02ae51fd84 --- /dev/null +++ b/ui-tests/test/general.spec.ts @@ -0,0 +1,33 @@ +// Copyright (c) Jupyter Development Team. +// Distributed under the terms of the Modified BSD License. + +import path from 'path'; + +import { expect } from '@playwright/test'; + +import { test } from './fixtures'; +import { waitForKernelReady } from './utils'; + +test.describe('General', () => { + test('The notebook should render', async ({ page, tmpPath }) => { + const notebook = 'simple.ipynb'; + await page.contents.uploadFile( + path.resolve(__dirname, `./notebooks/${notebook}`), + `${tmpPath}/${notebook}` + ); + await page.goto(`notebooks/${tmpPath}/${notebook}`); + + // wait for the kernel status animations to be finished + await waitForKernelReady(page); + await page.waitForSelector( + ".jp-Notebook-ExecutionIndicator[data-status='idle']" + ); + + // force switching back to command mode to avoid capturing the cursor in the screenshot + await page.evaluate(async () => { + await window.jupyterapp.commands.execute('notebook:enter-command-mode'); + }); + + expect(await page.screenshot()).toMatchSnapshot('notebook.png'); + }); +}); diff --git a/ui-tests/test/general.spec.ts-snapshots/notebook-chromium-linux.png b/ui-tests/test/general.spec.ts-snapshots/notebook-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..39269a8ab826a6685dc766eb7301ca7c3c919309 GIT binary patch literal 24981 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
a&EuV}|s^do&uqX_3z4 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 g1H{4qZR literal 0 HcmV?d00001