Skip to content

gh-124621: Emscripten: Add smoke test for using pyrepl in Chrome #137004

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions Tools/wasm/emscripten/browser_test/.gitignore
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason to have this gitignore here, rather than at the top level of the repo?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's nice not to pollute the top level gitignore?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm the opposite - I prefer to know where the single point of configuration is, rather than potentially hunting every level of a directory tree. However, this wouldn't be the first "non-root" .gitignore, and I don't feel that strongly about it, so I won't stand in the way of progress.

Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules
test-results
playwright-report

15 changes: 15 additions & 0 deletions Tools/wasm/emscripten/browser_test/index.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { test, expect } from '@playwright/test';

test('has title', async ({ page }) => {
await page.goto('/');

await expect(page).toHaveTitle("Emscripten PyRepl Example");
const xterm = await page.locator('css=#terminal');
await expect(xterm).toHaveText(/Python.*on emscripten.*Type.*for more information/);
const xtermInput = await page.getByRole('textbox');
await xtermInput.pressSequentially(`def f():\nprint("hello", "emscripten repl!")\n\n`);
await xtermInput.pressSequentially(`f()\n`);
await expect(xterm).toHaveText(/hello emscripten repl!/);

});

Loading
Loading