* install test dependencies
* change config for tests
* fix linter failing tests
* add basic test file
* add custom element registration to test
* update dependencies
* add jest config file
* fix test calls on makefile and minor fix on test
* update local npm version
* clean testm file
* Ensure that angle brackets in pyscript tag are escaped before parsing
* Improve tests
* Update pyscriptjs/tests/test_01_basic.py
Co-authored-by: James A. Bednar <jbednar@users.noreply.github.com>
Co-authored-by: James A. Bednar <jbednar@users.noreply.github.com>
* WIP: start to use the PyScriptTests machinery to test the examples
* factor test_hello_world out of test_examples
* B011 forbids 'assert False' in tests because python -O remove asserts. Thank you, I knew that.
* improve test_simple_clock and remove it from test_examples
* test_altair
* test_bokeh
* rename
* kill the parametrized test_example and write individual tests for each of them
* test_kmeans it's slow, increase the timeout
* improve these xfail
* kill wait_for_load, no longer needed
* write the name of the issue
* add issue number
* add a trick which I discovered to run test interactively
* move the docstring inside the class
This PR is about integration tests: they use playwright to load HTML pages in the browser and check that PyScript works as intended, as opposed to unit tests like the ones being introduced by #665 and #661.
The main goal of this PR is to introduce some machinery to make such tests easier to write, read and maintain, with some attention to capture enough information to produce useful error messages in case they fail in the CI.
In order to use the machinery, you need to subclass tests.support.PyScriptTest, which provides several useful API calls in the form self.xxx().
See the full description here:
https://github.com/pyscript/pyscript/pull/663
Co-authored-by: Mariana Meireles <marian.meireles@gmail.com>
Co-authored-by: mariana <marianameireles@protonmail.com>
* checkpoint: added some text
* checkpoint: added setting up the environment, tips for writing good issues
* continuing to fill it out
* added more detailed description of the process of creating a change and some other cleanup.
* added a getting started section and cleaned up the grammar. This ready for the PR now
* forgot to add the new section to the TOC
* Changes
* Minor fixes
* Minor fixes
* Minor fixes
* Minor fixes
* Minor fixes
* Minor fixes
* Fix
Co-authored-by: Kevin Goldsmith <kgoldsmith@anaconda.com>
Co-authored-by: Matt Kramer <mkramer@anaconda.com>
* fix tests by changing serving dir
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* checkpoint: added some text
* checkpoint: added setting up the environment, tips for writing good issues
* continuing to fill it out
* added more detailed description of the process of creating a change and some other cleanup.
* added a getting started section and cleaned up the grammar. This ready for the PR now
* forgot to add the new section to the TOC
* Minor fixes
Co-authored-by: Kevin Goldsmith <kgoldsmith@anaconda.com>
Co-authored-by: Matt Kramer <mkramer@anaconda.com>
* start removing tailwind and rebuilding some css
* add css to pybox and add class to repl
* set output component visibility
* replace tailwind class with single component class
* add styles to css
* replace classes on button
* replace classes on input
* replace classes in title
* replace classes on list
* replace classes
* add new style file
* add list element style
* remove tailwind classes from todo example
* revert link on examples files
* remove tailwind config files
* remove commented old code
* add missing ;
* Simplify tests with pytest-playwright
* Add pytest-playwright to pip
* Fix simple_clock example
* Attempt to make example tests more robust
* Make pre-commit happy
* Revert accidental change to simple_clock pyscript resources
* Another attempt at reducing flakeyness
* Do not wait until page load event is fired
* Remove pointless py-config
Co-authored-by: mariana <marianameireles@protonmail.com>
Adds utils.htmlDecode arround innerHTML to read the code for <py-repl> and
<py-script>, which preserves all newlines, tabs, and < & > characters.
Fix bug #480
* add output div visibility rule and make sure CustomWidget is being registered
* add new runAfterRuntimeInitialized method that classes can use to run code only after runtime actually initialized
* replace setTimout with proper event to wait for runtime to be completed
* replace setTimout on pyinpytbox with proper event to wait for runtime to be completed
* Chnage the metadata format
* Add syntax highlighting
* have simple_clock example run from local build to test change
Co-authored-by: Fabio Pliger <fabio.pliger@gmail.com>
* return on \n before empty div is appended
* use appendOutput with out.write
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: Mariano Weber <info@uiremotely.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Move tests, create makefile action to run tests on examples
* Correct import file for html files
* Build environment for tests
* Fix the CI
* rearrange CI
* fix find cmd and make sure we don't delete the folder implicitly
* more rearranging
* fix folder permissions and custom sed for subfolders
* add toga wheels files
* re-add missing file
* mirror latest changes in alpha ci
* fix find cmd
* try different fix for find
* remove redundant build
Co-authored-by: mariana <marianameireles@protonmail.com>
Co-authored-by: pww217 <pwilson@anaconda.com>
Co-authored-by: Fabio Pliger <fabio.pliger@gmail.com>
* fix OutputManager _append setter
* fix OutputManager change parameters
* fix OutputCtxManager __init__ and change methods
* replacing OutputManager pyscript.write with write function
* add optional output-append attribute to py-repl
* add appendOutput(default: true) to base component
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update pyscriptjs/src/components/pyrepl.ts
Co-authored-by: woxtu <woxtup@gmail.com>
* change from output-append flag to output-mode attribute
* removed type annotation
* repositioned setOutputMode call for auto-generated REPLs to work
* fixed indentation error for indented input
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* added preEvaluate method
* moved output-mode logic to preEvaluate
* remove static write method from PyScript, add write method to Element
* removed err parameter from OutputCtxManager
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* add PyScript.write back with a deprecation warning
* fix wrong input name
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: woxtu <woxtup@gmail.com>
Co-authored-by: Fabio Pliger <fabio.pliger@gmail.com>
* new testing ci flow
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* install conda
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* test conda
* pre-commit fix
* remove if
* makefile fix
* fix pytest install
* argument for test
* restructure
* fix sync
* full path filter
* use setup-condav2
* syntax
* test path
* add binary argument
* remove which
* Update Makefile
* remove arguments
* trigger CI
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add type annotations
* Replace `StateCommand` with `Command`
* Revert "Replace `StateCommand` with `Command`"
This reverts commit 2dfc2d34e4.
* Fix the return value
* Added microsoft channel and playwright as dependency
* Added test-setup to run
* Basic tests for each example in examples/index.html
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update test_webgl_raycaster_index.py
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update test_folium.py
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update test_folium.py
* Update test_folium.py
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update test_bokeh.py
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Whitelisting assertion statements in test files
* Updated bare execept statements with ImportError
* Flake8 compliance
* Updated message
* Removed 'make test-setup'
* Removed @echo from make test
* Uncommented Toga test
* Removed __test_all__.py file
* Removing unnecessary files
* Removed individual test files
* conftest.py with all data for running tests
* Consolidated test file
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fixed pre-commit flake8 issues
* flake8 issue
* add playwright installation to setup
* Testing parameterization and webserver to serve examples locally
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Flake8 compliance
* More flake8
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Michael Verhulst <michael@terminallabs.com>
Co-authored-by: Fabio Pliger <fabio.pliger@gmail.com>
* Add onscreen error when using py-env paths in local HTTP files without file server
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Remove redundant code, fix error handling, add 404 error
* Lint and Format
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* manage errors loading files
* use handleFetchError for handling fetch errors in env
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Fabio Pliger <fabio.pliger@gmail.com>