mirror of
https://github.com/gradio-app/gradio.git
synced 2025-04-06 12:30:29 +08:00
* Use orjson to serialize dict including np.array * add changeset * Update json_component demo and add an E2E test using it * Rename demo/json_component -> demo/json_component_blocks * Add json_component_interface demo and an E2E test using it * Fix to await assertion promises * Revert renaming of json_component demo * add changeset * Rename js/app/test/json_component_blocks.spec.ts -> js/app/test/json_component.spec.ts * Revert changes in routes.py and add orjson to json_component.py * Update gr.Checkbox.postprocess to ensure a bool value is returned * add changeset * Remove the if-block in gr.Checkbox.postprocess handling NumPy arrays as they are not reasonable values to be interpreted as checkbox's value * Update gr.JSON's docstring * Add test/components/test_json_component.py * Remove JSON component E2E tests * Update gr.JSON's docstring * docstring --------- Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com> Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
Backend Testing Guidelines
- All the tests should test Backend functionalities. Frontend functionalities and e2e tests are done in Frontend.
- Make use of pytest fixtures whenever it is possible. With fixtures, objects with high initialize durations are reused within tests, ex. a client session.
- All testdata resides within _gradio/test_data and all test_files reside within test/test_files.
- When doing network operations do not forget to make use of async to make tests faster.
- Have clear class and function naming within the tests.
- Short descriptions within test functions are great.
- Library function docstrings is expected to contain an example, please add missing docstrings to the library while you are writing tests the related function.
- Library docstring examples and descriptions are expected to align with tests, please fix divergent tests and library docstrings.