From 41231dab6694144e4b04f7efdedc330f3aba49f8 Mon Sep 17 00:00:00 2001 From: Antoine Pouille Date: Thu, 7 Nov 2024 17:29:15 +0100 Subject: [PATCH] test(webapp): setup electron tests --- .github/workflows/ci.yml | 33 +- gui/entry_point/main.js | 22 +- gui/resources/JsSim.css | 2 +- playwright.config.ts | 11 +- tests/playwright/README.md | 8 + tests/playwright/procedure.spec.ts | 287 ++++++++++-------- ...-contact-map-accuracy-1-chromium-linux.png | Bin 24382 -> 14527 bytes ...b-contact-map-accuracy-1-firefox-linux.png | Bin 30706 -> 20318 bytes ...-contact-map-accuracy-2-chromium-linux.png | Bin 24080 -> 12896 bytes ...b-contact-map-accuracy-2-firefox-linux.png | Bin 30656 -> 18226 bytes tests/playwright/project_electron_param.ts | 63 ++++ tests/playwright/refs/influences.json | 2 +- tests/playwright/webapp_utils.ts | 25 +- 13 files changed, 310 insertions(+), 143 deletions(-) create mode 100644 tests/playwright/project_electron_param.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0c1ae927e..cf3928fb4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -127,7 +127,7 @@ jobs: path: | site viz - - name: Archive Javascript app + - name: Archive linux electron app uses: actions/upload-artifact@v4 with: name: linux @@ -193,7 +193,11 @@ jobs: webapp-playwright-test: needs: [cli-and-doc, webapp-ubuntu] - if: github.ref == 'refs/heads/master' + # run only on master OR when the PR is _not_ a draft + # TODO: improve this? + if: | + github.ref == 'refs/heads/master' || + github.event.pull_request.draft == false timeout-minutes: 75 runs-on: ubuntu-latest steps: @@ -206,6 +210,7 @@ jobs: npm ci sudo apt-get update sudo apt-get install lighttpd + sudo apt-get install xvfb x11-xkb-utils xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic x11-apps sudo npm install -D @playwright/test@latest npm install --save-dev @types/node @types/yauzl - name: Install Playwright Browsers @@ -225,14 +230,36 @@ jobs: ' > lighttpd.conf lighttpd -f lighttpd.conf -D & sleep 10 && curl -i http://127.0.0.1:12345/index.html # test + - name: Download electron app + uses: actions/download-artifact@v4 + with: + name: linux + # - name: Setup electron app + # run: | + # tar xzf Kappapp.tar.gz + # mkdir -p build + # mv Kappapp ./build/ + # # pwd + # # ls -R + # # ls -R /home/runner/work/ + # Xvfb :99 -ac -screen 0 1920x1080x24 +extension GLX +render > xvfb_log.txt 2>&1 & + # sleep 3 - name: Run Playwright tests - run: DEBUG=pw:webserver npx playwright test --retries=3 --trace retain-on-first-failure + run: | + # export DISPLAY=:99 # needed for electron + DEBUG=pw:browser* npx playwright test --retries=2 --trace retain-on-first-failure - uses: actions/upload-artifact@v4 if: ${{ !cancelled() }} with: name: playwright-report path: playwright-report/ retention-days: 30 + # - uses: actions/upload-artifact@v4 + # if: ${{ !cancelled() }} + # with: + # name: xvfb_log + # path: xvfb_log.txt + # retention-days: 30 deploy: needs: [cli-and-doc, webapp-ubuntu, webapp-macos, webapp-windows, webapp-playwright-test] diff --git a/gui/entry_point/main.js b/gui/entry_point/main.js index 75be82193..885b3589e 100644 --- a/gui/entry_point/main.js +++ b/gui/entry_point/main.js @@ -1,12 +1,14 @@ "use strict"; // Modules to control application life and create native browser window -const {app, BrowserWindow} = require('electron') +const { app, BrowserWindow } = require('electron') // Keep a global reference of the window object, if you don't, the window will // be closed automatically when the JavaScript object is garbage collected. let mainWindow -function createWindow () { +// Don't open the window rightaway (with show:false below) +// See https://zeke.github.io/electron.atom.io/docs/api/browser-window/#using-ready-to-show-event +function createWindow() { // Create the browser window. mainWindow = new BrowserWindow({ webPreferences: { @@ -14,7 +16,8 @@ function createWindow () { contextIsolation: false, }, width: 1024, - height: 768 + height: 768, + show: false, }) // and load the index.html of the app. @@ -24,7 +27,7 @@ function createWindow () { pathname: require('path').join(__dirname, '../bin/KappaSwitchman'), query: { label: 'Local' } }) - mainWindow.loadFile('index.html',{ + mainWindow.loadFile('index.html', { query: { host: sim_agent, // level: "debug", @@ -35,16 +38,21 @@ function createWindow () { // mainWindow.webContents.openDevTools() // Emitted when the window is closed. - mainWindow.on('closed', function () { + mainWindow.on('closed', function() { // Dereference the window object, usually you would store windows // in an array if your app supports multi windows, this is the time // when you should delete the corresponding element. mainWindow = null }) + + mainWindow.once('ready-to-show', () => { + // TODO: put this back conditionnally + // mainWindow.show() + }) } // Quit when all windows are closed. -app.on('window-all-closed', function () { +app.on('window-all-closed', function() { // On macOS it is common for applications and their menu bar // to stay active until the user quits explicitly with Cmd + Q if (process.platform !== 'darwin') { @@ -52,7 +60,7 @@ app.on('window-all-closed', function () { } }) -app.on('activate', function () { +app.on('activate', function() { // On macOS it's common to re-create a window in the app when the // dock icon is clicked and there are no other windows open. if (mainWindow === null) { diff --git a/gui/resources/JsSim.css b/gui/resources/JsSim.css index 06a556f95..5983d6f73 100644 --- a/gui/resources/JsSim.css +++ b/gui/resources/JsSim.css @@ -174,7 +174,7 @@ rect { stroke-width: 2; } } .plot-legend-swatch { stroke-width : 1; } -.plot-tick-proof { } +/* .plot-tick-proof { } */ .contact-tooltip { position: fixed; z-index: 10; padding: 2px; border-style: solid; diff --git a/playwright.config.ts b/playwright.config.ts index 39d4554bd..ae25e6edd 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -1,5 +1,7 @@ import { defineConfig, devices } from '@playwright/test'; +import type { TestOptions } from './tests/playwright/project_electron_param'; + /** * Read environment variables from file. * https://github.com/motdotla/dotenv @@ -11,7 +13,7 @@ import { defineConfig, devices } from '@playwright/test'; /** * See https://playwright.dev/docs/test-configuration. */ -export default defineConfig({ +export default defineConfig({ testDir: './tests/playwright', /* Run tests in files in parallel */ fullyParallel: true, @@ -33,6 +35,7 @@ export default defineConfig({ }, /* Configure projects for major browsers */ + // See https://playwright.dev/docs/test-parameterize#parameterized-projects for electron param definition projects: [ { name: 'chromium', @@ -44,6 +47,12 @@ export default defineConfig({ use: { ...devices['Desktop Firefox'] }, }, + // TODO: try having electron tests working + // { + // name: 'electron', + // use: { run_in_electron: true }, + // }, + // TODO: try making the app work on webkit /* { diff --git a/tests/playwright/README.md b/tests/playwright/README.md index 771360579..afc9bc970 100644 --- a/tests/playwright/README.md +++ b/tests/playwright/README.md @@ -24,3 +24,11 @@ UPDATE_EXPORTS=true npx playwright test --update-snapshots UPDATE_EXPORTS=true npx playwright test --update-snapshots --project firefox UPDATE_EXPORTS=true npx playwright test procedure.spec.ts:449 --update-snapshots ``` + +### Electron + +Local tests with electron need to have access to the actual screen, it seems. +So they should be run with `-j 1` to have a single worker, and the electron window has to stay visible at least. + +Downloads open a dialog that is not handled by playwright, so there is no testing of electron downloads. +They may be enabled and completed manually by changing the boolean in `project_electron_param.ts` (untested). diff --git a/tests/playwright/procedure.spec.ts b/tests/playwright/procedure.spec.ts index 859d98767..0845e7bfb 100644 --- a/tests/playwright/procedure.spec.ts +++ b/tests/playwright/procedure.spec.ts @@ -2,8 +2,10 @@ // Note: trace snapshots that should be taken by playwright are not (absent on right of ui `npx playwright test --ui`) // TODO: test with embedded Kasim? deprecate it? +// TODO: split this in multiple files? -import { test, expect, type Page } from '@playwright/test'; +import { expect, type Page } from '@playwright/test'; +import { test, RUN_DOWNLOADS_IN_ELECTRON } from './project_electron_param'; import * as utils from './webapp_utils'; @@ -20,13 +22,19 @@ const abc_ka = '//raw.githubusercontent.com/Kappa-Dev/KappaTools/master/examples const poly_ka = '//raw.githubusercontent.com/Kappa-Dev/KappaTools/master/examples/poly.ka' const local_views_slide_69_ka = '//www.di.ens.fr/~feret/teaching/2023-2024/MPRI.2.19/activities/local_views/local_views_slide_69.ka' const counter_2_ka = '//raw.githubusercontent.com/Kappa-Dev/KappaTools/master/tests/integration/compiler/counters_2_levels/counter_2.ka' -const minikai_counters_ka = '//raw.githubusercontent.com/Kappa-Dev/KappaTools/master/examples/large/minikai/minikai_counters.ka' const causality_slide_10_ka = '//www.di.ens.fr/~feret/teaching/2023-2024/MPRI.2.19/activities/causality/causality_slide_10.ka' test.describe('Editor tab', () => { - test('editor', async ({ page }) => { - await utils.open_app_with_model(page, abc_ka); + test('open_file_from_url', async ({ page, run_in_electron }) => { + test.skip(run_in_electron, "Not relevant in electron: opening url would use the server instead of the electron app."); + + await utils.open_app_with_model(page, abc_ka, run_in_electron, false); + }); + + + test('editor', async ({ page, run_in_electron }) => { + await utils.open_app_with_model(page, abc_ka, run_in_electron); const editor = page.locator('#editor-panel').getByRole('textbox'); async function editor_to_line(n: number): Promise { @@ -40,9 +48,9 @@ test.describe('Editor tab', () => { await editor_to_line(21); // Make a syntax error await editor.press('Backspace'); - // (useless comment to match brackets { {) + // (useless comment to match brackets in editor { ) await utils.expect_error(page, [ - " « 1/1 » [abc.ka] invalid internal state or missing '}' " + " « 1/1 » [model.ka] invalid internal state or missing '}' " ]); await editor_cancel(); await utils.expect_no_error(page); @@ -50,7 +58,7 @@ test.describe('Editor tab', () => { await editor.fill('\n%agent: D(a{u p})'); await utils.expect_error(page, [ - " « 1/1 » [abc.ka] Dead agent D " + " « 1/1 » [model.ka] Dead agent D " ]); await editor_to_line(25); @@ -61,7 +69,7 @@ test.describe('Editor tab', () => { await editor.fill("\n'd' D(a{p}) -> D(a{u}) @ 1"); // await page.locator('#panel_preferences_message_nav_inc_id').click(); await utils.expect_error(page, [ - " « 1/1 » [abc.ka] Dead rule 'd' " + " « 1/1 » [model.ka] Dead rule 'd' " ]); await editor_cancel(); await editor_cancel(); @@ -69,9 +77,9 @@ test.describe('Editor tab', () => { await utils.expect_no_error(page); }); - test('contact_map', async ({ page, browserName }) => { + test('contact_map', async ({ page, run_in_electron, browserName }) => { + await utils.open_app_with_model(page, abc_ka, run_in_electron); const opts_screen = { maxDiffPixels: 60 } - await utils.open_app_with_model(page, abc_ka); const contact_map = page.locator('#map-container'); await expect.soft(contact_map).toHaveScreenshot(opts_screen); await page.getByRole('checkbox', { name: 'Interactive Mode' }).check(); @@ -89,18 +97,19 @@ test.describe('Editor tab', () => { await page.getByRole('button', { name: 'Reset Zoom' }).click(); await expect.soft(contact_map).toHaveScreenshot(opts_screen); - await utils.testExports(page, '#export_contact-export', 'map', ['svg', 'json'], undefined, browserName); - - // await utils.testExports(page, '#export_contact-export', 'map', ['png'], undefined, browserName); - // TODO: pngs doesn't match on CI's chromium and firefox. check if we can test them in some way. + if (!run_in_electron || RUN_DOWNLOADS_IN_ELECTRON) { + await utils.testExports(page, '#export_contact-export', 'map', ['svg', 'json'], undefined, browserName); + // await utils.testExports(page, '#export_contact-export', 'map', ['png'], undefined, browserName); + // TODO: pngs doesn't match on CI's chromium and firefox. check if we can test them in some way. + } }); - test('influences', async ({ page }) => { + test('influences', async ({ page, run_in_electron }) => { const opts_screen = { maxDiffPixels: 60 } const opts_screen_lenient = { maxDiffPixels: 150, threshold: 0.4 } - await utils.open_app_with_model(page, abc_ka); + await utils.open_app_with_model(page, abc_ka, run_in_electron); await page.locator('#navinfluences').click(); const table = page.locator('#influences-table'); @@ -129,15 +138,17 @@ test.describe('Editor tab', () => { await page.getByRole('button', { name: 'Previous' }).click(); await expect.soft(table).toHaveScreenshot(); //export - await utils.testExports(page, '#export_influence-export', 'influences', ['json']); + if (!run_in_electron || RUN_DOWNLOADS_IN_ELECTRON) { + await utils.testExports(page, '#export_influence-export', 'influences', ['json']); + } }); function constraint_locator(page: Page, n: number) { return (page.locator('#constraints > .panel-scroll > div > .panel-body').nth(n)); } - test('constraints_and_polymers_1', async ({ page }) => { - await utils.open_app_with_model(page, abc_ka); + test('constraints_and_polymers_1', async ({ page, run_in_electron }) => { + await utils.open_app_with_model(page, abc_ka, run_in_electron); await page.locator('#navconstraints').click(); await expect.soft(constraint_locator(page, 0)).toHaveText( `A(c) => [ A(c[.]) v A(c[x1.C]) v A(c[x2.C]) ] @@ -159,8 +170,8 @@ C(x2) => [ C(x2{u}) v C(x2{p}) ] ); }); - test('constraints_and_polymers_2', async ({ page }) => { - await utils.open_app_with_model(page, poly_ka); + test('constraints_and_polymers_2', async ({ page, run_in_electron }) => { + await utils.open_app_with_model(page, poly_ka, run_in_electron); await page.locator('#navpolymers').click(); await expect.soft(page.getByRole('paragraph')).toHaveText( `The following bonds may form arbitrary long chains of agents: @@ -176,8 +187,8 @@ A(c[1]),C(a[1]) `); }); - test('constraints_and_polymers_3', async ({ page }) => { - await utils.open_app_with_model(page, local_views_slide_69_ka, true, 20000); + test('constraints_and_polymers_3', async ({ page, run_in_electron }) => { + await utils.open_app_with_model(page, local_views_slide_69_ka, run_in_electron, true, 20000); await page.locator('#navconstraints').click(); await expect.soft(constraint_locator(page, 0)).toHaveText( `E(x) => [ E(x[.]) v E(x[x.R]) ] @@ -212,8 +223,8 @@ R(CN[C.R],CR[CR.R]) => R(CN[2],CR[1]),R(C[2],CR[1]) ]); }); - test('constraints_and_polymers_4', async ({ page }) => { - await utils.open_app_with_model(page, counter_2_ka); + test('constraints_and_polymers_4', async ({ page, run_in_electron }) => { + await utils.open_app_with_model(page, counter_2_ka, run_in_electron); await page.locator('#navconstraints').click(); await expect.soft(constraint_locator(page, 4)).toHaveText( `A() => A(c{[0 .. 2]}) @@ -221,10 +232,17 @@ R(CN[C.R],CR[CR.R]) => R(CN[2],CR[1]),R(C[2],CR[1]) ); }); - test('contact_map_accuracy', async ({ page }) => { - // TODO: find a smaller example so that execution is faster - test.setTimeout(180000) - await utils.open_app_with_model(page, minikai_counters_ka, false, 120000); + test('contact_map_accuracy', async ({ page, run_in_electron }) => { + await utils.open_app_with_model_from_text(page, + `%agent: A(x,c,d) +%agent: B(x,y) +%agent: C(x1{u p},x2{u p}) +'a.b' A(x[.]),B(x[.]) -> A(x[1]),B(x[1]) @ 'on_rate' //A binds B +'a..b' A(x[1/.]),B(x[1/.]) @ 'off_rate' //AB dissociation +'never_occuring' A(d[1]),B(y[1]) -> A(d[.]), B(y[.]) @ 1 +%init: 12 A(),B() +%init: 13 C()` + , run_in_electron); const contact_map = page.locator('#map-container'); await expect.soft(contact_map).toHaveScreenshot(); await page.locator('#contact_map-accuracy').selectOption('high'); @@ -235,8 +253,8 @@ R(CN[C.R],CR[CR.R]) => R(CN[2],CR[1]),R(C[2],CR[1]) test.describe('Simulation tools', () => { - test('Simulation, plot', async ({ page, browserName }) => { - await utils.open_app_with_model(page, abc_ka); + test('Simulation, plot', async ({ page, run_in_electron, browserName }) => { + await utils.open_app_with_model(page, abc_ka, run_in_electron); await utils.setSeed(page, 1); // Run simulation to 30, then 100, then test plot options await utils.set_pause_if(page, '[T] > 30'); @@ -271,11 +289,13 @@ test.describe('Simulation tools', () => { await page.locator('.panel-footer').click(); // needed for update await expect.soft(page.getByRole('img')).toHaveScreenshot(); - await utils.testExports(page, '#export_plot-export', 'plot', ['csv', 'json', 'tsv'], undefined); - await utils.testExports(page, '#export_plot-export', 'plot', ['svg'], undefined, browserName); - if (browserName != "chromium") { - await utils.testExports(page, '#export_plot-export', 'plot', ['png'], undefined, browserName); - // TODO: pngs doesn't match on CI's chromium. check if we can test them in some way + if (!run_in_electron || RUN_DOWNLOADS_IN_ELECTRON) { + await utils.testExports(page, '#export_plot-export', 'plot', ['csv', 'json', 'tsv'], undefined); + await utils.testExports(page, '#export_plot-export', 'plot', ['svg'], undefined, browserName); + if (browserName != "chromium") { + await utils.testExports(page, '#export_plot-export', 'plot', ['png'], undefined, browserName); + // TODO: pngs doesn't match on CI's chromium. check if we can test them in some way + } } // Test larger plots, slider @@ -296,8 +316,8 @@ test.describe('Simulation tools', () => { await page.getByRole('button', { name: 'pause' }).click(); }); - test('DIN', async ({ page, browserName }) => { - await utils.open_app_with_model(page, abc_ka); + test('DIN', async ({ page, run_in_electron, browserName }) => { + await utils.open_app_with_model(page, abc_ka, run_in_electron); await utils.setSeed(page, 1); async function expectScreenShotDINTable(chromium_maxDiffPixels: number = 0) { @@ -326,7 +346,9 @@ test.describe('Simulation tools', () => { await page.locator('#navDIN').click(); await expectScreenShotDINTable(350); - await utils.testExports(page, '#export_din-export', 'flux', ['json', 'dot', 'html']); + if (!run_in_electron || RUN_DOWNLOADS_IN_ELECTRON) { + await utils.testExports(page, '#export_din-export', 'flux', ['json', 'dot', 'html']); + } await utils.set_pause_if(page, '[T] > 60'); await page.getByRole('button', { name: 'continue' }).click(); @@ -338,14 +360,16 @@ test.describe('Simulation tools', () => { await page.getByRole('combobox').first().selectOption('flux.json'); await expectScreenShotDINTable(3000); - await utils.testExports(page, '#export_din-export', 'flux_json', ['json', 'dot', 'html']); + if (!run_in_electron || RUN_DOWNLOADS_IN_ELECTRON) { + await utils.testExports(page, '#export_din-export', 'flux_json', ['json', 'dot', 'html']); + } await page.getByRole('combobox').first().selectOption('flux.html'); await expectScreenShotDINTable(350); }); - test('snapshots', async ({ page, browserName }) => { - await utils.open_app_with_model(page, abc_ka); + test('snapshots', async ({ page, run_in_electron, browserName }) => { + await utils.open_app_with_model(page, abc_ka, run_in_electron); await utils.setSeed(page, 1); // Generate two snapshots @@ -430,28 +454,30 @@ test.describe('Simulation tools', () => { // await page.locator('#force-container circle').first().click(); // Test exports - await page.locator('#format_select_id').selectOption('Kappa'); - await utils.testExports(page, "#export_snapshot_kappa", "snapshot_kappa", ["json", "kappa", "dot"], - ['', '', '"#\\w{5,6}"']); - await page.locator('#format_select_id').selectOption('Graph'); - await utils.testExports(page, "#export_snapshot_graph", "snapshot_graph", ["json", "kappa", "dot"], ['', '', '"#\\w{5,6}"']); - - await utils.testExports(page, "#export_snapshot_graph", "snapshot_graph", ["svg"], - [' { - await utils.open_app_with_model(page, abc_ka); + test('outputs', async ({ page, run_in_electron }) => { + await utils.open_app_with_model(page, abc_ka, run_in_electron); await utils.setSeed(page, 1); // Generate two snapshots @@ -486,19 +512,20 @@ test.describe('Simulation tools', () => { await page.locator('#output-select-id').selectOption('ab.txt'); await expect.soft(outputs_display).toHaveText("394393"); - const downloadPromise = page.waitForEvent('download'); - await page.getByRole('button', { name: 'All outputs' }).click(); - const download = await downloadPromise; - - utils.compare_zip_files_list_with_ref(download, []); + if (!run_in_electron || RUN_DOWNLOADS_IN_ELECTRON) { + const downloadPromise = page.waitForEvent('download'); + await page.getByRole('button', { name: 'All outputs' }).click(); + const download = await downloadPromise; + utils.compare_zip_files_list_with_ref(download, []); + } }); }); test.describe('stories', () => { - async function setup_stories(page: Page) { - await utils.open_app_with_model(page, causality_slide_10_ka, true); + async function setup_stories(page: Page, run_in_electron: boolean) { + await utils.open_app_with_model(page, causality_slide_10_ka, run_in_electron, true); await utils.setSeed(page, 1); // Enable trace @@ -540,8 +567,8 @@ test.describe('stories', () => { } - test('Empty', async ({ page }) => { - await setup_stories(page); + test('Empty', async ({ page, run_in_electron }) => { + await setup_stories(page, run_in_electron); // No screenshot test as no stories causes no image to locate await computeStoriesAndTest(page, "", `Starting Compression Compression completed @@ -549,8 +576,8 @@ Compression completed `, false); }); - test('Weakly', async ({ page }) => { - await setup_stories(page); + test('Weakly', async ({ page, run_in_electron }) => { + await setup_stories(page, run_in_electron); await page.getByRole('checkbox', { name: 'Weakly' }).check(); await computeStoriesAndTest(page, `ids: 11, 19, 24, 29, 33, 36, 37, 39, 49, 52, 55 @@ -567,8 +594,8 @@ Compression completed `); }); - test('Strongly', async ({ page }) => { - await setup_stories(page); + test('Strongly', async ({ page, run_in_electron }) => { + await setup_stories(page, run_in_electron); await page.getByRole('checkbox', { name: 'Strongly' }).check(); await computeStoriesAndTest(page, `ids: 11, 19, 24, 29, 33, 36, 37, 39, 49, 52, 55, 5, 8, 21, 27, 28, 30, 31, @@ -603,8 +630,8 @@ Compression completed }); - test('Causal + select stories', async ({ page }) => { - await setup_stories(page); + test('Causal + select stories', async ({ page, run_in_electron }) => { + await setup_stories(page, run_in_electron); await page.getByRole('checkbox', { name: 'Causal' }).check(); const computation_log = `Starting Compression Start one causal compression @@ -689,8 +716,8 @@ event=5200, 3184, 2246`, computation_log); }); - test('Weakly + Strongly', async ({ page }) => { - await setup_stories(page); + test('Weakly + Strongly', async ({ page, run_in_electron }) => { + await setup_stories(page, run_in_electron); await page.getByRole('checkbox', { name: 'Weakly' }).check(); await page.getByRole('checkbox', { name: 'Strongly' }).check(); await computeStoriesAndTest(page, @@ -712,19 +739,21 @@ Compression completed `); }); - test('Trace download', async ({ page }) => { - await setup_stories(page); - const downloadPromise = page.waitForEvent('download'); - await page.getByRole('button', { name: 'get trace' }).click(); - const download = await downloadPromise; - await utils.compare_download_to_ref(download, "stories_trace"); + test('Trace download', async ({ page, run_in_electron }) => { + await setup_stories(page, run_in_electron); + if (!run_in_electron || RUN_DOWNLOADS_IN_ELECTRON) { + const downloadPromise = page.waitForEvent('download'); + await page.getByRole('button', { name: 'get trace' }).click(); + const download = await downloadPromise; + await utils.compare_download_to_ref(download, "stories_trace"); + } }); }); test.describe('projects_and_files', () => { - test('project', async ({ page }) => { - await utils.open_app_with_model(page, causality_slide_10_ka, true); + test('project', async ({ page, run_in_electron }) => { + await utils.open_app_with_model(page, causality_slide_10_ka, run_in_electron, true); await utils.setSeed(page, 1); // project tab is `a` in `list`, `list` contains "active" class info, `a` is clickable @@ -770,36 +799,38 @@ test.describe('projects_and_files', () => { // TODO: Could also check simulation results }); - test('files', async ({ page }) => { - await utils.open_app_with_model(page, abc_ka, false); + test('files', async ({ page, run_in_electron }) => { + await utils.open_app_with_model(page, abc_ka, run_in_electron, false); await utils.setSeed(page, 1); - // download file - await page.getByRole('button', { name: 'File' }).click(); - const downloadPromise = page.waitForEvent('download'); - await page.locator('#menu-editor-file-export-li').click(); - const download = await downloadPromise; - await utils.compare_download_to_ref(download, "abc_download.ka"); - const downloaded_path = await download.path(); - - // close it, and reopen it - await page.getByRole('button', { name: 'File' }).click(); - await page.locator('#menu-editor-file-close-li').click(); - await page.getByRole('button', { name: 'File' }).click(); - const fileChooserPromise = page.waitForEvent('filechooser'); - await page.locator('#menu-editor-file-open-li').click(); - const fileChooser = await fileChooserPromise; - await fileChooser.setFiles(downloaded_path); - - // write other file and check contact map - await page.getByRole('button', { name: 'File' }).click(); - await page.locator('#menu-editor-file-new-li').click(); - await page.getByRole('textbox', { name: 'file name' }).click(); - await page.getByRole('textbox', { name: 'file name' }).fill('test.ka'); - await page.getByRole('textbox', { name: 'file name' }).press('Enter'); - await page.locator('.CodeMirror-scroll').click(); - await utils.input_in_editor_from_str(page, - `%agent: K(x) + // TODO: see if we can adapt part of this to electron? + if (!run_in_electron || RUN_DOWNLOADS_IN_ELECTRON) { + // download file + await page.getByRole('button', { name: 'File' }).click(); + const downloadPromise = page.waitForEvent('download'); + await page.locator('#menu-editor-file-export-li').click(); + const download = await downloadPromise; + await utils.compare_download_to_ref(download, "abc_download.ka"); + const downloaded_path = await download.path(); + + // close it, and reopen it + await page.getByRole('button', { name: 'File' }).click(); + await page.locator('#menu-editor-file-close-li').click(); + await page.getByRole('button', { name: 'File' }).click(); + const fileChooserPromise = page.waitForEvent('filechooser'); + await page.locator('#menu-editor-file-open-li').click(); + const fileChooser = await fileChooserPromise; + await fileChooser.setFiles(downloaded_path); + + // write other file and check contact map + await page.getByRole('button', { name: 'File' }).click(); + await page.locator('#menu-editor-file-new-li').click(); + await page.getByRole('textbox', { name: 'file name' }).click(); + await page.getByRole('textbox', { name: 'file name' }).fill('test.ka'); + await page.getByRole('textbox', { name: 'file name' }).press('Enter'); + await page.locator('.CodeMirror-scroll').click(); + await utils.input_in_editor_from_str(page, + `%agent: K(x) %agent: S(a b{u p} c{u p}) %init: 1000 K() %init: 1000 S() @@ -810,20 +841,22 @@ test.describe('projects_and_files', () => { %obs: 'S++' |S(b{p} c{p})| %mod: [true] do $TRACK 'S++' [true] ; ` - ); - await utils.wait_for_file_load(page, { timeout: 10000 }); - const contact_map = page.locator('#map-container'); - - const opts_screen = { maxDiffPixels: 150 } - await expect.soft(contact_map).toHaveScreenshot(opts_screen); - - // TODO: fix this flaky test: sometimes the graph doesn't show, bug? - // simulate and test screenshot - // await utils.set_pause_if(page, '[T] > 30'); - // await page.getByRole('button', { name: 'start' }).click(); - // await utils.wait_for_sim_stop(page, { timeout: 20000 }); - // await page.locator('#navplot').click(); - // await expect.soft(page.getByRole('img')).toHaveScreenshot(); + ); + await utils.wait_for_file_load(page, { timeout: 10000 }); + const contact_map = page.locator('#map-container'); + + const opts_screen = { maxDiffPixels: 150 } + await expect.soft(contact_map).toHaveScreenshot(opts_screen); + + // TODO: fix this flaky test: sometimes the graph doesn't show, bug? + // simulate and test screenshot + // await utils.set_pause_if(page, '[T] > 30'); + // await page.getByRole('button', { name: 'start' }).click(); + // await utils.wait_for_sim_stop(page, { timeout: 20000 }); + // await page.locator('#navplot').click(); + // await expect.soft(page.getByRole('img')).toHaveScreenshot(); + // + } }); }); diff --git a/tests/playwright/procedure.spec.ts-snapshots/Editor-tab-contact-map-accuracy-1-chromium-linux.png b/tests/playwright/procedure.spec.ts-snapshots/Editor-tab-contact-map-accuracy-1-chromium-linux.png index 9553b5cd13a0da24e84cbd2a40bce1adf35bb425..b5c46e541fd33a002b96fdc4f4c61c268ead1f8d 100644 GIT binary patch literal 14527 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 SZWso04BW-?`trjZRcIi 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 Km9COB4gFtPWuD>y diff --git a/tests/playwright/procedure.spec.ts-snapshots/Editor-tab-contact-map-accuracy-1-firefox-linux.png b/tests/playwright/procedure.spec.ts-snapshots/Editor-tab-contact-map-accuracy-1-firefox-linux.png index 24200837958a51cc4cc7cf18da0e18a5d79a9334..d22be5c5a572e59fed351ba5c082fc94dd9e65c3 100644 GIT binary patch literal 20318 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 literal 24080 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�Kk z^KvO;!A#?N(Pn1QGSVm3pcFV+`w3cVC$e4btl(4&Ab3b}sQh?%y!Y-XD$-JBz$AtT z5Kt65HRTNVr7@(EgQH`Z)|~?DiKCal4Mz_bkR(zF+gsP_n?dVbsbwxlbrvd!Y#sZ* zCdYPr?*bc9Gv*OEy49T_fdD z^@yh-#nZ}3aU8QL!xYv?l3DM~d8&MPh803500h<; z{WGaeprQl?DUwOt@VTyH0D+a9qG+YB=t`7}K7(SfMRq}uhU98QOuYevsy6*n=3$e# z72j2x@;D5rA*!D=BKf_8t@MHt5+=QiHs~sqG&F;Td#p+s$Y={*?n7iwaZ9{}mHzID ze4SPA_T37cZhUT~D8--T{yI(*2aWv@b=Tv)1IZOJx3ILB@7ut7#8A*5?oztb%DHeY(q(tp=IA{!kh63l^Od7Hy>)DrxQLL6mEjZI*^}@Rbo<&|3(>54=Zq-?zf3k=;EZpUbJQr%>Ek7%`O{(?)fB1=plhY?6Xqt+7 zc3-T?>~h*8o$q5yZIhUV1Po%Eo2TFt@rXZ0=LDM+pUU6C9}I3Nek%OLI^_BA-w#V{ z+@@c7qO?pz0bVxa-4*Yum)s67ea$?W{`G#th6%IH=0|!8tzML`HOX4?jx#Nib3v$(P_rIN_YN&BYRfDVuM*vtSp4j zvq)k#!~}~*SLH>c%Yy3zv)QTudjR?aH_zIm$Zq^6E&XJr;}IH`18`sGF@ZOMO_Mm; zBC0fNsqrZ)8b5TrAzg^3^47!B>u#)^i^C@VrJ@YA--bW5`4?mu=D&U8YU=cU)aLre z-S86Cc#jbzNm&I6Z|7~o@-L}`xbYOvk_9738vPlw(kvi_Z{q<` zl&CcYf;u0e9ym&(vOh+4h!7ee2YvShw%4WOy% zjT{t*c6dU@7q@05G5ouL6Gqczb`mt^Th=J=ASf}DdaJBAh?Q7sg0s1)B_iSidXvH4 zx$F>+N7@pP>itvV*+N30$?Jmx-jV=2;?NU6i%Z~~lR;hSfMWXzJy)FF23|u~`0{jE zcCzgU6d7k5qZ(wrSv2Mzx~TQGpM7gB7bdag`IXtB_2Wa7AHyftOOcOUu=Is9R#d*D zqU*w`Gdl?2Zl{3#ZF8_(|@{1UqDJ@zX+yIAHYO@3r3MNh^wVKbKFR?P0AH2rd0P^O#yPp=Hl zy5M8@!6&-e@r4Yi3$DR0uI3M(&~gpAA(H4Cb6ZSovDY5|Oks&QQyMJ?hAG-P{)0ph zi@zC&l$(XKmx8B7_>l$5TFvYrH*LPVy4*g+_fNcl^!!+Nh;*V%N~jD?F-{72Bih=t z&FgNY^n*r%eAbbm%NPMuQ*qXEe}*S?e}kEgF=<9ji`;Gu`h$*7y0I|y%+Tl#G$(xEUm0bsg2>ipD4wTA!y9?<+g>0pI zcRt>JCUT1qm68!I$~~i|yY#R;v=+BTM+pv zf$Tnl#_2{05$ul{l5@+C4zo%Qo}N^2YJu{Bf8{QuL|ThCrYpj9B|J1tS~P^E_&)wY zTZmRvh5T48;LtguL6sR~<|@-lq%vzB_qO|KCmUv8i*I`R3$zE{U_rSmGmvef8%|qL ze?g=(O(9yi;9o1aZ54_l_fUq!9snGv1vTsigGOd$Q_BIhvghJrovhB*Vp2EkoTjwt zPsG2p{x>5?ZAeL&uHlp{y@2xUcLX9u&K2J_1V`~Zw#Ep$1nuwM ze`SH{P02Q;rF!;c=z~Ozv~ZJFmP$3QSe6q+f}L2gQco%ea<@pBdD+qmzJVubknd~_ zI4QSwl`1B)J)rafavkVT*Xd)q1bQGr@Pu_zc$v()jL;Fp>8*mX|I8fJWmS80SK3>K z13G%A64Zr6!djG%#Q(iwz|7928bOIE=-G|QF>plVzp0lWJ44^yuhm1{s+Aj16ysKX zCmwIK7X5Or#T5f3BG^6~y0#fm)nO9436cDWA5YfR zkF#@P1iXq7TleV+l@eX-OerrYu5eVTit*ck9Chu_FHLA7z&B>sUnUEY+rt+-J$;XH z?Uw(}^geW2=UA0haPU?9lj3}8!eK_gN$a~Jgpnp#yf(4q9_QhN7n?vCf67@%q<;~` zb3~v@_TcIh@|xg9kClDDJ^x{<1{&_IsVeJfO$k0LL@O!@_J%r?Gq#0T`skjCl=5CG{&F_B9NK9x0`RG;4!M`PAX%{zP$sX*cQ@d|_^t zehGi1u6XUdF2|MY8tVM!zDcd=-09u;_2kBR42m>k3_?{#Mdj_bd`N)Kb5pZMhS)+D z(-?Bs-dh_IL%i<<2&ApSfp%r>klBsaC9Lzj1H4$E-pwd^4w);lLd?R1+^Knf!6`to zQAKGnDcGOJT!%^Eq|8953w5b>mhtuKf7_D4PnVnu|&@9kfMwAfO7yQ-g$w*h-PjL+YUCX4gSdT3&@17+qA3Gh|8;M=$JuaOzJ(x(K7tV?D zGqj<5XRR1R#rXb#m~zzUB=?FNn$UXlN2U;qt5dtTxF=c2DH-J=lVWMIV%E87TV|_z z>hg6;%)_Rvc3D?@L^JvV^0s0${E=}6( z-oT;AO;`{Y?fe3Ir8H;)fmt;;La!q_H*pl9)xW+jbLh)i54}8{?E{s6i*5;thJc6Z zb%ozDg6M{UrW-L`oE?_Qbxsn+)NBzoSLRe6iC?>&DdI^R_@1{E9+Q?Aa7|_pCb=DG zX31*Ak#Pb=eP%bPV7Kez`|Gk;mRV3iQl`JW2uJ}d78=7C^6yMb{t)zb=MSkipSGow z;SX5ub_$9rB*endaviKmF(v6MKJ#d$#F@HQmH^dE%!~rk zG8R9MZc#)P>5}8*|Et5Cf9COXN92ARj`KQ*2U$$B{`gO-(hh$1ZC!9gRI=A&cz=cG) z*-if%@nusysH}MDgg{=|lZekY3lJ)(F!P&;p!*nYi0QTQgOGpY50;kB3)XM{_48l# z=6F7GEQ}p=AX1LXcoD6S+A|HCyi5h8bOJ$GbH4t-_cMJG25jW6i4HR;YY5O$;P@%q zI(P$znYkX*Q>}{_yo`13l+1eB@7u!`@cU8Mde(>1b7CP(?+)r%+7ZCNqmI<{CU@f3 zcw(?QNHl*=u)1Dsy;gjdWZAr4ee&kJoX$Wyt~BTBRs9aTtKB^jAeG22sXM-SK7^gD8rPqO-4@_= zB%Oe#&H1M1mpa$?snKjhZXQL8D8odOkd;(P z|8?O)JW!N>KqFlk+R%cC9Zle8(ZjfFX+h)VG!UD%m^!7ktFkM>$4ZIT5XGE9B4&w- zRtY{rOE;GiewdWrDvicaG&D%t+dKxVsH`r=5OoWOaM@2Zav->8+$Y7r&+P)@bjY7! z0me0J4hrfz*0wjTnz*p2{Tov27A3{UD~yLit9S%gCg;yLtdB93L7souHK_stB~1_d z6DqZv;>k8WAJ)Nx@iD^C8&S|@e`OcL!$pk3NypqKdP6<-FO5{k8p6w-^C0>DI0=(P z3er?n^l*A6D5(`E_X<|0EyDT`7X|wthey3x$ic)MD1ARd#duP>P@HH}%B_M~D9*k2 zrN#6rNbx)S9TA}Q#+#15xL4oWt=#(2q4!6>-#m(NRsyJM=i3CHAKGuYJ{#|#Fz}8G zo(`&CC4o+qw_OhK4a&#&!WJr4H|&=fYIppy^XvP%PD04EpFkUp4gcN&=g;#{9E(x( z+m3zOl9FVJsiDfnk8Yr>_YoSe$B(UJncG#2wucH6rAWUK{)QCSmK#r9__YDKU>?(S z-*t=N3KH1h=+vuTMbr^?x@5smM?B3CZ3CZ;8;fR4IXD0HCO9i-W4@j>UxlT}JrgPW# zEJS10{s~-*kC=v!zC&+|MIY+VF14V+a$SNmw$TsWjb%4{_B*Xrek(AqH94z773IP% zoE40MFx3u4yDxY|OQq?YNhEVqhNA09gV_lyqFJ-lRvbNRb9fq~c&Iqi|2{n40l{b~i$#X(LXN1`{O<8_smc}c)r2o1&#T`H;dK*w6|4Z|*0LiO&L_!@p7 zL4)^dKXaFNT2!P?qj8Z}VK{$|yq+0IqzgSQ1(7cp378Kn5e)js}c8lMEnT%QU`*|Du3Ci74 za_7j`DY$?$S1F6uQ%e?58V6s*+hxQgtlu+*lrc`z_1LH{Tf}4}EAb4gXDuTNpv-*n zY~Jj*s8MtQ#-l$g_3ukK|09WyB9>V2cA&$_kd*8>&UV=niV%MCXd-88fa^H>7ShKy zuxV|{5z;Hxl~{)NpSJwIVMSp?iVN;3v^nToO&xp-A)8Zznfx(S9?^ayMEcHlBFKJx z(K*3vN~whtQVuC*Kup;)?8*k^RL}r$yqn+cj=Q-NK6eU z7X0(jFPy5Wk`{m2bgZ*S7e4@5VpSM0)dIUM)HOWWSp#3h{9S} zFT;VsmZ=D*=AE1bd!fl)j(Gd_O;7h81c&M=m{-aJjm;KsT4k(txtSL{?VmoH$nA?i zO$H{uQGP<8_rVJagS~ZwiYT?bT#=gh zH<n&@xjar{Qdw+0q6t#czVM%{O+zeUO)18G~-i2SWeD#0tp|6!Z|!cQUzyOLXN5LwNKVBQZzRm^O5I<}Y)On=-H}xYzQSKy~Du`bTi#O4W;(^SU`u zc_v)3&cyE33!x65$Tl0#%wdABiBngYjv%e_g)IH6oVx{H#0?@~iBmj5TvAH5J8V%= z^cn9Q+>!L1^n^<)=1{wQGuTr@9;CO-fiffgtAWvkzCY>TsNhpW zyq6q3YgQRQd``4^at0SmQ}(rWo3non0q!(>q9?1?Jq+=tZ##ag(o}Mgv8P$YqJXxr zzmo0whXHg^i)_(J`)M94=Kg+uRgt&I^>3vacymxDMgpZ9*e_5=xumuSf>3LLICJIuyS8Ut|pY{84J7E^#kO2ST=wZm3fw*0PY zDLra7Kw9<`Co23c8sq-oeNo598Q6HyUS4xqL=xw3n&yZCI813us?pyF0zh?~bf@Ih zEa(nF-$z*JoV<#RXLye8kzx}u^8%htvEJ;@;!(wC8S2Dnlx-0Rq16oPa>1Ug+i>P6 z7K|PKEgq!IpWKp8Zh3-V!d(G*e2ianQ&OKMs?+QZTZj)1S!{^JZfTl`vk$HA@J!98E%Fc%B(bc@doU9eSlsXX_Sx#?h zWx2V3F27rfghzXHd3!DFmObbK{!e{^-(4Z9jRoS~A7tGNm&AJTDqO}p?xM~2_}1on zA!*qK6_f9lDOvb?9C?0K_hptm^6$>7Eu_Y`=tz1(H-Cmg1d%P|+QhU}@={kJ5r0_9 z5dnj5Z3^Ou<(10!Y(y)Ke+0$HsM{?D&m6Gkkkf|7jP{IR5GAafhIuP#ij?YB2T*%VK|L-+DSA|lwZxV9%WB$yR6@y zGTBNWGi3cqzC2`1Tz;r$S!gradEm&S4)8Ee1f_9+hz`D?QmBWn_Us%=-@bdR{n~g0 zCOu4JFzgqe#7iO|(2H~$IvHlqrIfgJU-7q%qA*J4c?U}k{TLBxsAa4nbD1LD>9Gp=-7w)7a3Fp$})RgVZtW2&( z@AM?syHOqzMO{6Wx>7d`SY4@{ImG5ENzl;nDExvgy^>tS|Tc0wZH1dk9H zOnPhzlMRQ%A^^z_-%&x4Z@vel^#dW6={9fLXSpiJcjq)zIrS%481@wKK1vi$zsq_p zBOD+1Gj*Md+j3?2&uCKOlHf!Q-BNxbYssJhC>NUca}rEJEiLD?zRZam?_uHbMTbd_ zX|a-sxpQ;Bb+OpXinzGeT@z=R!TIsJRt zg^nOJ0fB{U74}A46!%~-BHw4-2g(ygWkP~nP6+<4IObH?K$m!xmfCW*cZh~@kh<>X zt85x435MxtNcoSKA*DCkXlaw&@rrnvJ%cF0SWytgj^%Y(cWQyN)|O{I*hjP^7AO}o z&C*v1xha}m7s7pb6nDEl9)JasLloCa*KFB;6ZT&F`IbagS$bn*YKnx=SMsZVWpuC+ zDzM5WTeh!%?1dJ>Qq+;(BN=G)vbkECkNeG(@EMf=B{;8C^y02KTTp9TlS?spW07`- z#b#X?D!3l|1<3_GAOo2(5*F0l<(CHXVO9(-pHURRq@u~(fw!dYau{l(OZ|qRnsGX+ zxgaeA(eFUz;6Y7S{mp2mC9*i3mcrL-e6Mx}Ko+BXqvyDw1q+FFUcv40yws6S%`{Q5 zTY(JDobk_ zj$n-%Oii=|QI1-R;*G9v{Hdy|0oGPh{&VMU(CBju;w=*VS<x?f@rQDlgjI9JYMi~lO=zd^aow`y6c3`=@^Yp+bdx|6ur z313(*NMWs9*;dt1%d2m0?z`|v#1G1Du5}&1VS(U-1ewXVli{8kf@YqB-l{;W*%Wxs z5~BU@`R&$K>4X#Bgf=v{yxc$1j_FZ_0FUE@{Evef`d=AIVgpg!A$M-+w`a!j+`sP# zjH9Ht1L|i|!nzj7gr$f2SHC20kuBDOzr(pB2=9p|dm6O8Djgk0I~C0~GL9gkiTYv2BSC z0#-6>^WkH-;rUm&UmD5qK`dWdQ0G*Vur+^tbcrA;O;U{HFzvvOl&D6ePyd z>CF?qgA#>&>~T8Esx-7{QoEU?1q}KyRh_&a_wOgi8!9QL z=U33cN>PZi(2b;R8KOR0Y+X)KC{V`I`|dZOqu3xEN@en(Cd%*X^Pm&c6I)cn9Ufww80C)5{0wiNS}7(ZTFnrq3(vgivbk;c zm=q*3@#>(Xdpwk!(6i!OluGsrZ`wms^UPavK%=eFnSuT3 zk@tu0J7aLWr!ezODX4Liw4L1~dp84Fqr#g#4Df?=Whr#K!d^N*CrltmL5EBP6pJNo z_#`|i5~^^k3kYdt3UTEV69UfBvp&FvD7Bq$Y<_*cVWkzmTkrS?Hrsf^wKQXIe|yC! zQKkFRey?D|=xx5DV9?0J7qx5*H;ZiZhxw_x#@Vl#TAS4#xdq>Zk)Rc$v}91CdD+?Vea zoRlk1f5^oJLBKd-15$j`@pwaB1Bi;UUen1AyL;8A`$d?vIOz7*JfVLIlq$*huTX*A zyB!;JKs8MSfSyhkn?9i>h<*FBqdN|ADQZp$ja}G?+ zwg&J8EnkQSK*|jcsAL|Y7n&6^UJNzJ>EG;-dW#YS{x>EYE}7rIYlQ2xPoOOvrTUn?CzQaw1YTiqtV~^NCV_i6pphZV!EpK3)|{5o+v{S$s&-Op3ffZh zWo!r;W`WU}yrV*Pwh@%pe-Ebj;DC_Og+Liuw08sC-Jh_Rni(z2x%fr}@pLSuL;S?z zG|^|$=1i+{WcWH|WcPApO(?}6PX0z&pNf+b6%kP9Nu8>^uG&xOuEN9d9u>CuJzVj~ zf~fyS*_}eMIN} zir+5D?vFQ{CBJF0|GNV7#F9Nn70Q?za|!E-^yirZgVt@-HDRm~PH%3^SkNYNbiWg~ z16cgqzx6Cnrw>nzb=htB(gTWHD`cC;XQgGXt{xN&&AESE_c=7L5j!Z|m-+Obd$p1J~Gy zXRC=J>?JVy?MTOTYXp@Aq8`*OPy0haNVmfT&PyDs2=}y z+Zj>@Cdx0quY?4#MKYkYOgIyPJY3ST&eUN>8n`?IcXD+O`V&etJZA# z)i`gu`fml&o=IT|O(E0s`S$*NUSAZG+HJ5iG0xY2#_xRO`Zu3U;fZ_~`B$`G$g`6d zzQz4cB{AU(1@o!T(`yZNEr2USHLSAuF95I^QclbLx~8|Iq*Kk_yi^n7aeNjt(RX1X zh8b-c6d<`&(1;cl&Cc}Ku zS!ifhOB}(Vjma(-;JypgT=2=+k@;}^w^ceDW}n3v)882Y)p#9!*jmY~p|1uU^R_bl6 z{Q~WWO*#?F3c-i*nGkMP-4`JITi-gDpRNsRHh(n3{wDhj$Q%&Wc3iYa0&BeFDE^`$ zLE-y7S4(ml&5+$*08xPl2aWt9dHOw7tf^#OLwSpv3_5D){s-jaY4h1Wuz!U??_IvS zf^JSo`?}7~Hk->XJKit(EZt56=xrON@U@gx z!>Bb@!!_C;wJd|Y)H-n|?rH&_Eeo~4o%az9KL`}0-X7n1UC~xs zl#GX7b=djR)D$CXDZhoIxx2Yb3h?;o3-~-V4wfH{r>1KE(jvHm>qB+*LAe=t8`6k`&fk_N?^S! zsl@r9<`%AYlE|+oj!#_+24CpVuh;XL^n!|sJAO*RSc1EA9=KEaqQT4QOL@)L^z+5w zl*a{Ix_LaGhp!Yhie8GS7nvBYLr{SC>41mDXbU|mn?F%%%a zA|R7u!e_@DRev`qW%$)QEH=E1|C0v%Ap|*ZiqRl(g`Xg3gvD%uH!=fKAPz~DIKx{Q z?W+UXc9jnVf?0xHO3$_ctP8(>N-?O0i>`b(sXOhZ&gJN&JY%CrBI|h+r`i5Qb^~}c zlmK3rfM1;&7~m2gnYEK6W?^Fa&#A(HFQ4iWEA)%hg0~yqU>(qXdz45@(a04lanUuT zt3wEsh!zyGg=zQsASx}4`U5>u)z?}$qNt-Lb$p0d5JHT?`A{S|-`7ufxSs(h&;$4H zb1uk-t(g*{qr;P0di=aAj%Pi@Q&LaWG^@MD^<41sS0Ap!O8RxhQ|}6>n_2eWnL{ly zsRHKt^7v6Hb{&%Ct}u}5WAZGK z>1bdhjY}s5nL^$82rU?-n|)O12y^q$zu^D{vz!{R_b-AM^--U%EjfqY?i3bsa~kVR zXZsFmXtc06jY+*Az2f5&L=g_RRM!>;Xux`;{>=>V#+W7f68FO0QhdtX1vBSVo;H&f ze_p~%FX0IMw&?j&)C(&ad+s};MSG)uOt~Hz4K7}XC;9FYu{FETQS-mD4bQ|FU3a*Q z)F$RLL55~=4r!=4L*5fFD90pi4PY{6g=tECZE zM!wY@2=1ELa3#dNncc+eDTVgS1c>*hQ}EGCG(X#zQ%qOF0xss`DXA&r>8UBb_-4c4 zue)>XNp4Th7)r}QITO7FB}+UL!1OyzaZH<+ggC1*UxCPfGQD~HQHSQd7Oq+x!eGE( zh0AH1u*~up?eHLYDKRA9PW1!=ERt$F6wlxGvy;TugZaL_qO8L0)XN%OobM01f6xB* zam73)$ib^w#_NWx=qZSzW+KjuGXB<(=P}5n2~# zyk3oX4#|gzNS#zW>DKfA1FHjp|}e8cgbtHI_yz1*u^6W8Fh=D3@JR zDnpOX2TH4+Gs5BDLCWs^XCC(y*s^Wy_@}oaGX1QuLul9#Ia`R0wKDrv!-;Y%b=A{NcbU(pGL(Q7!wJ6oNa&5`I#$ zO_E5CJsuuL`B)zj3HLX+-c4?MJa53|sURte?NA(}gHv;>277!_ULqwR*FX5g4mXhJ z=PNvy+vu2Cs{y%51XvuEQpT5t7()kldrvfSAed~ICA@peL#a#|idESJ{X6JlieAxQ zy19LX*4i($TqM+YVmQBd+hZqB*)Uq3`2E-Is7oVs9Ywf9MYi`>GJDoaTms(-3gBsw zCnJHRyYw|FdDTt(a$1B3A!Qb#+3XvdA`&;eG%G zG;je@#F7}YerHx_s-B*`4v2mZN*eB0!t6nP4yo0+UUaU;I^;UBFbEVd4E_W4XZK@V z2#YDf@R=YlAXd^y+L*;y+%8s2LjjbSbQjeJJ zL~&t4M=&e^ZEqZzgTlx<6Yw`Kj@=mmz%PM{hS&7Q-hA=mo|Ehf5lykWDaT;(5TnIk z@ro^6iEyRL38IsLp`*i#T-zA9yMMfpIx;uBV#bzB0aCcj*&kE-x4Bn>EuZ464pFg< z&Hn5GYVOx7Fp%zy;v&F}Y()Hy{T^rrn$Bd1ukeu}k*L0sN#{(iv!WDD-dK&jF(y;t zx@Fotq^I&vk%}*68?uoB{@bH5UQNbz-$k5n(5u^e4s(yy*MF;L8VW^&lD5L>DTq_-1jB#VkirRGzryDlcD3)!Jz6d$JO6 z6}E$FQ&t|YWF1^yHGwl_d201*W%cQTdx$HH@d1|6+;e6^e-haZB2wq5m?JW>)tx7I zAwU%3S-yhyEq@ZP6;&EEI-u;HnjF;d>a z8=f~dA5G<-8X+dJV(r%+<_Ng3s(SSBjSjz4z70VYO{h8zv;gr@5m4uqw6P2}&pY;? zj#A$=TB_mI2BKNTVD%RT?y@!JcaoDW44!$+1>Si{D3^f)LsTgYxM|0m+xAQ6j!DOH zNu05sd1C2-35l7bvOhwWuLM|!{yb(65@D#xEzY@x#=AQsB=yRB`Y&qURkl^XI!+OW zG1&Mlsfx{u(R>!4B*gR>-eLiQSYEYMC?eVJi;}&+$Ye+hQ25s~NRPzA>G_~RZNN27g`D|%soF<)j_WO`nc{|8jAhO! z_AWn#%vHIBdl(|0Zz=mAaBQ8dkzRR20L)=v5=BVDy^yEa{!wzB{Z_jx4~L~}|Jw_& zK1NF+xXS=y46_jaW1zm>uT6^05kFX|5WGcX7hIpit8RUOch_1{PPKqsr)1ZMRsV!V zQ&-OBU{SAuH51uoVc!4+ljpM>DaT8F@tpsvs>K;!FKXE#f+hSf%!Wco9gcerOx(rN zyb%AAD4d`clJU35MgSRdhnsOR!c`6Bx%sK!gIkrGQz;z_VR|)`jIFTQMeDK3i)KqH z$Pq}Q)+R`|-)8SZKI?t|uPvBBEaw~Sqh*{|WQP|yS}**;HMlf#pw!3a3uLJzS)Dzl z_cdb8Xc*WIdp|;{>v}Oow*9yKAP6NCbUXqg0>2+6(i3SOn@b7FmVQV(g~i`ie{U*^ zG!BlZ#AGilk9|&!jiH96nwdbYrF+|Hv^hAAvuE ztD^da>$U!-*ctDqETMsV=Ri{mwj!^@_w&~q)k493 zG~jm^<;7XQr^#IZE=#A8!IzkB_px>N;Gmd@pALI?Tq@<^Cb*D{El_xz)ShZbTYnKZ zT0phPF^d>QRrg5{CK*h}44w{LoX?l$&H6}h^`6Le|G*09H32#~)4KB*&qqJNe!)Dm z=iE*=2o5qUt1XO7?BSpLlPp!Tk9r>8za8LEL|ye1K#SdS`vsrb?pw)$wgN(24B7x% z>gO#5=6&H|*ktUmWC>!WfJ3BTP*;?dDlo zFWODFj!2-#S!Epdl5S6YK99=qs*<)Ci zW3}PN>L^2)Fgv}jJ3)&;hZk!N=i(~E;Pt8?0CFcUVcvleSV@}XW|S@E*;2ZZ_V8GY z4Ai%a39c1&%LD0AX%#>1sz0BX)7U)Rdhs$>wWO%>5er&4BW7rth_ohPVKV82_$t80 zZdK#&#uVv>>Y2xwkjaSYKqLv7L9j_4wkHo2H$TJb$oK}T_c=+Z=VT?e0`&AnQHa^L z<-$YP{E>FTwPQENadMorMmQ_vN|ajNu|!`aItP=TgaWNJ<*6X+$tQ}|qmcW*p~EYH zy$T{MtEsir4KFi&tJ+t!uN^o+krv9B){&Ol=lQxDHJ1t=fy5k`Fs){i9I}oQ;e)oUv@(u1AzYp%_ig8f!&)Y3^ zGPVCLPRZ0}Xp2STQsS7mL2x#$obFi(wAk6(3C$x*&EO(1{qXa9GkvyEVBy(4?We7x z&y;GCGh3*9;xpgR{El^43Fz%{CBw{9Pmq`h5990CI=`r>46dRURD*AbezH=`*@%mv z;BF3HUNw!6Z<}XdNQE*ngpI_RDkton!$ckPh?b9!>t!W6jw~rH$hP=1h6;L}_z?1|l}#IAo3{P`INlV1Z6&Rv_yaeMp1 z@jUDsZ640q4$pQKz}@v-uE+X&VLt%0WNG!$ul@pss5u(LqurbA0})jVT_3R9`1#UdVk``gLehy z$zFshMJ7HMGB0ZMcBz#kR6x(#1;4rM!w}Tu9kE~zFy;UmHvq~_P%PxO2Z;9cw=Q$l zs`T$~v*LzO3#k9%lBP3PIo?Z-RY*s5?_gzH9=xklf)ytdyv5w3~N3|EhiH z-=T98sn_KEsL9L%@$z7+2eF%2t-embPQOT@9jar>mn@*Zhy$ddKL8GIj0wEVmeBty z%NcNqI95Dk%+|2Cdk!|}$ox-Xrt?jLhrSIguI{=FaCCpC@G6g8_k)Er>JTIqmiT+o`hXXJ`CpbNCjRl&d4!ZHsg_BsdO;r#BQdwJpv}J0`u&es5<(PeI@~Ef@?TN{dy2|bh0|YYK{l+_)FIl& zMu`(XXv~#OPVqAAJQ{V2$8_`B+Z_D^Z1&Otv~VYhMl(56M@8=FAC6tHtWYP!JbQtB`Xk&0DGprLWJ4g2^KQuqF4{ z>N0{sqzyo`H!$N>5=37>Xg`ej9L5AXBlP?I?@-vL9jn;EYOLH~rl_GvXTqc-0elwi zSEgE_tfVe2TvtRt>>nZrY9`70DN_UN(1-ysGoi=_o;}W1{AlGkv{sPx&T6MVi0kMcl>9WH4Mp+9HX**dBJ%Qa;7axn7C^=~fO%Ojl+;qPijot#?D! zwylursb?gaT)7#ol%0e?#&w4r_xw+nerA!3V#Spg!*}PpWcQ?ZiUM|25pm(EceuE# zjNIS%aqEf`YyB%qUTfK4J)7)?*4PoU1h4I75|KMNz$yBZ&VKUNngChGvlc zW`T}RgSi%ErmCOdvO#Hak6&>w`Cj)m&d&Ly!ebDadyoV&Fv>aQo#?MVs$5)*<9?<; zfo38^rxqoul}EIAtizjsd*O8EMIHZiYI^E`fe7(|O5}wRu}xpk zb($vsD~HEt1xG^YO9%0;VTA*h0$2`` zphzpEHpx$J(aIT_%LiLh&9U~ELDc&if*Ja8%A?$+6r*8Y+Y>*8Q`LA<%0MFq(6a@# z++H_DIWv(icilp`QOJ0BA@p7BO`7bo&|R!aRaY3!e%<_e6naVT6oM;1SIEG)Q|05{f3%rwCIxR23Ju|>@EJi z@v5?dtpWK7Y_$9&G{R)aq{2^a^Lb&enCtNypYnD<9WYI zMLy;d93WtqMQZtmwWe4M1}v>1qOg^265$^uy$N+v|7&{CZd+X|O*S(VHIGMBM|gfw zBRuXx=C@cFtVenmx*=(%p;ecjZ4790a=xGNb3H?^7%{wLucZ%=9l=H5@L ztO}%_cAHs)+I}{H&h;T2zoryH9Z^k;u;y`G?KW^>M3e8+UCi#tx{cJ!&_WK z1|fUTiaZ8Q&y<07J{u(>u72*e{HYPF4lvHLv2mTP5*Y~PYntj}YK`TnXmaxz9&RS@ zk#6!7UbnfJ{ZHsZ@!D_!lIYn?U7nOHfy!o0TCJ|sopsc^avkZLd&|xQ+!qcg4FjRdCRs#&AVAoG|g4!CjREs|`+z#i}BXQEJEDCJ4v0(L%)f zdf-!0T&BODnQsYTbTQz2S$xnEYAB~xd){F5I!yUpQ-rPSvq?H@y1>LLT}FzzdlVFo z8-Gl4669x{|@~Cu|DcGFMFDz(9k6D41N*gw0KQ#opLIs8kTD z^hK+&`|?`8V+Ulul%y6Hh0gJ`URluN?Td}#EYO_=-sZXOLAiC!OaakApKO6uwPNdt zrSE}dUoM}9-*YX(wC9|OSf)k!Iv|QKkqXU)ZN_W zFYKKDa`!s0GcnJrYCvfQR>+OY>nJ`EJ>06Y8pecOE8>Kkytd<0 z|9b9!WGz-kE2&J=0liDnrdBRhbg8uTN4;s6SlaVQ=O)wM>wcOfidj11a4h`1EsI46H_H<%(!{=6R`XLQ& z9`j$(*fsTKjN!8X@L5JW4psgpU~RA7_|j{03hdnJeZ6o?PCUfa9UPDQOsc{r#c893 zghNn{1@)Z}drz_vS&L~kkM;argNI0M!_l#Z&fki(8s|oCnLb=tel81SeWBLhRI?S! zpYKx_fK0F??6Ct7!9I6)CcQn?|2*mbz^KKwPlHE>(DQAB4c=hJ`r;_T$Iq=(5LDLu zj7k1dNwB5;yMwG}pY5>t*Ck_Rm8=wyNFh>fH`8foepVnYIqtvNVU{mf$m)#60pDMZ zjGYnIR=tN>Qi8X2sSSc}H*Ag65_y_D?i4q`a8M=!8DB{eS{RWEn!|Qr0YP8KoY{qj zl5D}@uFgr|S5B;Qw+f-0=6Ks!u7z+V!QS-mQ44iU1=p&qbB9JZN1WZ7j-mrv?GgY zpS|fj<7lDfoTI0L&-4fV);Z%+ww~a93AMhot?jURbeSA);Bq^p-JzmUQGgmU8w?5$DtqgPaT0(qpv>$irZ(w|xHwM~%Y;l)r4lR)lE4s6WNKuNQ<@_-qyD3BW^8oskL@0Vg-kj zC(oX?w>ctHGs(i0Oa@)vBk9U*5KG;fTjK)*rPM~mDi~}F!nf>Ot>HSp^DHG_9hy zb=(5lp5Z^~B?)KZy53BncaQDvEm{+sa>Vj|&94f7L>Be1FaG%GhnlDyUd*?U`4KWz z>^hCZGe40yrdqjP7PV-F-;XcBQfCswdUtL`F#X8$*;^9ZuA-f&6-YJ?X?~8e{KfoZ z1e1cV5@Tx%(S+JphuT~3cQBgnoV|`5Kf$*{S+Lc@M#il$ld5pU%M5!+U0uv;VNuxI z7Ex4ACv-Ydd2$1oY3h*@B|(Mt8~bF(JC6~>6-q#B>@Q}$#tZDaKB4yP^&%3>cL)&Z z+3W;>m#_EcTk_`@W6)et5}`I{?5`Q6&a{NFDtp;ol1p$l9%?hFwGw{X#BlH3SzqSo z|7*A+_oT)nxGEo-k(DxX6FxjqL^>)-IwQBe9yR)899r)|rzoKQBH`cg<%5x;doYr_ zyLi>~mvrj-n*p9$n!R`72p#5>Mlg3YE~Rd1Obitds24QaLC3Z=O$L>tG~JQ5s(LTy zzK-N>E$M`BEAZ6H(+_WV(=Y;6w*UUV-H^-CATcFL@Q5ACCC|d8e-6~KXB2X)RPAGE zoe5!#SwDc8#M#uu5*NohB7-g@mO!H_iFDJj;^Kb1Ylopq8dBo&v^<+S>0YV{+VGuT z?d3+{eLA_`Y?rT2ZoQ*PA$!Cz8$6SFo}z1<9u4J$GNA11Ph&kPihokeYDBXN@J7fR z{Uvr-P?_@FzlQM4aokOFf!q!*TiKo=4}ZUY(s>5uzbRjgXhocU1K zE;d0Bf7mP2uT}5NphQyfw%lobc{x8}iyG%Ku%D(c1t(y}2B)9NTK*~4d$Rgs2Uqn- zu3_W311gnCk`B7sPD$GsQQJo3Q9%!{S8X^DW}fkVGZ$yP{+XKmr}B4yR`>>r?AS_` zR@IsHMU%DTVi&hmlRl+945HH=TG$# zyEeX#a;eG^9LT4^nYr+x#I-rZR-3KNgvZt;0zTiNu5fD%#tf8SpD+#9Ingy=4Ayr; zaUc5g?N6m%BTb7@rKEl^zVKkKx?x>tuPP1^)}}RbMF3pa4V30ae+z%pF{>6{F2g1n z(3xl7;~Kb84*?-Q#LM z;dRE;eMLU3(BpsA)3tA?m3H`&?-TkCD-`9pq7>1Mm>v+%6#G*f8k@jkRb{hoXVUA? zapn3fI9U$}@_Jybo4j_dE7mul1u;c7a>IP??dUDrRE9hS>60iFdRa{%#_0%*ww{Q} z%Y(pBZ%Ur9ALmJW{6$&8QKL42h1qrLI;QZEyw84b+U!x(3e!yC-=yDl$Q@tcbev%y zyh+oC4h`}QTL+JbpIy|HyB~tCOZ?bW(j8+wM}(I<`^U$F1L_BV_bwI09oL9-%~X%m zPuzw^7x#?+OX_g{sG-ZAl3-fLgJ8u6drKZKKJ!9b?dyW!k>;lMS+_VA8bU2K?>1q8 zsY+Q=aeBBmCOf*@Fjgo&LK)oSy-ZAT4fKmS5q@71)NOR&mAm;&7tz~8c4}UcPf3Df z3LXE3N{>d0qbq(4QkeFHTI&Z(G^V8wscQEvH&?iJ7|DDnGWlN}sEi6bE+c`j|`SLuMgj|gs26p7-ly4im$%;~KO)#A@_#Iq^7MY2+ABG$G^ zmDx*rVl03;^!PEdnLcjzXni=Ix6#tjCX~EEr zYA-4;sj|#A-@I6r#5iI3xl6NZx55b(OlRKWrH96z=0rL~$wY-NoM6MKGK%DcrK2Anx121HUKW8L6UObaxW_o|u%6L@1vYUBk z3Md_(#t6c-EtBrS9Vf zmR^PAK}**BCf;wAiXU#($S_5@rAq0sO)vo}8fK3@`W;2*QS$zVn180l1@H~iwG`b2 z(6dzCb;rx?k~Jw4a#1H6y**E2!aR>MG6!nS#CU29I3n)VEU8{Htb7WYMSqFqxFceC zNci3B+*p2a{^C|Z(`rM4>YtNu4z1J|2g{$uMPvVc!VB8AW4LwuQibqo+@>m8BgI^sTp3%2 z(q4>c!hyTT$=FYkNs4ZyiC`}sW>8I1>R$^bN_o}vbE6!&M|Zj;a}_Dju5K{1WU&5L zp=swxw&AAEZI(18pfp{g=z(y%ah?7sQ}xm8%225<0?C=fV(^BcB~()+vRqvker3(<+RAGbA}6ZpD3qSux4W*+7ld-=yH&3YY%RdA6 z%qETVb;T>BfL~TgXK%V6&yM~gpW-o<;P;Y#@8<+59L(V7YtF+Iab6|*PN#eb#-|GS z{__QF9rfKup@DT~XpWQONQTHd_>_zz>`sZ7J>wlvL-)N!{bM7f9xjje|xKvJGtI2#q;utdJm$lE$DX9?0wWu&G7{EY1V3F zy2IG+-8%wv$U6dhmG-j7M_B9BG{w?mVreUm{%%vlX^HnJTb(MkM$yCLx5+knJTDh8 z<>ejEwlr}U4O$?>`ij8DdCe5GKT-h(jYSsN4AA0~?T{T*m3C7;k`iRT5I#wgQW;^} zhHNtPv!iyZMJ~)RL@*DPTyCjgKB$AKev1*6vX&{o;Y>%qEru2;<6J z*E_n9m^`9huoqPWxw2t?Gdtil-r0VN=6j{X2=O((Czb z4`lV41;SuI_K(IU=!FhP5Yn5^(e`=#pbc(FCMNvWpx!3$nSfvgeFx#!({IK zJ51UhEH_qeQXmI}t7IXZT2xPc`_NkU+8?Y{U2r+5Bt`^L^AV8?=9A!{F}0Tf2BS&4 zKa6cm_th0hF8E~U-aiEi1KnupF^Q`B*bDS#&ga(9K6*Nx9yCYt#SdSL)L8Oc+^F_?W~tOTGB~QZZ&4 z)ktFGvVo(YGYhj|rcFj$%a`{E8Y6QDZP`J?hyW&X-U$6L!p3w#vU5WCpv~G*Pj3VJ zwd6q2oj-WzP>wD3yOOlr3`{_6=Vj*eEjMsF6l?B!_x2WT%s!Lm{!YU5-+Zwf+A3DA zAKD<$&XbYVmh%P4LwQ|Dd8&%QTFnATqPR+mmZv-6+XgZbl=`U0XQB&+aXBr^$yV?H zHW{0S|2OORe~&+l(W}F1XjXXtu!^#`+X~JCl#(5yl#}1A%%R2lscZ#ZNebBPGDh}j zig_tci3ZyLI#VXV$`m^~ULHBPA{10@3At5`h!-?vQVc|{%Lh;G;E!_N1=E-ag~zRn z_Ny;u<8}Q?E>^LHsJj%SPV(!by>c;jwoV;#qDb5-&Y zpzcSoVLOe9qvxA&-xYZ;s>$-PhoQCO`IEo>Sy}w>^qM?lMd|rwYi&oo8P|1{LbEoC z-gmKFA#wY?`b$RW?<`$5VrTIR1H_f2@TPW^LqO=_A_dZqYNiwuZAG!H0!b~b}k zG}D5?86s~_lS-zF=B;~gv6C>_TB3_zei?W{b0k0u>Tb58{yOJ?qA%cpCRJjxm-PDR zAyZIB_z>#&xW}-#xl~;oq=3uO2IkGmJ{P5}PTvjKILqD?%!{%E0R;ikRq#QP?) zhb{75b)5;dYx`yLVp;bh)8mrD`mEh{dM9(^dqfU9)@Ch{J~HzD0)*a;9l9N ztQb?Us0?at?!40u#xerZTm;`pdctH>V|;2wJ*vfjJRtYZz z8Yzl+y*{4vDv*G^Vin!6`yj$CYQo6jeJWaDe;)&%=pxKwI9h_FftPBOO#<<*1dkQh zM#u-}+IVstFx zv^vGyi535g^Nvc4Nkjw-{QgZVu=GvMmxKT;*L!Chu!VeV_sK`!RQmmGhtUJWi-d zVZ<=*`VUTk{7nFwHLliLjMjYb^R{JeOm{4)M4cHMJ8jBI0DF+v@h}Q5CV=PT56_wJ zv5!Z8e^rxqmu1B`7e}hZ0;P;Du7=3^ZKNfWG{GVg{kaNxL;{?En(q*K?hQW)QpTxZ zd&esbzndjXQpuE|?KT`JxTvCT*Jb%DK1IyDt~|u)n975rSZC1~Ul;Ji!Xs4N5*J{4c_k&@9~9{FV!|dm;o@+z70J z+xcTEA2sa{Ob2{wWfo#-x(iWIZLuB7YPW3wFm9j(z?cOwzuXd91~?eEm}QY9$a=@_ zb9L!R_l~t{rDewL$9V_oBf0aBBJ-NZ1i{P0uqn2Aq^k>~~RVkL4XmiENzMxFEx@}nz@cIm}FozzJOySN7V#Q`Gv>Xf! zfX~%4yOVJL)^~(cDLVZxK$PqtTlTK-qazPpJO9P&rrP(fs4w52;rm~l8j*%hU~wAg z0L)mOcWh+Grz)sqmRvg9I}}RbB2;L~q27833`(mHs`|rQUst5Sfal%0pe&L~THNAo zk!f5~lNK{1Bn|(IF|RU-3e2K)gKMr!JNYzRez&uQa6d4&NCxxvgS02P`wLMff*F8L z#t?LxOqFetgl6aoM6wDric1pLoV|~x14aBY@WwqpBs}?}zeU)>KfbnZ`&c0q z{2I;6<{d6D@eESuSey_W4s$dVylH1a`@`spuOLwbKTg|xUWHN6u`XR}QqgBfRaUJ{ z^;lh=-0n{Vn87fUsdt7Ct~k*3B+x4N)=M#)|ReGWtZbDF^ zY;~8SjL||6J%Ed>Wl#F&>#+O9xyVVCd`hn$vUYejq0qV2Bf|j}BwC39pi*Z0Z)SEM z9kj&m*tSCGdUFfK_Jij&)*mNoA5kzTkO+j&k0L)5{HOR&Ovfj}w%P;cQGQIYizq$( zK@1C=r{31%c& zRUa^Z@1u&X%nD-O&py=>W#n4`z=8^i`(eI(AK*noJk9^}(mQM7tkv}=Og=jz@hq~e z3|qu(o%3c<+1cf`L4~kN!#{K{MN{m^1}sl;*;KaT^2+ZE4J4dcqmY|meE*3;ea$dP zMCB#`;`2C%NzAvQ-hZ;yW%gIY05%47ABy<1naAf+?blwu)=8ZvOadF2 z+*5*ZLGQUF@g_BZJ-{JS$Jq@A-Org~yDF^nR>%wNJfgqNUu|pBQ(|xtMnt@)# z90e`kV;mXvm(1*-RS4pH>if#rmUcGi1KkY3pKD}V}|#wb_Ry| ziV+Gu52|_DzrR9%Nf1f&hbCYbJ^FhhPMtJxsFR)I)VsR#x)Q6J2`3CwPa@4~*^|-Z z`Cm+y00?e|`3$!KRWNsNS3FAO^1=@VBv5*3MJ=OvUTcO*^&iS1{BWeBP$2tFM+D1D zZ;Bc`(bY7zaT`k8L{(E*P(GV`9I#xiyH3qx$rg|aaK9C>3st8l56blKz7{*Z#335K z4LDt(|D#|3sgb^4?5`Av+;GygAK8n4g;mj!l#q8Fso1Y|*f%amt-ca-q8XLn4qF&n zHo=FLI0Tp(b%;zOQ}j;3Qt}ktp3D*npLwT#<$zj6!liYRneX&eGwR_ZJ7_5fSL|Js z=?g&^o+b$}eD4H!Es+A!m(yqTa@`*Jwn~i}5R7r_JW`a*ngq4kuAsbIWnuYz=Hx$f zXb*@F*!kPVjd*g1+c-f5 zcylgyA-bQ3VTVquRQ{4Tea7%QQedD2i=25o2$3=Lnr(JiC~Pts=NkbEF~QcBmuCqm zDKQf0sCmLZ%^{w{``7>9!v%t5z;Ew^JxK((a@Tfn!U^2we?L;v0M`CX*tjI%?e)O| z=HK-H3;MJEw+i?%DH&MEHLzO<@ek0Ui$;qMtwyn7mVTIYDbN?V0mh2SKhn!zsZR-( zxlyH{gC9k_doM~m@EmtKBIQZ`&-wqRG7nhCSzW{8@bQ0oY z?yXyFW(5TUsgM(i9fLMXj|oz@?o&8W+HT6uT`Xv}9d(XxTEY}KQ!(MookVU1w7>I^Te;Zb`fG(qMxLp-- zzP*gp(MEG{K$BrpO0$h?b_2Ctp8p_x^uQK^rcvVQw*MP5aMfL}n$)Petgk-dapLca zEyJ=B?~(V{;#(?^Uj)R+nPYepB0Xx^p7@p31oGLHXP(^(!J4!a+zAjNLsST}m_V3_b+$FqRv{JjyQ7_};s~j?kHoUE94wK=^kNsXGpF0x<#7GPgz( zjKfZ;ZvE*{l~XXK@KH8F)!n4LW-o~6#;14c?@y#iOJHaJ=IMnYMK2UJ{g)!LxXF%0 zc7ORlNmd3pAJa<&Y;lDYii}J1EJE-V#lz&gEgnM*E+Q;;h* z!8el};!Ecvd_^_={LDMQ6c9yz&n9;8mAj7k%it6vP$NqNV z576}&)|k9u^nz%2aF{2CVox+lK%|KOrwJAJYykwv)6nFeuSnA`mqa7}ISRcPKR&{r zU;G)V zsMNO$u@4_VfB!$=31Nc;uyFP2tkLOz7lNS6IApsnLqbr%HfS=bQf>QrES)x TH7H{5fRDViid3D1X~_QrF&a_O diff --git a/tests/playwright/project_electron_param.ts b/tests/playwright/project_electron_param.ts new file mode 100644 index 000000000..f5ddde55d --- /dev/null +++ b/tests/playwright/project_electron_param.ts @@ -0,0 +1,63 @@ +// Allows to define an electron project and use this param +// See https://playwright.dev/docs/test-parameterize#parameterized-projects +import { test as test_base } from '@playwright/test'; +import { _electron as electron } from 'playwright'; + +const electron_app_entry_point_path = 'build/Kappapp/resources/app/main.js'; +const electron_exe_path = 'build/Kappapp/kappapp'; + +export type TestOptions = { + run_in_electron: boolean; +} + +export const RUN_DOWNLOADS_IN_ELECTRON = false; + +// Note: for adding features https://playwright.dev/docs/api/class-test#test-extend +export const test = test_base.extend({ + // Define an option and provide a default value. + // We can later override it in the config. + run_in_electron: [false, { option: true }], + + // setup electron page if necessary + page: async ({ page, run_in_electron }, use) => { + if (run_in_electron) { + // TODO: check this: probably need to setup this as a fixture ? + console.info("Setting up electron app"); + const electronApp = await electron.launch({ + args: [ + "--ignore-gpu-blacklist", + // "--enable-logging", + electron_app_entry_point_path + ], + executablePath: electron_exe_path + }); + + // TODO: remove? + // Evaluation expression in the Electron context. + const appPath = await electronApp.evaluate(async ({ app }) => { + // This runs in the main Electron process, parameter here is always + // the result of the require('electron') in the main app script. + return app.getAppPath(); + }); + console.log("App path: ", appPath); + + const window = await electronApp.firstWindow(); + // Direct Electron console to Node terminal. + window.on('console', console.log); + + console.log(await window.title()); + + // TODO: add this to a fixture to close the app + // await electronApp.close(); + + await use(window); + window + } else { + // TODO: check if useful + await use(page); + page + } + }, +}); + +// TODO: fixture for launching electron if selected, and setting up page ? YES diff --git a/tests/playwright/refs/influences.json b/tests/playwright/refs/influences.json index e17688fec..cb8ab0bd7 100644 --- a/tests/playwright/refs/influences.json +++ b/tests/playwright/refs/influences.json @@ -1 +1 @@ -{"influence map":{"accuracy":"high","map":{"nodes":[{"rule":{"id":0,"label":"a.b","ast":"A(x[./1]), B(x[./1]) ","location":{"val":null,"loc":{"file":"abc.ka","bline":9,"bchr":0,"echr":37}},"direction":"direct","hidden":"false"}},{"rule":{"id":1,"label":"a..b","ast":"A(x[1/.]), B(x[1/.]) ","location":{"val":null,"loc":{"file":"abc.ka","bline":10,"bchr":0,"echr":39}},"direction":"direct","hidden":"false"}},{"rule":{"id":2,"label":"ab.c","ast":"A(x[_] c[./2]), C(x1{u}[./2]) ","location":{"val":null,"loc":{"file":"abc.ka","bline":11,"bchr":0,"echr":47}},"direction":"direct","hidden":"false"}},{"rule":{"id":3,"label":"mod x1","ast":"C(x1{u/p}[1/.]), A(c[1/.]) ","location":{"val":null,"loc":{"file":"abc.ka","bline":12,"bchr":0,"echr":47}},"direction":"direct","hidden":"false"}},{"rule":{"id":4,"label":"a.c","ast":"A(x[.] c[./1]), C(x1{p}[.] x2{u}[./1]) ","location":{"val":null,"loc":{"file":"abc.ka","bline":13,"bchr":0,"echr":55}},"direction":"direct","hidden":"false"}},{"rule":{"id":5,"label":"mod x2","ast":"A(x[.] c[1/.]), C(x1{p}[.] x2{u/p}[1/.]) ","location":{"val":null,"loc":{"file":"abc.ka","bline":14,"bchr":0,"echr":61}},"direction":"direct","hidden":"false"}},{"variable":{"id":0,"label":"on_rate","ast":"","location":{"val":null,"loc":{"file":"abc.ka","bline":17,"bchr":6,"echr":22}}}},{"variable":{"id":1,"label":"off_rate","ast":"","location":{"val":null,"loc":{"file":"abc.ka","bline":18,"bchr":6,"echr":20}}}},{"variable":{"id":2,"label":"mod_rate","ast":"","location":{"val":null,"loc":{"file":"abc.ka","bline":19,"bchr":6,"echr":18}}}},{"variable":{"id":3,"label":"AB","ast":"","location":{"val":null,"loc":{"file":"abc.ka","bline":20,"bchr":6,"echr":22}}}},{"variable":{"id":4,"label":"Cuu","ast":"","location":{"val":null,"loc":{"file":"abc.ka","bline":21,"bchr":6,"echr":28}}}},{"variable":{"id":5,"label":"Cpu","ast":"","location":{"val":null,"loc":{"file":"abc.ka","bline":22,"bchr":6,"echr":28}}}},{"variable":{"id":6,"label":"Cpp","ast":"","location":{"val":null,"loc":{"file":"abc.ka","bline":23,"bchr":6,"echr":28}}}}],"wake-up map":[{"source":{"rule":0},"target map":[{"target":{"rule":1},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":1}},{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"rule":2},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"variable":3},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]}]},{"source":{"rule":1},"target map":[{"target":{"rule":0},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":1}},{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"rule":4},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"rule":5},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]}]},{"source":{"rule":2},"target map":[{"target":{"rule":3},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":0}},{"RHS":{"direct":0},"LHS":{"direct":1}}]}]},{"source":{"rule":3},"target map":[{"target":{"rule":2},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":0}}]},{"target":{"rule":4},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":0}},{"RHS":{"direct":0},"LHS":{"direct":1}}]},{"target":{"rule":5},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":1}}]},{"target":{"variable":5},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"variable":6},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]}]},{"source":{"rule":4},"target map":[{"target":{"rule":5},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":1}},{"RHS":{"direct":0},"LHS":{"direct":0}}]}]},{"source":{"rule":5},"target map":[{"target":{"rule":4},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"variable":6},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":0}}]}]}],"inhibition map":[{"source":{"rule":0},"target map":[{"target":{"rule":4},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"rule":5},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]}]},{"source":{"rule":1},"target map":[{"target":{"rule":2},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"variable":3},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]}]},{"source":{"rule":3},"target map":[{"target":{"variable":4},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]}]},{"source":{"rule":5},"target map":[{"target":{"variable":5},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":0}}]}]}]}}} \ No newline at end of file +{"influence map":{"accuracy":"high","map":{"nodes":[{"rule":{"id":0,"label":"a.b","ast":"A(x[./1]), B(x[./1]) ","location":{"val":null,"loc":{"file":"model.ka","bline":9,"bchr":0,"echr":37}},"direction":"direct","hidden":"false"}},{"rule":{"id":1,"label":"a..b","ast":"A(x[1/.]), B(x[1/.]) ","location":{"val":null,"loc":{"file":"model.ka","bline":10,"bchr":0,"echr":39}},"direction":"direct","hidden":"false"}},{"rule":{"id":2,"label":"ab.c","ast":"A(x[_] c[./2]), C(x1{u}[./2]) ","location":{"val":null,"loc":{"file":"model.ka","bline":11,"bchr":0,"echr":47}},"direction":"direct","hidden":"false"}},{"rule":{"id":3,"label":"mod x1","ast":"C(x1{u/p}[1/.]), A(c[1/.]) ","location":{"val":null,"loc":{"file":"model.ka","bline":12,"bchr":0,"echr":47}},"direction":"direct","hidden":"false"}},{"rule":{"id":4,"label":"a.c","ast":"A(x[.] c[./1]), C(x1{p}[.] x2{u}[./1]) ","location":{"val":null,"loc":{"file":"model.ka","bline":13,"bchr":0,"echr":55}},"direction":"direct","hidden":"false"}},{"rule":{"id":5,"label":"mod x2","ast":"A(x[.] c[1/.]), C(x1{p}[.] x2{u/p}[1/.]) ","location":{"val":null,"loc":{"file":"model.ka","bline":14,"bchr":0,"echr":61}},"direction":"direct","hidden":"false"}},{"variable":{"id":0,"label":"on_rate","ast":"","location":{"val":null,"loc":{"file":"model.ka","bline":17,"bchr":6,"echr":22}}}},{"variable":{"id":1,"label":"off_rate","ast":"","location":{"val":null,"loc":{"file":"model.ka","bline":18,"bchr":6,"echr":20}}}},{"variable":{"id":2,"label":"mod_rate","ast":"","location":{"val":null,"loc":{"file":"model.ka","bline":19,"bchr":6,"echr":18}}}},{"variable":{"id":3,"label":"AB","ast":"","location":{"val":null,"loc":{"file":"model.ka","bline":20,"bchr":6,"echr":22}}}},{"variable":{"id":4,"label":"Cuu","ast":"","location":{"val":null,"loc":{"file":"model.ka","bline":21,"bchr":6,"echr":28}}}},{"variable":{"id":5,"label":"Cpu","ast":"","location":{"val":null,"loc":{"file":"model.ka","bline":22,"bchr":6,"echr":28}}}},{"variable":{"id":6,"label":"Cpp","ast":"","location":{"val":null,"loc":{"file":"model.ka","bline":23,"bchr":6,"echr":28}}}}],"wake-up map":[{"source":{"rule":0},"target map":[{"target":{"rule":1},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":1}},{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"rule":2},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"variable":3},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]}]},{"source":{"rule":1},"target map":[{"target":{"rule":0},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":1}},{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"rule":4},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"rule":5},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]}]},{"source":{"rule":2},"target map":[{"target":{"rule":3},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":0}},{"RHS":{"direct":0},"LHS":{"direct":1}}]}]},{"source":{"rule":3},"target map":[{"target":{"rule":2},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":0}}]},{"target":{"rule":4},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":0}},{"RHS":{"direct":0},"LHS":{"direct":1}}]},{"target":{"rule":5},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":1}}]},{"target":{"variable":5},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"variable":6},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]}]},{"source":{"rule":4},"target map":[{"target":{"rule":5},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":1}},{"RHS":{"direct":0},"LHS":{"direct":0}}]}]},{"source":{"rule":5},"target map":[{"target":{"rule":4},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"variable":6},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":0}}]}]}],"inhibition map":[{"source":{"rule":0},"target map":[{"target":{"rule":4},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"rule":5},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]}]},{"source":{"rule":1},"target map":[{"target":{"rule":2},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]},{"target":{"variable":3},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]}]},{"source":{"rule":3},"target map":[{"target":{"variable":4},"location pair list":[{"RHS":{"direct":0},"LHS":{"direct":0}}]}]},{"source":{"rule":5},"target map":[{"target":{"variable":5},"location pair list":[{"RHS":{"direct":1},"LHS":{"direct":0}}]}]}]}}} \ No newline at end of file diff --git a/tests/playwright/webapp_utils.ts b/tests/playwright/webapp_utils.ts index 9e0e7d929..22dd89445 100644 --- a/tests/playwright/webapp_utils.ts +++ b/tests/playwright/webapp_utils.ts @@ -101,10 +101,28 @@ export async function input_in_editor_from_url(page: Page, url_protocol_relative await input_in_editor_from_str(page, model); } -export async function open_app_with_model(page: Page, url_protocol_relative: string, paste_in_editor: boolean = false, timeout: number = 10000) { - if (paste_in_editor) { - // download the file and paste it in the editor +export async function open_app_with_model_from_text(page: Page, model_text: string, run_in_electron: boolean, timeout: number = 10000) { + if (!run_in_electron) { + // load the app if not in electron + // if in electron, the page is already loaded, and we just need to enter the file in the editor await page.goto(url); + } + await wait_for_project_ready_status(page); + await input_in_editor_from_str(page, model_text); + + // Note: if fails in input_in_editor_from_str, it won't wait for second timeout as expect is not expect.soft + await wait_for_file_load(page, { timeout: timeout }); +} + +// TODO: paste_in_editor is now always true, as default is true +export async function open_app_with_model(page: Page, url_protocol_relative: string, run_in_electron: boolean, paste_in_editor: boolean = true, timeout: number = 10000) { + if (paste_in_editor || run_in_electron) { + // download the file and paste it in the editor + if (!run_in_electron) { + // load the app if not in electron + // if in electron, the page is already loaded, and we just need to enter the file in the editor + await page.goto(url); + } await wait_for_project_ready_status(page); await input_in_editor_from_url(page, url_protocol_relative); } else { @@ -116,6 +134,7 @@ export async function open_app_with_model(page: Page, url_protocol_relative: str } export function get_error_field(page: Page) { + // Note: alternative emplacement, showing different info, in case it's relevant // return page.locator('#configuration_error_div'); return page.locator('#configuration_alert_div'); }