Created
August 10, 2024 17:59
-
-
Save cdeil/ed1e5119da6d371411099bd560f538a3 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
panel $ pixi run -e test-ui pytest --ui panel/tests/ui/widgets/test_icon.py -v --browser chromium -n logical --dist no -n 0 | |
=============================================================================================== test session starts ================================================================================================ | |
platform darwin -- Python 3.12.5, pytest-7.4.4, pluggy-1.5.0 -- /Users/cdeil/code/oss/panel/.pixi/envs/test-ui/bin/python3.12 | |
cachedir: .pytest_cache | |
rootdir: /Users/cdeil/code/oss/panel | |
configfile: pyproject.toml | |
plugins: asyncio-0.23.8, cov-5.0.0, github-actions-annotate-failures-0.2.0, playwright-0.5.0, rerunfailures-14.0, anyio-4.4.0, base-url-2.1.0, xdist-3.6.1 | |
asyncio: mode=Mode.AUTO | |
collected 17 items | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_click PASSED [ 5%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_width_height PASSED [ 11%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_size PASSED [ 17%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_active_icon PASSED [ 23%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_update_params_dynamically PASSED [ 29%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_svg PASSED [ 35%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_tabler_to_svg PASSED [ 41%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_svg_to_tabler PASSED [ 47%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon PASSED [ 52%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_disabled PASSED [ 58%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_on_click_method PASSED [ 64%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_on_click_kwarg PASSED [ 70%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_js_on_click PASSED [ 76%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_tooltip PASSED [ 82%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_name PASSED [ 88%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_name_dynamically PASSED [ 94%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_description_dynamically PASSED [100%] | |
=============================================================================================== 17 passed in 12.86s ================================================================================================ | |
panel $ pixi run -e test-ui pytest --ui panel/tests/ui -v --browser chromium -n logical --dist no -n 0 --durations 10 | |
=============================================================================================== test session starts ================================================================================================ | |
platform darwin -- Python 3.12.5, pytest-7.4.4, pluggy-1.5.0 -- /Users/cdeil/code/oss/panel/.pixi/envs/test-ui/bin/python3.12 | |
cachedir: .pytest_cache | |
rootdir: /Users/cdeil/code/oss/panel | |
configfile: pyproject.toml | |
plugins: asyncio-0.23.8, cov-5.0.0, github-actions-annotate-failures-0.2.0, playwright-0.5.0, rerunfailures-14.0, anyio-4.4.0, base-url-2.1.0, xdist-3.6.1 | |
asyncio: mode=Mode.AUTO | |
collected 583 items / 6 deselected / 1 skipped / 577 selected | |
panel/tests/ui/test_auth.py::test_basic_auth[] SKIPPED (Only supported on Linux) [ 0%] | |
panel/tests/ui/test_auth.py::test_basic_auth[prefix] SKIPPED (Only supported on Linux) [ 0%] | |
panel/tests/ui/test_auth.py::test_okta_oauth SKIPPED (PANEL_TEST_AUTH environment variable is required to run this test) [ 0%] | |
panel/tests/ui/test_auth.py::test_azure_oauth SKIPPED (PANEL_TEST_AUTH environment variable is required to run this test) [ 0%] | |
panel/tests/ui/test_auth.py::test_auth0_oauth SKIPPED (PANEL_TEST_AUTH environment variable is required to run this test) [ 0%] | |
panel/tests/ui/test_auth.py::test_basic_auth_logout[None] SKIPPED (Only supported on Linux) [ 1%] | |
panel/tests/ui/test_auth.py::test_basic_auth_logout[logout_template1] SKIPPED (Only supported on Linux) [ 1%] | |
panel/tests/ui/test_auth.py::test_authorize_callback_redirect SKIPPED (Only supported on Linux) [ 1%] | |
panel/tests/ui/test_auth.py::test_global_authorize_callback SKIPPED (Only supported on Linux) [ 1%] | |
panel/tests/ui/test_custom.py::test_update[JSUpdate] PASSED [ 1%] | |
panel/tests/ui/test_custom.py::test_update[ReactUpdate] PASSED [ 1%] | |
panel/tests/ui/test_custom.py::test_update[AnyWidgetUpdate] PASSED [ 2%] | |
panel/tests/ui/test_custom.py::test_unwatch[JSUnwatch] PASSED [ 2%] | |
panel/tests/ui/test_custom.py::test_unwatch[AnyWidgetUnwatch] PASSED [ 2%] | |
panel/tests/ui/test_custom.py::test_gather_input[JSInput] PASSED [ 2%] | |
panel/tests/ui/test_custom.py::test_gather_input[ReactInput] PASSED [ 2%] | |
panel/tests/ui/test_custom.py::test_send_event[JSSendEvent] PASSED [ 2%] | |
panel/tests/ui/test_custom.py::test_send_event[ReactSendEvent] PASSED [ 3%] | |
panel/tests/ui/test_custom.py::test_child[JSChild] PASSED [ 3%] | |
panel/tests/ui/test_custom.py::test_child[ReactChild] PASSED [ 3%] | |
panel/tests/ui/test_custom.py::test_children[JSChildren] PASSED [ 3%] | |
panel/tests/ui/test_custom.py::test_children[ReactChildren] PASSED [ 3%] | |
panel/tests/ui/test_custom.py::test_reload[JSComponent-\nexport function render() {\n const h1 = document.createElement('h1')\n h1.innerText = "foo"\n return h1\n}-\nexport function render() {\n const h1 = document.createElement('h1')\n h1.innerText = "bar"\n return h1\n}] PASSED [ 3%] | |
panel/tests/ui/test_custom.py::test_reload[ReactChildren-\nexport function render() {\n return <h1>foo</h1>\n}-\nexport function render() {\n return <h1>bar</h1>\n}] PASSED [ 4%] | |
panel/tests/ui/test_custom.py::test_anywidget_custom_event PASSED [ 4%] | |
panel/tests/ui/test_custom.py::test_after_render_lifecycle_hooks[JSLifecycleAfterRender] PASSED [ 4%] | |
panel/tests/ui/test_custom.py::test_after_render_lifecycle_hooks[ReactLifecycleAfterRender] PASSED [ 4%] | |
panel/tests/ui/test_custom.py::test_after_resize_lifecycle_hooks[JSLifecycleAfterResize] PASSED [ 4%] | |
panel/tests/ui/test_custom.py::test_after_resize_lifecycle_hooks[ReactLifecycleAfterResize] PASSED [ 5%] | |
panel/tests/ui/test_custom.py::test_remove_lifecycle_hooks[JSLifecycleRemove] PASSED [ 5%] | |
panel/tests/ui/test_custom.py::test_remove_lifecycle_hooks[ReactLifecycleRemove] PASSED [ 5%] | |
panel/tests/ui/test_param.py::test_param_defer_load PASSED [ 5%] | |
panel/tests/ui/test_reactive.py::test_reactive_html_click_js_event PASSED [ 5%] | |
panel/tests/ui/test_reactive.py::test_reactive_html_param_event PASSED [ 5%] | |
panel/tests/ui/test_reactive.py::test_reactive_html_set_loading_no_rerender PASSED [ 6%] | |
panel/tests/ui/test_reactive.py::test_reactive_html_changing_css_classes_rerenders PASSED [ 6%] | |
panel/tests/ui/test_reactive.py::test_reactive_html_set_background_no_rerender PASSED [ 6%] | |
panel/tests/ui/test_reactive.py::test_reactive_literal_backtick PASSED [ 6%] | |
panel/tests/ui/chat/test_chat_interface_ui.py::test_chat_interface_help PASSED [ 6%] | |
panel/tests/ui/chat/test_chat_interface_ui.py::test_chat_interface_custom_js PASSED [ 6%] | |
panel/tests/ui/chat/test_chat_interface_ui.py::test_chat_interface_custom_js_string PASSED [ 7%] | |
panel/tests/ui/chat/test_chat_message.py::test_chat_message_dynamic_footer_objects PASSED [ 7%] | |
panel/tests/ui/chat/test_chat_message.py::test_chat_message_dynamic_header_objects PASSED [ 7%] | |
panel/tests/ui/chat/test_chat_reaction_icon.py::test_toggle_icon_click PASSED [ 7%] | |
panel/tests/ui/chat/test_input_ui.py::test_chat_area_input_enter PASSED [ 7%] | |
panel/tests/ui/chat/test_input_ui.py::test_chat_area_input_resets_to_row PASSED [ 7%] | |
panel/tests/ui/chat/test_input_ui.py::test_chat_area_enter_sends PASSED [ 8%] | |
panel/tests/ui/command/test_serve.py::test_autoreload_app SKIPPED (Only supported on Linux) [ 8%] | |
panel/tests/ui/io/test_browser.py::test_browser_sync PASSED [ 8%] | |
panel/tests/ui/io/test_loading.py::test_global_loading_indicator PASSED [ 8%] | |
panel/tests/ui/io/test_location.py::test_set_url_params_update_document PASSED [ 8%] | |
panel/tests/ui/io/test_location.py::test_set_hash_update_document PASSED [ 9%] | |
panel/tests/ui/io/test_location.py::test_set_document_location_update_state PASSED [ 9%] | |
panel/tests/ui/io/test_notifications.py::test_notifications_no_template PASSED [ 9%] | |
panel/tests/ui/io/test_notifications.py::test_notifications_with_template PASSED [ 9%] | |
panel/tests/ui/io/test_notifications.py::test_ready_notification PASSED [ 9%] | |
panel/tests/ui/io/test_notifications.py::test_disconnect_notification PASSED [ 9%] | |
panel/tests/ui/io/test_reload.py::test_reload_app_on_touch[/Users/cdeil/code/oss/panel/panel/tests/ui/io/app.py] PASSED [ 10%] | |
panel/tests/ui/io/test_reload.py::test_reload_app_on_touch[/Users/cdeil/code/oss/panel/panel/tests/ui/io/app.md] PASSED [ 10%] | |
panel/tests/ui/io/test_reload.py::test_reload_app_on_touch[/Users/cdeil/code/oss/panel/panel/tests/ui/io/app.ipynb] PASSED [ 10%] | |
panel/tests/ui/io/test_reload.py::test_reload_app_with_error PASSED [ 10%] | |
panel/tests/ui/io/test_reload.py::test_reload_app_with_syntax_error PASSED [ 10%] | |
panel/tests/ui/io/test_reload.py::test_load_app_with_no_content PASSED [ 10%] | |
panel/tests/ui/io/test_reload.py::test_reload_app_on_local_module_change RERUN [ 11%] | |
panel/tests/ui/io/test_reload.py::test_reload_app_on_local_module_change PASSED [ 11%] | |
panel/tests/ui/io/test_resources.py::test_serve_page_on_nested_route PASSED [ 11%] | |
panel/tests/ui/io/test_resources.py::test_serve_page_with_reactive_html_css_on_nested_route PASSED [ 11%] | |
panel/tests/ui/io/test_server.py::test_server_reuse_sessions PASSED [ 11%] | |
panel/tests/ui/io/test_server.py::test_server_reuse_sessions_with_session_key_func PASSED [ 11%] | |
panel/tests/ui/io/test_state.py::test_on_load PASSED [ 11%] | |
panel/tests/ui/io/test_state.py::test_server_async_local_state_button_click PASSED [ 12%] | |
panel/tests/ui/layout/test_accordion.py::test_accordion_default PASSED [ 12%] | |
panel/tests/ui/layout/test_accordion.py::test_accordion_card_name PASSED [ 12%] | |
panel/tests/ui/layout/test_accordion.py::test_accordion_active PASSED [ 12%] | |
panel/tests/ui/layout/test_accordion.py::test_accordion_objects PASSED [ 12%] | |
panel/tests/ui/layout/test_accordion.py::test_accordion_toggle PASSED [ 12%] | |
panel/tests/ui/layout/test_accordion.py::test_accordion_append PASSED [ 13%] | |
panel/tests/ui/layout/test_accordion.py::test_accordion_extend PASSED [ 13%] | |
panel/tests/ui/layout/test_accordion.py::test_accordion_clear PASSED [ 13%] | |
panel/tests/ui/layout/test_accordion.py::test_accordion_insert PASSED [ 13%] | |
panel/tests/ui/layout/test_accordion.py::test_accordion_pop PASSED [ 13%] | |
panel/tests/ui/layout/test_accordion.py::test_accordion_remove PASSED [ 14%] | |
panel/tests/ui/layout/test_card.py::test_card_default PASSED [ 14%] | |
panel/tests/ui/layout/test_card.py::test_card_collapsed PASSED [ 14%] | |
panel/tests/ui/layout/test_card.py::test_card_not_collapsible PASSED [ 14%] | |
panel/tests/ui/layout/test_card.py::test_card_hide_header PASSED [ 14%] | |
panel/tests/ui/layout/test_card.py::test_card_objects PASSED [ 14%] | |
panel/tests/ui/layout/test_card.py::test_card_title PASSED [ 15%] | |
panel/tests/ui/layout/test_card.py::test_card_background PASSED [ 15%] | |
panel/tests/ui/layout/test_card.py::test_card_header_color_formatting PASSED [ 15%] | |
panel/tests/ui/layout/test_card.py::test_card_custom_css PASSED [ 15%] | |
panel/tests/ui/layout/test_card.py::test_card_scrollable PASSED [ 15%] | |
panel/tests/ui/layout/test_card.py::test_card_widget_not_collapsed PASSED [ 15%] | |
panel/tests/ui/layout/test_column.py::test_column_scroll PASSED [ 16%] | |
panel/tests/ui/layout/test_column.py::test_column_scroll_string[both-auto] PASSED [ 16%] | |
panel/tests/ui/layout/test_column.py::test_column_scroll_string[x-auto] PASSED [ 16%] | |
panel/tests/ui/layout/test_column.py::test_column_scroll_string[y-auto] PASSED [ 16%] | |
panel/tests/ui/layout/test_column.py::test_column_scroll_string[both] PASSED [ 16%] | |
panel/tests/ui/layout/test_column.py::test_column_scroll_string[x] PASSED [ 16%] | |
panel/tests/ui/layout/test_column.py::test_column_scroll_string[y] PASSED [ 17%] | |
panel/tests/ui/layout/test_column.py::test_column_auto_scroll_limit PASSED [ 17%] | |
panel/tests/ui/layout/test_column.py::test_column_auto_scroll_limit_disabled PASSED [ 17%] | |
panel/tests/ui/layout/test_column.py::test_column_scroll_button_threshold PASSED [ 17%] | |
panel/tests/ui/layout/test_column.py::test_column_scroll_button_threshold_disabled PASSED [ 17%] | |
panel/tests/ui/layout/test_column.py::test_column_view_latest PASSED [ 18%] | |
panel/tests/ui/layout/test_column.py::test_column_scroll_position_init PASSED [ 18%] | |
panel/tests/ui/layout/test_column.py::test_column_scroll_position_recorded PASSED [ 18%] | |
panel/tests/ui/layout/test_column.py::test_column_scroll_position_param_updated PASSED [ 18%] | |
panel/tests/ui/layout/test_feed.py::test_feed_load_entries PASSED [ 18%] | |
panel/tests/ui/layout/test_feed.py::test_feed_view_latest PASSED [ 18%] | |
panel/tests/ui/layout/test_feed.py::test_feed_view_scroll_to_latest PASSED [ 19%] | |
panel/tests/ui/layout/test_feed.py::test_feed_view_scroll_button PASSED [ 19%] | |
panel/tests/ui/layout/test_feed.py::test_feed_dynamic_objects PASSED [ 19%] | |
panel/tests/ui/layout/test_floatpanel.py::test_float_panel_closed_status PASSED [ 19%] | |
panel/tests/ui/layout/test_floatpanel.py::test_float_panel_status_set_on_init PASSED [ 19%] | |
panel/tests/ui/layout/test_floatpanel.py::test_float_panel_resize PASSED [ 19%] | |
panel/tests/ui/layout/test_gridbox.py::test_gridbox PASSED [ 20%] | |
panel/tests/ui/layout/test_gridbox.py::test_gridbox_unequal PASSED [ 20%] | |
panel/tests/ui/layout/test_gridbox.py::test_gridbox_stretch_width PASSED [ 20%] | |
panel/tests/ui/layout/test_gridbox.py::test_gridbox_stretch_height PASSED [ 20%] | |
panel/tests/ui/layout/test_gridbox.py::test_gridbox_stretch_both PASSED [ 20%] | |
panel/tests/ui/layout/test_gridspec.py::test_gridspec PASSED [ 20%] | |
panel/tests/ui/layout/test_gridspec.py::test_gridspec_stretch PASSED [ 21%] | |
panel/tests/ui/layout/test_gridstack.py::test_gridstack PASSED [ 21%] | |
panel/tests/ui/layout/test_gridstack.py::test_gridstack_stretch PASSED [ 21%] | |
panel/tests/ui/layout/test_row.py::test_row_scroll PASSED [ 21%] | |
panel/tests/ui/layout/test_swipe.py::test_swipe_fixed_width PASSED [ 21%] | |
panel/tests/ui/layout/test_swipe.py::test_swipe_stretch_width PASSED [ 22%] | |
panel/tests/ui/layout/test_widgetbox.py::test_widgetbox_vertical_scroll PASSED [ 22%] | |
panel/tests/ui/layout/test_widgetbox.py::test_widgetbox_horizontal_scroll PASSED [ 22%] | |
panel/tests/ui/pane/test_image.py::test_png_native_size[False] PASSED [ 22%] | |
panel/tests/ui/pane/test_image.py::test_png_native_size[True] PASSED [ 22%] | |
panel/tests/ui/pane/test_image.py::test_png_native_size_with_width[False] PASSED [ 22%] | |
panel/tests/ui/pane/test_image.py::test_png_native_size_with_width[True] PASSED [ 23%] | |
panel/tests/ui/pane/test_image.py::test_png_native_size_with_height[False] PASSED [ 23%] | |
panel/tests/ui/pane/test_image.py::test_png_native_size_with_height[True] PASSED [ 23%] | |
panel/tests/ui/pane/test_image.py::test_png_scaled_fixed_size[False] PASSED [ 23%] | |
panel/tests/ui/pane/test_image.py::test_png_scaled_fixed_size[True] PASSED [ 23%] | |
panel/tests/ui/pane/test_image.py::test_png_scale_width[False-scale_width] PASSED [ 23%] | |
panel/tests/ui/pane/test_image.py::test_png_scale_width[False-stretch_width] PASSED [ 24%] | |
panel/tests/ui/pane/test_image.py::test_png_scale_width[True-scale_width] PASSED [ 24%] | |
panel/tests/ui/pane/test_image.py::test_png_scale_width[True-stretch_width] PASSED [ 24%] | |
panel/tests/ui/pane/test_image.py::test_png_scale_height[False-scale_height] PASSED [ 24%] | |
panel/tests/ui/pane/test_image.py::test_png_scale_height[False-stretch_height] PASSED [ 24%] | |
panel/tests/ui/pane/test_image.py::test_png_scale_height[True-scale_height] PASSED [ 24%] | |
panel/tests/ui/pane/test_image.py::test_png_scale_height[True-stretch_height] PASSED [ 25%] | |
panel/tests/ui/pane/test_image.py::test_png_scale_both[False-stretch_both] PASSED [ 25%] | |
panel/tests/ui/pane/test_image.py::test_png_scale_both[False-scale_both] PASSED [ 25%] | |
panel/tests/ui/pane/test_image.py::test_png_scale_both[True-stretch_both] PASSED [ 25%] | |
panel/tests/ui/pane/test_image.py::test_png_scale_both[True-scale_both] PASSED [ 25%] | |
panel/tests/ui/pane/test_image.py::test_png_stretch_width[False] PASSED [ 25%] | |
panel/tests/ui/pane/test_image.py::test_png_stretch_width[True] PASSED [ 26%] | |
panel/tests/ui/pane/test_image.py::test_png_stretch_height[False] PASSED [ 26%] | |
panel/tests/ui/pane/test_image.py::test_png_stretch_height[True] PASSED [ 26%] | |
panel/tests/ui/pane/test_image.py::test_png_stretch_both[False] PASSED [ 26%] | |
panel/tests/ui/pane/test_image.py::test_png_stretch_both[True] PASSED [ 26%] | |
panel/tests/ui/pane/test_image.py::test_svg_native_size[False] PASSED [ 27%] | |
panel/tests/ui/pane/test_image.py::test_svg_native_size[True] PASSED [ 27%] | |
panel/tests/ui/pane/test_image.py::test_svg_scaled_fixed_size[False] PASSED [ 27%] | |
panel/tests/ui/pane/test_image.py::test_svg_scaled_fixed_size[True] PASSED [ 27%] | |
panel/tests/ui/pane/test_image.py::test_svg_scale_width[False-scale_width] PASSED [ 27%] | |
panel/tests/ui/pane/test_image.py::test_svg_scale_width[False-stretch_width] PASSED [ 27%] | |
panel/tests/ui/pane/test_image.py::test_svg_scale_width[True-scale_width] PASSED [ 28%] | |
panel/tests/ui/pane/test_image.py::test_svg_scale_width[True-stretch_width] PASSED [ 28%] | |
panel/tests/ui/pane/test_image.py::test_svg_scale_height[False-scale_height] PASSED [ 28%] | |
panel/tests/ui/pane/test_image.py::test_svg_scale_height[False-stretch_height] PASSED [ 28%] | |
panel/tests/ui/pane/test_image.py::test_svg_scale_height[True-scale_height] PASSED [ 28%] | |
panel/tests/ui/pane/test_image.py::test_svg_scale_height[True-stretch_height] PASSED [ 28%] | |
panel/tests/ui/pane/test_image.py::test_svg_scale_both[False-stretch_both] PASSED [ 29%] | |
panel/tests/ui/pane/test_image.py::test_svg_scale_both[False-scale_both] PASSED [ 29%] | |
panel/tests/ui/pane/test_image.py::test_svg_scale_both[True-stretch_both] PASSED [ 29%] | |
panel/tests/ui/pane/test_image.py::test_svg_scale_both[True-scale_both] PASSED [ 29%] | |
panel/tests/ui/pane/test_image.py::test_svg_stretch_width[False] PASSED [ 29%] | |
panel/tests/ui/pane/test_image.py::test_svg_stretch_width[True] PASSED [ 29%] | |
panel/tests/ui/pane/test_image.py::test_svg_stretch_height[False] PASSED [ 30%] | |
panel/tests/ui/pane/test_image.py::test_svg_stretch_height[True] PASSED [ 30%] | |
panel/tests/ui/pane/test_image.py::test_svg_stretch_both[False] PASSED [ 30%] | |
panel/tests/ui/pane/test_image.py::test_svg_stretch_both[True] PASSED [ 30%] | |
panel/tests/ui/pane/test_image.py::test_pdf_embed PASSED [ 30%] | |
panel/tests/ui/pane/test_image.py::test_pdf_embed_start_page PASSED [ 31%] | |
panel/tests/ui/pane/test_image.py::test_pdf_no_embed_start_page PASSED [ 31%] | |
panel/tests/ui/pane/test_ipywidget.py::test_reacton PASSED [ 31%] | |
panel/tests/ui/pane/test_ipywidget.py::test_anywidget PASSED [ 31%] | |
panel/tests/ui/pane/test_markup.py::test_update_markdown_pane PASSED [ 31%] | |
panel/tests/ui/pane/test_markup.py::test_update_markdown_pane_empty PASSED [ 31%] | |
panel/tests/ui/pane/test_markup.py::test_update_markdown_height PASSED [ 32%] | |
panel/tests/ui/pane/test_markup.py::test_update_markdown_width PASSED [ 32%] | |
panel/tests/ui/pane/test_markup.py::test_update_markdown_pane_resizes PASSED [ 32%] | |
panel/tests/ui/pane/test_markup.py::test_markdown_pane_visible_toggle PASSED [ 32%] | |
panel/tests/ui/pane/test_markup.py::test_html_model_no_stylesheet PASSED [ 32%] | |
panel/tests/ui/pane/test_perspective.py::test_perspective_no_console_errors PASSED [ 32%] | |
panel/tests/ui/pane/test_perspective.py::test_perspective_no_console_errors_with_nested_path PASSED [ 33%] | |
panel/tests/ui/pane/test_perspective.py::test_perspective_click_event PASSED [ 33%] | |
panel/tests/ui/pane/test_plotly.py::test_plotly_no_console_errors PASSED [ 33%] | |
panel/tests/ui/pane/test_plotly.py::test_plotly_2d_plot PASSED [ 33%] | |
panel/tests/ui/pane/test_plotly.py::test_plotly_3d_plot PASSED [ 33%] | |
panel/tests/ui/pane/test_plotly.py::test_plotly_hover_data PASSED [ 33%] | |
panel/tests/ui/pane/test_plotly.py::test_plotly_click_data PASSED [ 34%] | |
panel/tests/ui/pane/test_plotly.py::test_plotly_select_data PASSED [ 34%] | |
panel/tests/ui/pane/test_plotly.py::test_plotly_img_plot PASSED [ 34%] | |
panel/tests/ui/pane/test_textual.py::test_textual_app FAILED [ 34%] | |
panel/tests/ui/pane/test_vega.py::test_vega_no_console_errors PASSED [ 34%] | |
panel/tests/ui/pane/test_vega.py::test_altair_select_point PASSED [ 35%] | |
panel/tests/ui/pane/test_vega.py::test_altair_select_interval PASSED [ 35%] | |
panel/tests/ui/pane/test_vega.py::test_altair_select_agg PASSED [ 35%] | |
panel/tests/ui/pane/test_vizzu.py::test_vizzu_no_console_errors PASSED [ 35%] | |
panel/tests/ui/pane/test_vizzu.py::test_vizzu_click FAILED [ 35%] | |
panel/tests/ui/template/test_bootstraptemplate.py::test_bootstrap_template_no_console_errors PASSED [ 35%] | |
panel/tests/ui/template/test_bootstraptemplate.py::test_bootstrap_template_nested_route_no_console_errors PASSED [ 36%] | |
panel/tests/ui/template/test_bootstraptemplate.py::test_bootstrap_template_raw_css_on_config PASSED [ 36%] | |
panel/tests/ui/template/test_bootstraptemplate.py::test_bootstrap_template_updates PASSED [ 36%] | |
panel/tests/ui/template/test_editabletemplate.py::test_editable_template_no_console_errors PASSED [ 36%] | |
panel/tests/ui/template/test_editabletemplate.py::test_editable_template_order PASSED [ 36%] | |
panel/tests/ui/template/test_editabletemplate.py::test_editable_template_reset_order PASSED [ 36%] | |
panel/tests/ui/template/test_editabletemplate.py::test_editable_template_size PASSED [ 37%] | |
panel/tests/ui/template/test_editabletemplate.py::test_editable_template_reset_size PASSED [ 37%] | |
panel/tests/ui/template/test_editabletemplate.py::test_editable_template_visible PASSED [ 37%] | |
panel/tests/ui/template/test_editabletemplate.py::test_editable_template_reset_visible PASSED [ 37%] | |
panel/tests/ui/template/test_editabletemplate.py::test_editable_template_delete_item PASSED [ 37%] | |
panel/tests/ui/template/test_editabletemplate.py::test_editable_template_undo_delete_item PASSED [ 37%] | |
panel/tests/ui/template/test_editabletemplate.py::test_editable_template_drag_item FAILED [ 38%] | |
panel/tests/ui/template/test_editabletemplate.py::test_editable_template_undo_drag_item PASSED [ 38%] | |
panel/tests/ui/template/test_editabletemplate.py::test_editable_template_resize_item PASSED [ 38%] | |
panel/tests/ui/template/test_editabletemplate.py::test_editable_template_undo_resize_item PASSED [ 38%] | |
panel/tests/ui/template/test_fastgridtemplate.py::test_fast_grid_template_no_console_errors PASSED [ 38%] | |
panel/tests/ui/template/test_fastgridtemplate.py::test_fast_grid_template_updates PASSED [ 38%] | |
panel/tests/ui/template/test_fastlisttemplate.py::test_fast_list_template_no_console_errors PASSED [ 39%] | |
panel/tests/ui/template/test_fastlisttemplate.py::test_fast_list_template_updates PASSED [ 39%] | |
panel/tests/ui/template/test_materialtemplate.py::test_material_template_no_console_errors PASSED [ 39%] | |
panel/tests/ui/template/test_materialtemplate.py::test_material_template_updates PASSED [ 39%] | |
panel/tests/ui/template/test_slidestemplate.py::test_slides_template_no_console_errors PASSED [ 39%] | |
panel/tests/ui/template/test_slidestemplate.py::test_slides_template_updates PASSED [ 40%] | |
panel/tests/ui/widgets/test_button.py::test_button_click PASSED [ 40%] | |
panel/tests/ui/widgets/test_button.py::test_button_tooltip[Button-str] PASSED [ 40%] | |
panel/tests/ui/widgets/test_button.py::test_button_tooltip[Button-Tooltip] PASSED [ 40%] | |
panel/tests/ui/widgets/test_button.py::test_button_tooltip[Button-TooltipIcon] PASSED [ 40%] | |
panel/tests/ui/widgets/test_button.py::test_button_tooltip[CheckButtonGroup-str] PASSED [ 40%] | |
panel/tests/ui/widgets/test_button.py::test_button_tooltip[CheckButtonGroup-Tooltip] PASSED [ 41%] | |
panel/tests/ui/widgets/test_button.py::test_button_tooltip[CheckButtonGroup-TooltipIcon] PASSED [ 41%] | |
panel/tests/ui/widgets/test_button.py::test_button_tooltip[RadioButtonGroup-str] PASSED [ 41%] | |
panel/tests/ui/widgets/test_button.py::test_button_tooltip[RadioButtonGroup-Tooltip] PASSED [ 41%] | |
panel/tests/ui/widgets/test_button.py::test_button_tooltip[RadioButtonGroup-TooltipIcon] PASSED [ 41%] | |
panel/tests/ui/widgets/test_button.py::test_button_tooltip_with_delay[Button] PASSED [ 41%] | |
panel/tests/ui/widgets/test_button.py::test_button_tooltip_with_delay[CheckButtonGroup] PASSED [ 42%] | |
panel/tests/ui/widgets/test_button.py::test_button_tooltip_with_delay[RadioButtonGroup] PASSED [ 42%] | |
panel/tests/ui/widgets/test_debugger.py::test_tabulator_no_console_error PASSED [ 42%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_click PASSED [ 42%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_width_height FAILED [ 42%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_size FAILED [ 42%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_active_icon PASSED [ 43%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_update_params_dynamically PASSED [ 43%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_svg PASSED [ 43%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_tabler_to_svg PASSED [ 43%] | |
panel/tests/ui/widgets/test_icon.py::test_toggle_icon_svg_to_tabler PASSED [ 43%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon PASSED [ 44%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_disabled PASSED [ 44%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_on_click_method PASSED [ 44%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_on_click_kwarg PASSED [ 44%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_js_on_click PASSED [ 44%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_tooltip PASSED [ 44%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_name PASSED [ 45%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_name_dynamically PASSED [ 45%] | |
panel/tests/ui/widgets/test_icon.py::test_button_icon_description_dynamically PASSED [ 45%] | |
panel/tests/ui/widgets/test_indicators.py::test_plaintext_tooltip[str] PASSED [ 45%] | |
panel/tests/ui/widgets/test_indicators.py::test_plaintext_tooltip[Tooltip] PASSED [ 45%] | |
panel/tests/ui/widgets/test_indicators.py::test_tooltip_text_updates PASSED [ 45%] | |
panel/tests/ui/widgets/test_input.py::test_datetimepicker_default PASSED [ 46%] | |
panel/tests/ui/widgets/test_input.py::test_datetimepicker_value PASSED [ 46%] | |
panel/tests/ui/widgets/test_input.py::test_datetimepicker_start_end PASSED [ 46%] | |
panel/tests/ui/widgets/test_input.py::test_datetimepicker_disabled_dates PASSED [ 46%] | |
panel/tests/ui/widgets/test_input.py::test_datetimepicker_enabled_dates PASSED [ 46%] | |
panel/tests/ui/widgets/test_input.py::test_datetimepicker_enable_time PASSED [ 46%] | |
panel/tests/ui/widgets/test_input.py::test_datetimepicker_enable_seconds PASSED [ 47%] | |
panel/tests/ui/widgets/test_input.py::test_datetimepicker_military_time PASSED [ 47%] | |
panel/tests/ui/widgets/test_input.py::test_datetimepicker_disable_editing PASSED [ 47%] | |
panel/tests/ui/widgets/test_input.py::test_datetimepicker_visible PASSED [ 47%] | |
panel/tests/ui/widgets/test_input.py::test_datetimepicker_name PASSED [ 47%] | |
panel/tests/ui/widgets/test_input.py::test_datetimepicker_no_value PASSED [ 48%] | |
panel/tests/ui/widgets/test_input.py::test_datetimerangepicker_no_value PASSED [ 48%] | |
panel/tests/ui/widgets/test_input.py::test_datetimepicker_remove_value PASSED [ 48%] | |
panel/tests/ui/widgets/test_input.py::test_datetime_picker_start_end_datetime64 PASSED [ 48%] | |
panel/tests/ui/widgets/test_input.py::test_text_area_auto_grow_init PASSED [ 48%] | |
panel/tests/ui/widgets/test_input.py::test_text_area_auto_grow PASSED [ 48%] | |
panel/tests/ui/widgets/test_input.py::test_text_area_auto_grow_max_rows PASSED [ 49%] | |
panel/tests/ui/widgets/test_input.py::test_text_area_auto_grow_min_rows PASSED [ 49%] | |
panel/tests/ui/widgets/test_input.py::test_text_area_auto_grow_shrink_back_on_new_value PASSED [ 49%] | |
panel/tests/ui/widgets/test_input.py::test_textinput_enter PASSED [ 49%] | |
panel/tests/ui/widgets/test_input.py::test_filedropper_text_file PASSED [ 49%] | |
panel/tests/ui/widgets/test_input.py::test_filedropper_wrong_filetype_error PASSED [ 49%] | |
panel/tests/ui/widgets/test_input.py::test_filedropper_multiple_file_error PASSED [ 50%] | |
panel/tests/ui/widgets/test_input.py::test_filedropper_multiple_files PASSED [ 50%] | |
panel/tests/ui/widgets/test_jsoneditor.py::test_json_editor_no_console_errors PASSED [ 50%] | |
panel/tests/ui/widgets/test_jsoneditor.py::test_json_editor_edit PASSED [ 50%] | |
panel/tests/ui/widgets/test_misc.py::test_file_download_updates_when_navigating_between_dynamic_tabs PASSED [ 50%] | |
panel/tests/ui/widgets/test_player.py::test_init PASSED [ 50%] | |
panel/tests/ui/widgets/test_player.py::test_show_value PASSED [ 51%] | |
panel/tests/ui/widgets/test_player.py::test_name PASSED [ 51%] | |
panel/tests/ui/widgets/test_player.py::test_value_align PASSED [ 51%] | |
panel/tests/ui/widgets/test_player.py::test_name_and_show_value PASSED [ 51%] | |
panel/tests/ui/widgets/test_select.py::test_select_with_size PASSED [ 51%] | |
panel/tests/ui/widgets/test_select.py::test_select_option PASSED [ 51%] | |
panel/tests/ui/widgets/test_select.py::test_multi_select_double_click PASSED [ 52%] | |
panel/tests/ui/widgets/test_sliders.py::test_editableslider_textinput_end[EditableIntSlider] PASSED [ 52%] | |
panel/tests/ui/widgets/test_sliders.py::test_editableslider_textinput_end[EditableFloatSlider] PASSED [ 52%] | |
panel/tests/ui/widgets/test_sliders.py::test_editableslider_textinput_start[EditableIntSlider] PASSED [ 52%] | |
panel/tests/ui/widgets/test_sliders.py::test_editableslider_textinput_start[EditableFloatSlider] PASSED [ 52%] | |
panel/tests/ui/widgets/test_sliders.py::test_editableslider_button_end[EditableIntSlider] PASSED [ 53%] | |
panel/tests/ui/widgets/test_sliders.py::test_editableslider_button_end[EditableFloatSlider] PASSED [ 53%] | |
panel/tests/ui/widgets/test_sliders.py::test_editableslider_button_start[EditableIntSlider] PASSED [ 53%] | |
panel/tests/ui/widgets/test_sliders.py::test_editableslider_button_start[EditableFloatSlider] PASSED [ 53%] | |
panel/tests/ui/widgets/test_sliders.py::test_editablerangeslider_textinput_end[EditableRangeSlider] PASSED [ 53%] | |
panel/tests/ui/widgets/test_sliders.py::test_editablerangeslider_textinput_start[EditableRangeSlider] PASSED [ 53%] | |
panel/tests/ui/widgets/test_sliders.py::test_editablerangeslider_button_end[EditableRangeSlider] PASSED [ 54%] | |
panel/tests/ui/widgets/test_sliders.py::test_editablerangeslider_button_start[EditableRangeSlider] PASSED [ 54%] | |
panel/tests/ui/widgets/test_sliders.py::test_editablerangeslider_no_overlap PASSED [ 54%] | |
panel/tests/ui/widgets/test_sliders.py::test_intrangeslider PASSED [ 54%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_no_console_error PASSED [ 54%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_default PASSED [ 54%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_value_changed PASSED [ 55%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_disabled PASSED [ 55%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_show_index_disabled PASSED [ 55%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_titles PASSED [ 55%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_hidden_columns PASSED [ 55%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_buttons_display PASSED [ 55%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_buttons_event PASSED [ 56%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_formatters_bokeh_bool PASSED [ 56%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_formatters_bokeh_date PASSED [ 56%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_formatters_bokeh_date_with_nan PASSED [ 56%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_formatters_bokeh_number PASSED [ 56%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_formatters_bokeh_string PASSED [ 57%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_formatters_bokeh_html_multiple_columns PASSED [ 57%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_formatters_bokeh_html PASSED [ 57%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_formatters_bokeh_scientific PASSED [ 57%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_formatters_tabulator_str PASSED [ 57%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_formatters_tabulator_dict PASSED [ 57%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_formatters_after_init PASSED [ 58%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_bokeh_string PASSED [ 58%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_bokeh_string_completions PASSED [ 58%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_bokeh_text PASSED [ 58%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_bokeh_int PASSED [ 58%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_bokeh_number PASSED [ 58%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_bokeh_checkbox PASSED [ 59%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_bokeh_date PASSED [ 59%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_bokeh_select PASSED [ 59%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_panel_date PASSED [ 59%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_panel_datetime PASSED [ 59%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_tabulator_disable_one PASSED [ 59%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_tabulator_str PASSED [ 60%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_tabulator_dict PASSED [ 60%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_tabulator_list_default PASSED [ 60%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editors_tabulator_multiselect PASSED [ 60%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_column_layouts[fit_data] PASSED [ 60%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_column_layouts[fit_data_fill] PASSED [ 61%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_column_layouts[fit_data_stretch] PASSED [ 61%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_column_layouts[fit_data_table] PASSED [ 61%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_column_layouts[fit_columns] PASSED [ 61%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_alignment_header_default PASSED [ 61%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_alignment_text_default PASSED [ 61%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_alignment_header_str PASSED [ 62%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_alignment_header_dict PASSED [ 62%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_alignment_text_str PASSED [ 62%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_frozen_columns PASSED [ 62%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_frozen_columns_with_positions PASSED [ 62%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_frozen_rows PASSED [ 62%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_patch_no_horizontal_rescroll PASSED [ 63%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_patch_no_vertical_rescroll XFAIL (See https://github.com/holoviz/panel/issues/3249) [ 63%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_patch_no_height_resize FAILED [ 63%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filter_no_horizontal_rescroll[local] PASSED [ 63%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filter_no_horizontal_rescroll[remote] FAILED [ 63%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filter_no_horizontal_rescroll[None] ERROR [ 63%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filter_always_visible PASSED [ 64%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_theming[default] PASSED [ 64%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_theming[site] PASSED [ 64%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_theming[simple] PASSED [ 64%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_theming[midnight] PASSED [ 64%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_theming[modern] PASSED [ 64%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_theming[bootstrap] PASSED [ 65%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_theming[bootstrap4] PASSED [ 65%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_theming[materialize] PASSED [ 65%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_theming[bulma] PASSED [ 65%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_theming[semantic-ui] PASSED [ 65%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_theming[fast] PASSED [ 66%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_theming[bootstrap5] PASSED [ 66%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_selectable_by_default PASSED [ 66%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_selectable_one_at_a_time PASSED [ 66%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_selectable_ctrl PASSED [ 66%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_selectable_shift PASSED [ 66%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_selectable_disabled PASSED [ 67%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_default_selection PASSED [ 67%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_selectable_checkbox_all PASSED [ 67%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_selectable_checkbox_multiple PASSED [ 67%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_selectable_checkbox_single PASSED [ 67%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_selectable_toggle PASSED [ 67%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_selectable_rows PASSED [ 68%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_row_content PASSED [ 68%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_row_content_expand_from_python_init PASSED [ 68%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_row_content_expand_from_python_after PASSED [ 68%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_groups PASSED [ 68%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_groupby PASSED [ 68%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_hierarchical XFAIL (See https://github.com/holoviz/panel/issues/3564) [ 69%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_cell_click_event PASSED [ 69%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event PASSED [ 69%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_abort PASSED [ 69%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_empty_to_nan PASSED [ 69%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_pagination[remote] PASSED [ 70%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_pagination[local] PASSED [ 70%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_pagination_programmatic_update PASSED [ 70%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_filter_constant_scalar PASSED [ 70%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_filter_constant_list PASSED [ 70%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_filter_constant_tuple_range PASSED [ 70%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_filter_param PASSED [ 71%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_filter_bound_function PASSED [ 71%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filters_default[cols0] PASSED [ 71%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filters_default[cols1] XFAIL (See https://github.com/holoviz/panel/issues/3655) [ 71%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filters_default_index[index0-input[type="search"]] PASSED [ 71%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filters_default_index[index1-input[type="number"]] PASSED [ 71%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filters_default_index[index2-input[type="number"]] PASSED [ 72%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filters_default_index[index3-input[type="number"]] PASSED [ 72%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filters_init_from_editors PASSED [ 72%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filters_init_explicitly PASSED [ 72%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filters_set_from_client PASSED [ 72%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filters_multiselect PASSED [ 72%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_download PASSED [ 73%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_streaming_default PASSED [ 73%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_streaming_follow_pagination[remote] PASSED [ 73%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_streaming_follow_pagination[local] PASSED [ 73%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_streaming_no_follow PASSED [ 73%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_patching PASSED [ 74%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_patching_no_event PASSED [ 74%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_styling_init PASSED [ 74%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_patching_and_styling PASSED [ 74%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_filters_and_styling PASSED [ 74%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_configuration PASSED [ 74%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editor_datetime_nan XFAIL (See https://github.com/holoviz/panel/issues/3620) [ 75%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_on_init[ascending-index] PASSED [ 75%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_on_init[ascending-int] PASSED [ 75%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_on_init[ascending-float] PASSED [ 75%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_on_init[ascending-str] PASSED [ 75%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_on_init[ascending-date] PASSED [ 75%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_on_init[ascending-datetime] PASSED [ 76%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_on_init[descending-index] PASSED [ 76%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_on_init[descending-int] PASSED [ 76%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_on_init[descending-float] PASSED [ 76%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_on_init[descending-str] PASSED [ 76%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_on_init[descending-date] PASSED [ 76%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_on_init[descending-datetime] PASSED [ 77%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_on_init_multiple XFAIL (See https://github.com/holoviz/panel/issues/3657) [ 77%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_set_after_init PASSED [ 77%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_from_client PASSED [ 77%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_pagination_no_page_reset XFAIL (See https://github.com/holoviz/panel/issues/3658) [ 77%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_pagination[remote] PASSED [ 77%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorters_pagination[local] PASSED [ 78%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_sorters_not_automatically_applied PASSED [ 78%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_and_header_filters PASSED [ 78%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_and_header_filters_and_streamed_data PASSED [ 78%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_last_row PASSED [ 78%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters PASSED [ 79%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_same_column[index-True] FAILED [ 79%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_same_column[index-False] FAILED [ 79%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_same_column[foo-True] FAILED [ 79%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_same_column[foo-False] FAILED [ 79%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_same_column_pagination[remote] PASSED [ 79%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_same_column_pagination[local] PASSED [ 80%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[remote-header_filter-python_filter-sorter] PASSED [ 80%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[remote-header_filter-python_filter-no_sorter] PASSED [ 80%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[remote-header_filter-no_python_filter-sorter] PASSED [ 80%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[remote-header_filter-no_python_filter-no_sorter] PASSED [ 80%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[remote-no_header_filter-python_filter-sorter] PASSED [ 80%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[remote-no_header_filter-python_filter-no_sorter] PASSED [ 81%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[remote-no_header_filter-no_python_filter-sorter] PASSED [ 81%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[remote-no_header_filter-no_python_filter-no_sorter] PASSED [ 81%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[local-header_filter-python_filter-sorter] PASSED [ 81%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[local-header_filter-python_filter-no_sorter] PASSED [ 81%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[local-header_filter-no_python_filter-sorter] PASSED [ 81%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[local-header_filter-no_python_filter-no_sorter] PASSED [ 82%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[local-no_header_filter-python_filter-sorter] PASSED [ 82%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[local-no_header_filter-python_filter-no_sorter] PASSED [ 82%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[local-no_header_filter-no_python_filter-sorter] PASSED [ 82%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[local-no_header_filter-no_python_filter-no_sorter] PASSED [ 82%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[no_pagination-header_filter-python_filter-sorter] PASSED [ 83%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[no_pagination-header_filter-python_filter-no_sorter] PASSED [ 83%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[no_pagination-header_filter-no_python_filter-sorter] PASSED [ 83%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[no_pagination-header_filter-no_python_filter-no_sorter] PASSED [ 83%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[no_pagination-no_header_filter-python_filter-sorter] PASSED [ 83%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[no_pagination-no_header_filter-python_filter-no_sorter] PASSED [ 83%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[no_pagination-no_header_filter-no_python_filter-sorter] PASSED [ 84%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_integrations[no_pagination-no_header_filter-no_python_filter-no_sorter] PASSED [ 84%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[remote-header_filter-python_filter-sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 84%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[remote-header_filter-python_filter-no_sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 84%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[remote-header_filter-no_python_filter-sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 84%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[remote-header_filter-no_python_filter-no_sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 84%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[remote-no_header_filter-python_filter-sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 85%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[remote-no_header_filter-python_filter-no_sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 85%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[remote-no_header_filter-no_python_filter-sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 85%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[remote-no_header_filter-no_python_filter-no_sorter] PASSED [ 85%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[local-header_filter-python_filter-sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 85%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[local-header_filter-python_filter-no_sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 85%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[local-header_filter-no_python_filter-sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 86%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[local-header_filter-no_python_filter-no_sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 86%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[local-no_header_filter-python_filter-sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 86%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[local-no_header_filter-python_filter-no_sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 86%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[local-no_header_filter-no_python_filter-sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 86%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[local-no_header_filter-no_python_filter-no_sorter] PASSED [ 87%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[no_pagination-header_filter-python_filter-sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 87%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[no_pagination-header_filter-python_filter-no_sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 87%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[no_pagination-header_filter-no_python_filter-sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 87%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[no_pagination-header_filter-no_python_filter-no_sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 87%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[no_pagination-no_header_filter-python_filter-sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 87%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[no_pagination-no_header_filter-python_filter-no_sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 88%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[no_pagination-no_header_filter-no_python_filter-sorter] XFAIL (See https://github.com/holoviz/panel/issues/3664) [ 88%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_click_event_selection_integrations[no_pagination-no_header_filter-no_python_filter-no_sorter] PASSED [ 88%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_sorters_on_init PASSED [ 88%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_header_filter_unchanged PASSED [ 88%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_header_filter_changed XFAIL (See https://github.com/holoviz/panel/issues/3670) [ 88%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorter_not_reversed_after_init PASSED [ 89%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_loading_no_horizontal_rescroll PASSED [ 89%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_loading_no_vertical_rescroll PASSED [ 89%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_trigger_value_update PASSED [ 89%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_header_filter_pagination_updated[remote] PASSED [ 89%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_selection_header_filter_pagination_updated[local] PASSED [ 89%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sort_algorithm PASSED [ 90%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sort_algorithm_no_show_index PASSED [ 90%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sort_algorithm_by_type[string-vals0] PASSED [ 90%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sort_algorithm_by_type[number-vals1] PASSED [ 90%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sort_algorithm_by_type[boolean-vals2] PASSED [ 90%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sort_algorithm_by_type[datetime-vals3] PASSED [ 90%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_python_filter_edit PASSED [ 91%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_sorter_default_number PASSED [ 91%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_update_hidden_columns PASSED [ 91%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_remote_pagination_auto_page_size_grow PASSED [ 91%] | |
panel/tests/ui/widgets/test_tabulator.py::test_tabulator_remote_pagination_auto_page_size_shrink PASSED [ 91%] | |
panel/tests/ui/widgets/test_tabulator.py::test_selection_indices_on_paginated_and_filtered_data[local] PASSED [ 92%] | |
panel/tests/ui/widgets/test_tabulator.py::test_selection_indices_on_paginated_and_filtered_data[remote] PASSED [ 92%] | |
panel/tests/ui/widgets/test_tabulator.py::test_selection_indices_on_paginated_and_filtered_data[None] PASSED [ 92%] | |
panel/tests/ui/widgets/test_tabulator.py::test_selection_indices_on_paginated_sorted_and_filtered_data[local] PASSED [ 92%] | |
panel/tests/ui/widgets/test_tabulator.py::test_selection_indices_on_paginated_sorted_and_filtered_data[remote] FAILED [ 92%] | |
panel/tests/ui/widgets/test_tabulator.py::test_selection_indices_on_paginated_sorted_and_filtered_data[None] PASSED [ 92%] | |
panel/tests/ui/widgets/test_tabulator.py::test_range_selection_on_sorted_data_downward[remote] PASSED [ 93%] | |
panel/tests/ui/widgets/test_tabulator.py::test_range_selection_on_sorted_data_downward[local] PASSED [ 93%] | |
panel/tests/ui/widgets/test_tabulator.py::test_range_selection_on_sorted_data_downward[None] PASSED [ 93%] | |
panel/tests/ui/widgets/test_tabulator.py::test_range_selection_on_sorted_data_upward[remote] PASSED [ 93%] | |
panel/tests/ui/widgets/test_tabulator.py::test_range_selection_on_sorted_data_upward[local] PASSED [ 93%] | |
panel/tests/ui/widgets/test_tabulator.py::test_range_selection_on_sorted_data_upward[None] PASSED [ 93%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_Selection::test_one_item_first_page PASSED [ 94%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_Selection::test_one_item_first_page_and_then_another PASSED [ 94%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_Selection::test_two_items_first_page PASSED [ 94%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_Selection::test_one_item_first_page_goto_second_page PASSED [ 94%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_Selection::test_one_item_both_pages_python PASSED [ 94%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_Selection::test_one_item_both_pages PASSED [ 94%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_Selection::test_one_item_and_then_second_page PASSED [ 95%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_Selection::test_sorting[page1] PASSED [ 95%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_Selection::test_sorting[page2] PASSED [ 95%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_Selection::test_filtering[page1] PASSED [ 95%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_Selection::test_filtering[page2] PASSED [ 95%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_Selection::test_shift_select_page_1 PASSED [ 96%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_Selection::test_shift_select_page_2 PASSED [ 96%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_Selection::test_shift_select_both_pages PASSED [ 96%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_NumberSelection::test_selectable_integer_page_1 PASSED [ 96%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_NumberSelection::test_selectable_integer_page_2 PASSED [ 96%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_NumberSelection::test_selectable_integer_both_pages PASSED [ 96%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_CheckboxSelection::test_full_firstpage PASSED [ 97%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_CheckboxSelection::test_one_item_first_page PASSED [ 97%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_CheckboxSelection::test_one_item_first_page_goto_second_page PASSED [ 97%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_CheckboxSelection::test_one_item_both_pages_python PASSED [ 97%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_CheckboxSelection::test_sorting[page1] PASSED [ 97%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_CheckboxSelection::test_sorting[page2] PASSED [ 97%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_CheckboxSelection::test_sorting_all PASSED [ 98%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_CheckboxSelection::test_filtering[page1] PASSED [ 98%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_CheckboxSelection::test_filtering[page2] PASSED [ 98%] | |
panel/tests/ui/widgets/test_tabulator.py::Test_RemotePagination_CheckboxSelection::test_filtering_all PASSED [ 98%] | |
panel/tests/ui/widgets/test_texteditor.py::test_texteditor_renders PASSED [ 98%] | |
panel/tests/ui/widgets/test_texteditor.py::test_texteditor_toolbar_by_default PASSED [ 98%] | |
panel/tests/ui/widgets/test_texteditor.py::test_texteditor_no_toolbar PASSED [ 99%] | |
panel/tests/ui/widgets/test_texteditor.py::test_texteditor_init_with_value PASSED [ 99%] | |
panel/tests/ui/widgets/test_texteditor.py::test_texteditor_enter_value PASSED [ 99%] | |
panel/tests/ui/widgets/test_texteditor.py::test_texteditor_regression_copy_paste PASSED [ 99%] | |
panel/tests/ui/widgets/test_texteditor.py::test_texteditor_regression_preserve_formatting_on_view_change PASSED [ 99%] | |
panel/tests/ui/widgets/test_texteditor.py::test_texteditor_regression_click_toolbar_cursor_stays_in_place PASSED [100%] | |
====================================================================================================== ERRORS ====================================================================================================== | |
___________________________________________________________________ ERROR at setup of test_tabulator_header_filter_no_horizontal_rescroll[None] ____________________________________________________________________ | |
@pytest.hookimpl(hookwrapper=True, tryfirst=True) | |
def pytest_runtest_setup() -> Generator[None, None, None]: | |
> yield from unraisable_exception_runtest_hook() | |
.pixi/envs/test-ui/lib/python3.12/site-packages/_pytest/unraisableexception.py:83: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
def unraisable_exception_runtest_hook() -> Generator[None, None, None]: | |
with catch_unraisable_exception() as cm: | |
yield | |
if cm.unraisable: | |
if cm.unraisable.err_msg is not None: | |
err_msg = cm.unraisable.err_msg | |
else: | |
err_msg = "Exception ignored in" | |
msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" | |
msg += "".join( | |
traceback.format_exception( | |
cm.unraisable.exc_type, | |
cm.unraisable.exc_value, | |
cm.unraisable.exc_traceback, | |
) | |
) | |
> warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) | |
E pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO [closed]> | |
E | |
E Traceback (most recent call last): | |
E File "/Users/cdeil/code/oss/panel/.pixi/envs/test-ui/lib/python3.12/site-packages/pandas/core/internals/blocks.py", line 2804, in extend_blocks | |
E blocks.append(r) | |
E ResourceWarning: unclosed file <_io.BufferedRandom name='/var/folders/6v/0_6nt0pj07x9xjhd8qzkyy700000gn/T/tmpmom40sag.txt'> | |
.pixi/envs/test-ui/lib/python3.12/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning | |
During handling of the above exception, another exception occurred: | |
cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x153a08cc0>, when = 'setup', reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>) | |
@classmethod | |
def from_call( | |
cls, | |
func: "Callable[[], TResult]", | |
when: "Literal['collect', 'setup', 'call', 'teardown']", | |
reraise: Optional[ | |
Union[Type[BaseException], Tuple[Type[BaseException], ...]] | |
] = None, | |
) -> "CallInfo[TResult]": | |
"""Call func, wrapping the result in a CallInfo. | |
:param func: | |
The function to call. Called without arguments. | |
:param when: | |
The phase in which the function is called. | |
:param reraise: | |
Exception or exceptions that shall propagate if raised by the | |
function, instead of being wrapped in the CallInfo. | |
""" | |
excinfo = None | |
start = timing.time() | |
precise_start = timing.perf_counter() | |
try: | |
> result: Optional[TResult] = func() | |
.pixi/envs/test-ui/lib/python3.12/site-packages/_pytest/runner.py:341: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
.pixi/envs/test-ui/lib/python3.12/site-packages/_pytest/runner.py:262: in <lambda> | |
lambda: ihook(item=item, **kwds), when=when, reraise=reraise | |
.pixi/envs/test-ui/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ | |
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) | |
.pixi/envs/test-ui/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec | |
return self._inner_hookexec(hook_name, methods, kwargs, firstresult) | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
hook_name = 'pytest_runtest_setup' | |
hook_impl = <HookImpl plugin_name='unraisableexception', plugin=<module '_pytest.unraisableexception' from '/Users/cdeil/code/oss/panel/.pixi/envs/test-ui/lib/python3.12/site-packages/_pytest/unraisableexception.py'>> | |
e = PytestUnraisableExceptionWarning('Exception ignored in: <_io.FileIO [closed]>\n\nTraceback (most recent call last):\n ...rning: unclosed file <_io.BufferedRandom name=\'/var/folders/6v/0_6nt0pj07x9xjhd8qzkyy700000gn/T/tmpmom40sag.txt\'>\n') | |
def _warn_teardown_exception( | |
hook_name: str, hook_impl: HookImpl, e: BaseException | |
) -> None: | |
msg = "A plugin raised an exception during an old-style hookwrapper teardown.\n" | |
msg += f"Plugin: {hook_impl.plugin_name}, Hook: {hook_name}\n" | |
msg += f"{type(e).__name__}: {e}\n" | |
msg += "For more information see https://pluggy.readthedocs.io/en/stable/api_reference.html#pluggy.PluggyTeardownRaisedWarning" # noqa: E501 | |
> warnings.warn(PluggyTeardownRaisedWarning(msg), stacklevel=5) | |
E pluggy.PluggyTeardownRaisedWarning: A plugin raised an exception during an old-style hookwrapper teardown. | |
E Plugin: unraisableexception, Hook: pytest_runtest_setup | |
E PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO [closed]> | |
E | |
E Traceback (most recent call last): | |
E File "/Users/cdeil/code/oss/panel/.pixi/envs/test-ui/lib/python3.12/site-packages/pandas/core/internals/blocks.py", line 2804, in extend_blocks | |
E blocks.append(r) | |
E ResourceWarning: unclosed file <_io.BufferedRandom name='/var/folders/6v/0_6nt0pj07x9xjhd8qzkyy700000gn/T/tmpmom40sag.txt'> | |
E | |
E For more information see https://pluggy.readthedocs.io/en/stable/api_reference.html#pluggy.PluggyTeardownRaisedWarning | |
.pixi/envs/test-ui/lib/python3.12/site-packages/pluggy/_callers.py:50: PluggyTeardownRaisedWarning | |
===================================================================================================== FAILURES ===================================================================================================== | |
_________________________________________________________________________________________________ test_textual_app _________________________________________________________________________________________________ | |
page = <Page url='http://localhost:60618/'> | |
def test_textual_app(page): | |
clicks = [] | |
def app(): | |
# Has to be run on the thread | |
class ButtonApp(App): | |
def compose(self): | |
yield Button("Default") | |
def on_button_pressed(self, event: Button.Pressed) -> None: | |
clicks.append(event) | |
app = ButtonApp() | |
textual = Textual(app) | |
return textual | |
serve_component(page, app) | |
expect(page.locator(".xterm-screen")).to_have_count(1) | |
> wait_until(lambda: bool(page.mouse.click(50, 50) or clicks), page) | |
E TimeoutError: wait_until timed out in 5000 milliseconds | |
panel/tests/ui/pane/test_textual.py:43: TimeoutError | |
----------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------- | |
Launching server at http://localhost:60618 | |
----------------------------------------------------------------------------------------------- Captured stderr call ----------------------------------------------------------------------------------------------- | |
╭───────────────────── Traceback (most recent call last) ──────────────────────╮ | |
│ /Users/cdeil/code/oss/panel/.pixi/envs/test-ui/lib/python3.12/site-packages/ │ | |
│ textual/app.py:2592 in _process_messages │ | |
│ │ | |
│ 2589 │ │ │ self.log(driver=driver) │ | |
│ 2590 │ │ │ │ | |
│ 2591 │ │ │ if not self._exit: │ | |
│ ❱ 2592 │ │ │ │ driver.start_application_mode() │ | |
│ 2593 │ │ │ │ try: │ | |
│ 2594 │ │ │ │ │ with redirect_stdout(self._capture_stdout): │ | |
│ 2595 │ │ │ │ │ │ with redirect_stderr(self._capture_stderr): │ | |
│ │ | |
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │ | |
│ │ css = '\n App {\n background: $background;\n │ │ | |
│ │ color: $text;\n }\n *:di'+51 │ │ | |
│ │ driver = <panel.pane._textual.PanelDriver object at │ │ | |
│ │ 0x147508620> │ │ | |
│ │ error = TypeError('XTermParser.__init__() takes from 1 to │ │ | |
│ │ 2 positional arguments but 3 were given') │ │ | |
│ │ headless = False │ │ | |
│ │ inline = False │ │ | |
│ │ inline_no_clear = False │ │ | |
│ │ load_event = Load() │ │ | |
│ │ message_hook = None │ │ | |
│ │ mouse = True │ │ | |
│ │ read_from = ( │ │ | |
│ │ │ │ │ | |
│ │ '/Users/cdeil/code/oss/panel/.pixi/envs/test-ui/… │ │ | |
│ │ │ 'App.DEFAULT_CSS' │ │ | |
│ │ ) │ │ | |
│ │ ready_callback = None │ │ | |
│ │ run_process_messages = <function │ │ | |
│ │ App._process_messages.<locals>.run_process_messa… │ │ | |
│ │ at 0x14763cd60> │ │ | |
│ │ scope = 'App' │ │ | |
│ │ self = ButtonApp( │ │ | |
│ │ │ title='ButtonApp', │ │ | |
│ │ │ classes={'-dark-mode'} │ │ | |
│ │ ) │ │ | |
│ │ terminal_size = (0, 0) │ │ | |
│ │ tie_breaker = -1 │ │ | |
│ ╰──────────────────────────────────────────────────────────────────────────╯ │ | |
│ │ | |
│ /Users/cdeil/code/oss/panel/panel/pane/_textual.py:80 in │ | |
│ start_application_mode │ | |
│ │ | |
│ 77 │ │ | |
│ 78 │ def start_application_mode(self): │ | |
│ 79 │ │ self._size_watcher = self._terminal.param.watch(self._resize, [ │ | |
│ ❱ 80 │ │ self._parser = XTermParser(lambda: False, self._debug) │ | |
│ 81 │ │ self._input_watcher = self._terminal.param.watch(self._process_ │ | |
│ 82 │ │ | |
│ 83 │ def stop_application_mode(self): │ | |
│ │ | |
│ ╭──────────────────────────── locals ────────────────────────────╮ │ | |
│ │ self = <panel.pane._textual.PanelDriver object at 0x147508620> │ │ | |
│ ╰────────────────────────────────────────────────────────────────╯ │ | |
╰──────────────────────────────────────────────────────────────────────────────╯ | |
TypeError: XTermParser.__init__() takes from 1 to 2 positional arguments but 3 | |
were given | |
------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------- | |
INFO tornado.access:web.py:2348 200 GET /liveness (::1) 0.25ms | |
INFO tornado.access:web.py:2348 200 GET / (::1) 103.03ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/terminal/xterm@4.11.0/css/xterm.css?v=1.5.0-b.3 (::1) 5.52ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.css?v=1.5.0-b.3 (::1) 0.88ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack.min.css?v=1.5.0-b.3 (::1) 0.97ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-extra.min.css?v=1.5.0-b.3 (::1) 1.05ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.css?v=1.5.0-b.3 (::1) 1.18ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/font-awesome/css/all.min.css?v=1.5.0-b.3 (::1) 1.29ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/notifications.css?v=1.5.0-b.3 (::1) 1.37ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/terminal/xterm-addon-web-links@0.4.0/lib/xterm-addon-web-links.js (::1) 60.28ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-gl.min.js?v=70bc1a9856b732e888ed6b2a8e9b6382bf538fee3ec9f1145b8db1778158fd51e478dbe0600650e30d5a0083b12fc43961bc7b2ef3e9f366000199b83b9a1644 (::1) 62.07ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-widgets.min.js?v=8541420c1bb1dbde534df1d9b2be7c8248f61fca353a821ffc4d459b08b79c4b39f0ea1dd6960aa3b734bea988cf822dc6993c786de844db80e4f258dd90727f (::1) 63.39ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-tables.min.js?v=26281191594de496d010d87b3a56c1679330da29fcf72d3dab91ac4a45479c16b36e82ce4325f4217df4614fad13927fd7f1e1be64cf838e4a18a60852e2be0e (::1) 66.69ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js (::1) 3.19ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js (::1) 3.77ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js (::1) 7.92ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/terminal/xterm@4.14.1/lib/xterm.js (::1) 77.68ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh.min.js?v=276377ed021e1611c60311b355033c865900f31a918aa4565aba37a78700f17b017100a8a618bded4140c6ad247a0b0237d3a02bee9fd722ce67a459479522dc (::1) 77.60ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js (::1) 8.83ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js (::1) 0.72ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js (::1) 0.77ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js (::1) 0.86ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.js (::1) 0.93ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js (::1) 1.01ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/panel.min.js?v=a91daab4668e3299f59ed231b5da2e657f5e65d10a1d501ff0a660306b1fdb79 (::1) 2.08ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/reactiveesm/es-module-shims@%5E1.10.0/dist/es-module-shims.min.js (::1) 0.75ms | |
INFO tornado.access:web.py:2348 101 GET /ws (::1) 1.92ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/loading.css?v=1.5.0-b.3 (::1) 1.62ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/default.css?v=1.5.0-b.3 (::1) 3.86ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/native.css?v=1.5.0-b.3 (::1) 4.72ms | |
_________________________________________________________________________________________________ test_vizzu_click _________________________________________________________________________________________________ | |
page = <Page url='http://localhost:60673/'> | |
def test_vizzu_click(page): | |
vizzu = Vizzu( | |
DATA, config=CONFIG, duration=400, height=400, sizing_mode='stretch_width', tooltip=True | |
) | |
clicks = [] | |
vizzu.on_click(clicks.append) | |
msgs, _ = serve_component(page, vizzu) | |
expect(page.locator('canvas')).to_have_count(1) | |
bbox = page.locator('canvas').bounding_box() | |
page.mouse.click(bbox['width']//2, bbox['height']-100) | |
> wait_until(lambda: len(clicks) == 1, page) | |
E TimeoutError: wait_until timed out in 5000 milliseconds | |
panel/tests/ui/pane/test_vizzu.py:54: TimeoutError | |
----------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------- | |
Launching server at http://localhost:60673 | |
------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------- | |
INFO tornado.access:web.py:2348 200 GET /liveness (::1) 0.18ms | |
INFO tornado.access:web.py:2348 200 GET / (::1) 8.34ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.css?v=1.5.0-b.3 (::1) 0.48ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack.min.css?v=1.5.0-b.3 (::1) 0.36ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-extra.min.css?v=1.5.0-b.3 (::1) 0.58ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.css?v=1.5.0-b.3 (::1) 0.76ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/font-awesome/css/all.min.css?v=1.5.0-b.3 (::1) 0.59ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/notifications.css?v=1.5.0-b.3 (::1) 0.78ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-gl.min.js?v=70bc1a9856b732e888ed6b2a8e9b6382bf538fee3ec9f1145b8db1778158fd51e478dbe0600650e30d5a0083b12fc43961bc7b2ef3e9f366000199b83b9a1644 (::1) 1.18ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js (::1) 0.52ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js (::1) 0.59ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-widgets.min.js?v=8541420c1bb1dbde534df1d9b2be7c8248f61fca353a821ffc4d459b08b79c4b39f0ea1dd6960aa3b734bea988cf822dc6993c786de844db80e4f258dd90727f (::1) 0.76ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-tables.min.js?v=26281191594de496d010d87b3a56c1679330da29fcf72d3dab91ac4a45479c16b36e82ce4325f4217df4614fad13927fd7f1e1be64cf838e4a18a60852e2be0e (::1) 1.28ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh.min.js?v=276377ed021e1611c60311b355033c865900f31a918aa4565aba37a78700f17b017100a8a618bded4140c6ad247a0b0237d3a02bee9fd722ce67a459479522dc (::1) 3.79ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js (::1) 0.81ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js (::1) 0.84ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js (::1) 1.15ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js (::1) 1.40ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js (::1) 1.72ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js (::1) 2.04ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.js (::1) 0.80ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/reactiveesm/es-module-shims@%5E1.10.0/dist/es-module-shims.min.js (::1) 1.14ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/panel.min.js?v=a91daab4668e3299f59ed231b5da2e657f5e65d10a1d501ff0a660306b1fdb79 (::1) 1.85ms | |
INFO tornado.access:web.py:2348 101 GET /ws (::1) 0.29ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/loading.css?v=1.5.0-b.3 (::1) 0.41ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/default.css?v=1.5.0-b.3 (::1) 0.53ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/native.css?v=1.5.0-b.3 (::1) 1.59ms | |
_________________________________________________________________________________________ test_editable_template_drag_item _________________________________________________________________________________________ | |
page = <Page url='http://localhost:60822/'> | |
def test_editable_template_drag_item(page): | |
tmpl = EditableTemplate() | |
md1 = Markdown('1') | |
md2 = Markdown('2') | |
tmpl.main[:] = [md1, md2] | |
serve_component(page, tmpl) | |
md2_handle = page.locator(".muuri-handle.drag").nth(1) | |
md2_handle.drag_to(md2_handle, target_position={'x': 0, 'y': -50}, force=True) | |
> wait_until(lambda: list(tmpl.layout) == [id(md2), id(md1)], page) | |
E TimeoutError: wait_until timed out in 5000 milliseconds | |
panel/tests/ui/template/test_editabletemplate.py:179: TimeoutError | |
----------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------- | |
Launching server at http://localhost:60822 | |
------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------- | |
INFO tornado.access:web.py:2348 200 GET /liveness (::1) 0.19ms | |
INFO tornado.access:web.py:2348 200 GET / (::1) 30.23ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.css?v=1.5.0-b.3 (::1) 0.55ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack.min.css?v=1.5.0-b.3 (::1) 0.30ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-extra.min.css?v=1.5.0-b.3 (::1) 0.27ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.css?v=1.5.0-b.3 (::1) 0.23ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/font-awesome/css/all.min.css?v=1.5.0-b.3 (::1) 0.64ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/notifications.css?v=1.5.0-b.3 (::1) 0.62ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/vanillatemplate/vanilla.css?v=1.5.0-b.3 (::1) 0.60ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/loadingspinner.css?v=1.5.0-b.3 (::1) 0.46ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/markdown.css?v=1.5.0-b.3 (::1) 0.54ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/loading.css?v=1.5.0-b.3 (::1) 0.63ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/default.css?v=1.5.0-b.3 (::1) 0.73ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/editabletemplate/editable.css?v=1.5.0-b.3 (::1) 1.34ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-gl.min.js?v=70bc1a9856b732e888ed6b2a8e9b6382bf538fee3ec9f1145b8db1778158fd51e478dbe0600650e30d5a0083b12fc43961bc7b2ef3e9f366000199b83b9a1644 (::1) 0.66ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-tables.min.js?v=26281191594de496d010d87b3a56c1679330da29fcf72d3dab91ac4a45479c16b36e82ce4325f4217df4614fad13927fd7f1e1be64cf838e4a18a60852e2be0e (::1) 0.93ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js (::1) 1.15ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js (::1) 1.95ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh.min.js?v=276377ed021e1611c60311b355033c865900f31a918aa4565aba37a78700f17b017100a8a618bded4140c6ad247a0b0237d3a02bee9fd722ce67a459479522dc (::1) 4.77ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js (::1) 1.51ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js (::1) 1.61ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js (::1) 1.74ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-widgets.min.js?v=8541420c1bb1dbde534df1d9b2be7c8248f61fca353a821ffc4d459b08b79c4b39f0ea1dd6960aa3b734bea988cf822dc6993c786de844db80e4f258dd90727f (::1) 4.80ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js (::1) 1.31ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js (::1) 0.90ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.js (::1) 1.29ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/panel.min.js?v=a91daab4668e3299f59ed231b5da2e657f5e65d10a1d501ff0a660306b1fdb79 (::1) 1.75ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/reactiveesm/es-module-shims@%5E1.10.0/dist/es-module-shims.min.js (::1) 1.86ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js (::1) 1.55ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/interactjs@1.10.19/dist/interact.min.js (::1) 1.94ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/muuri@0.9.5/dist/muuri.min.js (::1) 0.74ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/web-animations-js@2.3.2/web-animations.min.js (::1) 0.92ms | |
INFO tornado.access:web.py:2348 101 GET /ws (::1) 0.38ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/native.css?v=1.5.0-b.3 (::1) 0.46ms | |
__________________________________________________________________________________________ test_toggle_icon_width_height ___________________________________________________________________________________________ | |
page = <Page url='http://localhost:61099/'> | |
def test_toggle_icon_width_height(page): | |
icon = ToggleIcon(width=100, height=100) | |
serve_component(page, icon) | |
# test defaults | |
assert icon.icon == "heart" | |
assert not icon.value | |
icon_element = page.locator(".ti-heart") | |
> wait_until(lambda: icon_element.bounding_box()["width"] == 100) | |
E TimeoutError: wait_until timed out in 5000 milliseconds | |
panel/tests/ui/widgets/test_icon.py:54: TimeoutError | |
----------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------- | |
Launching server at http://localhost:61099 | |
------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------- | |
INFO tornado.access:web.py:2348 200 GET /liveness (::1) 0.25ms | |
INFO tornado.access:web.py:2348 200 GET / (::1) 8.52ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.css?v=1.5.0-b.3 (::1) 0.46ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack.min.css?v=1.5.0-b.3 (::1) 0.85ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-extra.min.css?v=1.5.0-b.3 (::1) 0.70ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-gl.min.js?v=70bc1a9856b732e888ed6b2a8e9b6382bf538fee3ec9f1145b8db1778158fd51e478dbe0600650e30d5a0083b12fc43961bc7b2ef3e9f366000199b83b9a1644 (::1) 1.35ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.css?v=1.5.0-b.3 (::1) 1.19ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/font-awesome/css/all.min.css?v=1.5.0-b.3 (::1) 1.32ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/notifications.css?v=1.5.0-b.3 (::1) 1.44ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-widgets.min.js?v=8541420c1bb1dbde534df1d9b2be7c8248f61fca353a821ffc4d459b08b79c4b39f0ea1dd6960aa3b734bea988cf822dc6993c786de844db80e4f258dd90727f (::1) 0.81ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-tables.min.js?v=26281191594de496d010d87b3a56c1679330da29fcf72d3dab91ac4a45479c16b36e82ce4325f4217df4614fad13927fd7f1e1be64cf838e4a18a60852e2be0e (::1) 1.48ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js (::1) 1.25ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js (::1) 1.37ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js (::1) 1.49ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh.min.js?v=276377ed021e1611c60311b355033c865900f31a918aa4565aba37a78700f17b017100a8a618bded4140c6ad247a0b0237d3a02bee9fd722ce67a459479522dc (::1) 5.14ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js (::1) 0.77ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js (::1) 1.77ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js (::1) 1.73ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js (::1) 1.95ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js (::1) 2.24ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.js (::1) 2.47ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/panel.min.js?v=a91daab4668e3299f59ed231b5da2e657f5e65d10a1d501ff0a660306b1fdb79 (::1) 1.57ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/reactiveesm/es-module-shims@%5E1.10.0/dist/es-module-shims.min.js (::1) 1.50ms | |
INFO tornado.access:web.py:2348 101 GET /ws (::1) 0.42ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/loading.css?v=1.5.0-b.3 (::1) 0.56ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/icon.css?v=1.5.0-b.3 (::1) 0.69ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/default.css?v=1.5.0-b.3 (::1) 1.26ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/native.css?v=1.5.0-b.3 (::1) 2.27ms | |
______________________________________________________________________________________________ test_toggle_icon_size _______________________________________________________________________________________________ | |
page = <Page url='http://localhost:61112/'> | |
def test_toggle_icon_size(page): | |
icon = ToggleIcon(size="120px") | |
serve_component(page, icon) | |
# test defaults | |
assert icon.icon == "heart" | |
assert not icon.value | |
icon_element = page.locator(".ti-heart") | |
> wait_until(lambda: icon_element.bounding_box()["width"] == 120) | |
E TimeoutError: wait_until timed out in 5000 milliseconds | |
panel/tests/ui/widgets/test_icon.py:66: TimeoutError | |
----------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------- | |
Launching server at http://localhost:61112 | |
------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------- | |
INFO tornado.access:web.py:2348 200 GET /liveness (::1) 0.18ms | |
INFO tornado.access:web.py:2348 200 GET / (::1) 7.95ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.css?v=1.5.0-b.3 (::1) 0.45ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack.min.css?v=1.5.0-b.3 (::1) 0.39ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-gl.min.js?v=70bc1a9856b732e888ed6b2a8e9b6382bf538fee3ec9f1145b8db1778158fd51e478dbe0600650e30d5a0083b12fc43961bc7b2ef3e9f366000199b83b9a1644 (::1) 0.80ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-extra.min.css?v=1.5.0-b.3 (::1) 1.10ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.css?v=1.5.0-b.3 (::1) 0.54ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/font-awesome/css/all.min.css?v=1.5.0-b.3 (::1) 0.67ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/notifications.css?v=1.5.0-b.3 (::1) 0.83ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-widgets.min.js?v=8541420c1bb1dbde534df1d9b2be7c8248f61fca353a821ffc4d459b08b79c4b39f0ea1dd6960aa3b734bea988cf822dc6993c786de844db80e4f258dd90727f (::1) 0.76ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-tables.min.js?v=26281191594de496d010d87b3a56c1679330da29fcf72d3dab91ac4a45479c16b36e82ce4325f4217df4614fad13927fd7f1e1be64cf838e4a18a60852e2be0e (::1) 0.99ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js (::1) 0.77ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js (::1) 1.16ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js (::1) 1.45ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh.min.js?v=276377ed021e1611c60311b355033c865900f31a918aa4565aba37a78700f17b017100a8a618bded4140c6ad247a0b0237d3a02bee9fd722ce67a459479522dc (::1) 4.82ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js (::1) 0.47ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js (::1) 0.50ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js (::1) 0.78ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js (::1) 0.71ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js (::1) 0.86ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.js (::1) 1.30ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/panel.min.js?v=a91daab4668e3299f59ed231b5da2e657f5e65d10a1d501ff0a660306b1fdb79 (::1) 1.02ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/reactiveesm/es-module-shims@%5E1.10.0/dist/es-module-shims.min.js (::1) 1.03ms | |
INFO tornado.access:web.py:2348 101 GET /ws (::1) 0.31ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/loading.css?v=1.5.0-b.3 (::1) 0.38ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/icon.css?v=1.5.0-b.3 (::1) 0.43ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/default.css?v=1.5.0-b.3 (::1) 0.64ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/native.css?v=1.5.0-b.3 (::1) 0.83ms | |
______________________________________________________________________________________ test_tabulator_patch_no_height_resize _______________________________________________________________________________________ | |
page = <Page url='http://localhost:62209/'> | |
def test_tabulator_patch_no_height_resize(page): | |
header = Column('Text', height=1000) | |
df = pd.DataFrame(np.random.random((150, 1)), columns=['a']) | |
widget = Tabulator(df) | |
app = Column(header, widget) | |
serve_component(page, app) | |
page.mouse.wheel(delta_x=0, delta_y=10000) | |
at_bottom_script = """ | |
isAtBottom => (window.innerHeight + window.scrollY) >= document.body.scrollHeight; | |
""" | |
> wait_until(lambda: page.evaluate(at_bottom_script), page) | |
E TimeoutError: wait_until timed out in 5000 milliseconds | |
panel/tests/ui/widgets/test_tabulator.py:1103: TimeoutError | |
----------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------- | |
Launching server at http://localhost:62209 | |
------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------- | |
INFO tornado.access:web.py:2348 200 GET /liveness (::1) 0.23ms | |
INFO tornado.access:web.py:2348 200 GET / (::1) 21.31ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/tabulator-tables@6.2.1/dist/css/tabulator_simple.min.css?v=1.5.0-b.3 (::1) 0.52ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.css?v=1.5.0-b.3 (::1) 0.33ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack.min.css?v=1.5.0-b.3 (::1) 0.86ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/luxon/build/global/luxon.min.js (::1) 0.36ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-extra.min.css?v=1.5.0-b.3 (::1) 0.71ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.css?v=1.5.0-b.3 (::1) 0.90ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/font-awesome/css/all.min.css?v=1.5.0-b.3 (::1) 1.40ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/notifications.css?v=1.5.0-b.3 (::1) 1.53ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/tabulator-tables@6.2.1/dist/js/tabulator.min.js (::1) 1.96ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh.min.js?v=276377ed021e1611c60311b355033c865900f31a918aa4565aba37a78700f17b017100a8a618bded4140c6ad247a0b0237d3a02bee9fd722ce67a459479522dc (::1) 1.59ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-gl.min.js?v=70bc1a9856b732e888ed6b2a8e9b6382bf538fee3ec9f1145b8db1778158fd51e478dbe0600650e30d5a0083b12fc43961bc7b2ef3e9f366000199b83b9a1644 (::1) 1.00ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-widgets.min.js?v=8541420c1bb1dbde534df1d9b2be7c8248f61fca353a821ffc4d459b08b79c4b39f0ea1dd6960aa3b734bea988cf822dc6993c786de844db80e4f258dd90727f (::1) 1.50ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-tables.min.js?v=26281191594de496d010d87b3a56c1679330da29fcf72d3dab91ac4a45479c16b36e82ce4325f4217df4614fad13927fd7f1e1be64cf838e4a18a60852e2be0e (::1) 2.21ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js (::1) 2.64ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js (::1) 4.12ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js (::1) 0.49ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js (::1) 0.94ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js (::1) 0.87ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js (::1) 0.91ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js (::1) 0.97ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js (::1) 1.40ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.js (::1) 0.46ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/panel.min.js?v=a91daab4668e3299f59ed231b5da2e657f5e65d10a1d501ff0a660306b1fdb79 (::1) 1.10ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/reactiveesm/es-module-shims@%5E1.10.0/dist/es-module-shims.min.js (::1) 1.18ms | |
INFO tornado.access:web.py:2348 101 GET /ws (::1) 0.40ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/loading.css?v=1.5.0-b.3 (::1) 1.01ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/listpanel.css?v=1.5.0-b.3 (::1) 1.57ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/default.css?v=1.5.0-b.3 (::1) 2.22ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/native.css?v=1.5.0-b.3 (::1) 2.40ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/markdown.css?v=1.5.0-b.3 (::1) 3.10ms | |
___________________________________________________________________________ test_tabulator_header_filter_no_horizontal_rescroll[remote] ____________________________________________________________________________ | |
page = <Page url='http://localhost:62228/'> | |
df_mixed = int float str bool date datetime newcol | |
idx0 1 3.14 A True 2019-01-01 2019-01-01 ...42 C True 2020-01-10 2020-01-10 13:00:00 on | |
idx3 4 -2.45 D False 2019-01-10 2020-01-15 13:00:00 on | |
pagination = 'remote' | |
@pytest.mark.parametrize( | |
'pagination', ('local', 'remote', None) | |
) | |
def test_tabulator_header_filter_no_horizontal_rescroll(page, df_mixed, pagination): | |
widths = 100 | |
width = int(((df_mixed.shape[1] + 1) * widths) / 2) | |
col_name = 'newcol' | |
df_mixed[col_name] = 'on' | |
widget = Tabulator( | |
df_mixed, | |
width=width, | |
widths=widths, | |
header_filters={col_name: {'type': 'input', 'func': 'like'}}, | |
pagination=pagination | |
) | |
serve_component(page, widget) | |
header = page.locator(f'text="{col_name}"') | |
# Scroll to the right | |
header.scroll_into_view_if_needed() | |
bb = header.bounding_box() | |
header = page.locator('input[type="search"]') | |
header.click() | |
header.fill('off') | |
header.press('Enter') | |
# Wait to catch a potential rescroll | |
page.wait_for_timeout(400) | |
# The table should keep the same scroll position, this fails | |
> assert page.locator(f'text="{col_name}"').bounding_box() == bb | |
E AssertionError: assert {'height': 20...: 714, 'y': 9} == {'height': 20...: 264, 'y': 9} | |
E Omitting 3 identical items, use -vv to show | |
E Differing items: | |
E {'x': 714} != {'x': 264} | |
E Full diff: | |
E - {'height': 20, 'width': 91, 'x': 264, 'y': 9} | |
E ? ^^ | |
E + {'height': 20, 'width': 91, 'x': 714, 'y': 9} | |
E ? ^^ | |
panel/tests/ui/widgets/test_tabulator.py:1145: AssertionError | |
----------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------- | |
Launching server at http://localhost:62228 | |
------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------- | |
INFO tornado.access:web.py:2348 200 GET /liveness (::1) 0.24ms | |
INFO tornado.access:web.py:2348 200 GET / (::1) 23.18ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/tabulator-tables@6.2.1/dist/css/tabulator_simple.min.css?v=1.5.0-b.3 (::1) 0.52ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.css?v=1.5.0-b.3 (::1) 0.43ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack.min.css?v=1.5.0-b.3 (::1) 0.53ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-extra.min.css?v=1.5.0-b.3 (::1) 0.91ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/luxon/build/global/luxon.min.js (::1) 1.12ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.css?v=1.5.0-b.3 (::1) 1.66ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/font-awesome/css/all.min.css?v=1.5.0-b.3 (::1) 1.79ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/notifications.css?v=1.5.0-b.3 (::1) 0.31ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/tabulator-tables@6.2.1/dist/js/tabulator.min.js (::1) 1.02ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-gl.min.js?v=70bc1a9856b732e888ed6b2a8e9b6382bf538fee3ec9f1145b8db1778158fd51e478dbe0600650e30d5a0083b12fc43961bc7b2ef3e9f366000199b83b9a1644 (::1) 0.71ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-widgets.min.js?v=8541420c1bb1dbde534df1d9b2be7c8248f61fca353a821ffc4d459b08b79c4b39f0ea1dd6960aa3b734bea988cf822dc6993c786de844db80e4f258dd90727f (::1) 0.99ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-tables.min.js?v=26281191594de496d010d87b3a56c1679330da29fcf72d3dab91ac4a45479c16b36e82ce4325f4217df4614fad13927fd7f1e1be64cf838e4a18a60852e2be0e (::1) 1.55ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh.min.js?v=276377ed021e1611c60311b355033c865900f31a918aa4565aba37a78700f17b017100a8a618bded4140c6ad247a0b0237d3a02bee9fd722ce67a459479522dc (::1) 6.42ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js (::1) 1.73ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js (::1) 2.11ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js (::1) 0.84ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js (::1) 0.94ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js (::1) 1.39ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js (::1) 1.99ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js (::1) 0.69ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js (::1) 0.67ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.js (::1) 0.59ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/reactiveesm/es-module-shims@%5E1.10.0/dist/es-module-shims.min.js (::1) 1.36ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/panel.min.js?v=a91daab4668e3299f59ed231b5da2e657f5e65d10a1d501ff0a660306b1fdb79 (::1) 1.78ms | |
INFO tornado.access:web.py:2348 101 GET /ws (::1) 0.26ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/loading.css?v=1.5.0-b.3 (::1) 0.40ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/default.css?v=1.5.0-b.3 (::1) 0.33ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/native.css?v=1.5.0-b.3 (::1) 0.36ms | |
_______________________________________________________________________ test_tabulator_edit_event_and_header_filters_same_column[index-True] _______________________________________________________________________ | |
page = <Page url='http://localhost:63028/'>, show_index = True, index_name = 'index' | |
@pytest.mark.parametrize('show_index', [True, False]) | |
@pytest.mark.parametrize('index_name', ['index', 'foo']) | |
def test_tabulator_edit_event_and_header_filters_same_column(page, show_index, index_name): | |
df = pd.DataFrame({ | |
'values': ['A', 'A', 'B', 'B'], | |
}, index=['idx0', 'idx1', 'idx2', 'idx3']) | |
df.index.name = index_name | |
widget = Tabulator( | |
df, | |
header_filters={'values': {'type': 'input', 'func': 'like'}}, | |
show_index=show_index, | |
) | |
values = [] | |
widget.on_edit(lambda e: values.append((e.column, e.row, e.old, e.value))) | |
serve_component(page, widget) | |
header = page.locator('input[type="search"]') | |
header.click() | |
header.fill('B') | |
header.press('Enter') | |
# Check the table has the right number of rows | |
expect(page.locator('.tabulator-row')).to_have_count(2) | |
# Edit a cell in the filtered column, from B to X | |
cell = page.locator('text="B"').nth(1) | |
cell.click() | |
editable_cell = page.locator('input[type="text"]') | |
# For some reason there's sometimes an edit event sent with the old | |
# value as new value. Waiting here helps. | |
page.wait_for_timeout(200) | |
> editable_cell.fill("X") | |
panel/tests/ui/widgets/test_tabulator.py:2679: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/sync_api/_generated.py:15440: in fill | |
self._sync( | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_locator.py:208: in fill | |
return await self._frame.fill(self._selector, strict=True, **params) | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_frame.py:527: in fill | |
await self._channel.send("fill", locals_to_params(locals())) | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_connection.py:59: in send | |
return await self._connection.wrap_api_call( | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <playwright._impl._connection.Connection object at 0x136cbb5c0>, cb = <function Channel.send.<locals>.<lambda> at 0x154368f40>, is_internal = False | |
async def wrap_api_call( | |
self, cb: Callable[[], Any], is_internal: bool = False | |
) -> Any: | |
if self._api_zone.get(): | |
return await cb() | |
task = asyncio.current_task(self._loop) | |
st: List[inspect.FrameInfo] = getattr(task, "__pw_stack__", inspect.stack()) | |
parsed_st = _extract_stack_trace_information_from_stack(st, is_internal) | |
self._api_zone.set(parsed_st) | |
try: | |
return await cb() | |
except Exception as error: | |
> raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None | |
E playwright._impl._errors.TimeoutError: Locator.fill: Timeout 20000ms exceeded. | |
E Call log: | |
E waiting for locator("input[type=\"text\"]") | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_connection.py:514: TimeoutError | |
----------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------- | |
Launching server at http://localhost:63028 | |
------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------- | |
INFO tornado.access:web.py:2348 200 GET /liveness (::1) 0.24ms | |
INFO tornado.access:web.py:2348 200 GET / (::1) 16.71ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/tabulator-tables@6.2.1/dist/css/tabulator_simple.min.css?v=1.5.0-b.3 (::1) 0.41ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.css?v=1.5.0-b.3 (::1) 0.48ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack.min.css?v=1.5.0-b.3 (::1) 0.74ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-extra.min.css?v=1.5.0-b.3 (::1) 0.39ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/luxon/build/global/luxon.min.js (::1) 0.76ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.css?v=1.5.0-b.3 (::1) 0.51ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/font-awesome/css/all.min.css?v=1.5.0-b.3 (::1) 0.63ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/notifications.css?v=1.5.0-b.3 (::1) 0.72ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-gl.min.js?v=70bc1a9856b732e888ed6b2a8e9b6382bf538fee3ec9f1145b8db1778158fd51e478dbe0600650e30d5a0083b12fc43961bc7b2ef3e9f366000199b83b9a1644 (::1) 0.95ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-widgets.min.js?v=8541420c1bb1dbde534df1d9b2be7c8248f61fca353a821ffc4d459b08b79c4b39f0ea1dd6960aa3b734bea988cf822dc6993c786de844db80e4f258dd90727f (::1) 0.58ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-tables.min.js?v=26281191594de496d010d87b3a56c1679330da29fcf72d3dab91ac4a45479c16b36e82ce4325f4217df4614fad13927fd7f1e1be64cf838e4a18a60852e2be0e (::1) 0.99ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js (::1) 1.47ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/tabulator-tables@6.2.1/dist/js/tabulator.min.js (::1) 3.98ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh.min.js?v=276377ed021e1611c60311b355033c865900f31a918aa4565aba37a78700f17b017100a8a618bded4140c6ad247a0b0237d3a02bee9fd722ce67a459479522dc (::1) 5.65ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js (::1) 2.40ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js (::1) 0.68ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js (::1) 1.05ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js (::1) 1.34ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js (::1) 1.43ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js (::1) 0.38ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js (::1) 0.66ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.js (::1) 0.57ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/panel.min.js?v=a91daab4668e3299f59ed231b5da2e657f5e65d10a1d501ff0a660306b1fdb79 (::1) 1.41ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/reactiveesm/es-module-shims@%5E1.10.0/dist/es-module-shims.min.js (::1) 1.96ms | |
INFO tornado.access:web.py:2348 101 GET /ws (::1) 0.35ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/loading.css?v=1.5.0-b.3 (::1) 0.70ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/default.css?v=1.5.0-b.3 (::1) 1.78ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/native.css?v=1.5.0-b.3 (::1) 1.96ms | |
______________________________________________________________________ test_tabulator_edit_event_and_header_filters_same_column[index-False] _______________________________________________________________________ | |
page = <Page url='http://localhost:63042/'>, show_index = False, index_name = 'index' | |
@pytest.mark.parametrize('show_index', [True, False]) | |
@pytest.mark.parametrize('index_name', ['index', 'foo']) | |
def test_tabulator_edit_event_and_header_filters_same_column(page, show_index, index_name): | |
df = pd.DataFrame({ | |
'values': ['A', 'A', 'B', 'B'], | |
}, index=['idx0', 'idx1', 'idx2', 'idx3']) | |
df.index.name = index_name | |
widget = Tabulator( | |
df, | |
header_filters={'values': {'type': 'input', 'func': 'like'}}, | |
show_index=show_index, | |
) | |
values = [] | |
widget.on_edit(lambda e: values.append((e.column, e.row, e.old, e.value))) | |
serve_component(page, widget) | |
header = page.locator('input[type="search"]') | |
header.click() | |
header.fill('B') | |
header.press('Enter') | |
# Check the table has the right number of rows | |
expect(page.locator('.tabulator-row')).to_have_count(2) | |
# Edit a cell in the filtered column, from B to X | |
cell = page.locator('text="B"').nth(1) | |
cell.click() | |
editable_cell = page.locator('input[type="text"]') | |
# For some reason there's sometimes an edit event sent with the old | |
# value as new value. Waiting here helps. | |
page.wait_for_timeout(200) | |
> editable_cell.fill("X") | |
panel/tests/ui/widgets/test_tabulator.py:2679: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/sync_api/_generated.py:15440: in fill | |
self._sync( | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_locator.py:208: in fill | |
return await self._frame.fill(self._selector, strict=True, **params) | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_frame.py:527: in fill | |
await self._channel.send("fill", locals_to_params(locals())) | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_connection.py:59: in send | |
return await self._connection.wrap_api_call( | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <playwright._impl._connection.Connection object at 0x136cbb5c0>, cb = <function Channel.send.<locals>.<lambda> at 0x15424ba60>, is_internal = False | |
async def wrap_api_call( | |
self, cb: Callable[[], Any], is_internal: bool = False | |
) -> Any: | |
if self._api_zone.get(): | |
return await cb() | |
task = asyncio.current_task(self._loop) | |
st: List[inspect.FrameInfo] = getattr(task, "__pw_stack__", inspect.stack()) | |
parsed_st = _extract_stack_trace_information_from_stack(st, is_internal) | |
self._api_zone.set(parsed_st) | |
try: | |
return await cb() | |
except Exception as error: | |
> raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None | |
E playwright._impl._errors.TimeoutError: Locator.fill: Timeout 20000ms exceeded. | |
E Call log: | |
E waiting for locator("input[type=\"text\"]") | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_connection.py:514: TimeoutError | |
----------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------- | |
Launching server at http://localhost:63042 | |
------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------- | |
INFO tornado.access:web.py:2348 200 GET /liveness (::1) 0.23ms | |
INFO tornado.access:web.py:2348 200 GET / (::1) 15.54ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/tabulator-tables@6.2.1/dist/css/tabulator_simple.min.css?v=1.5.0-b.3 (::1) 0.83ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.css?v=1.5.0-b.3 (::1) 1.11ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/tabulator-tables@6.2.1/dist/js/tabulator.min.js (::1) 2.02ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack.min.css?v=1.5.0-b.3 (::1) 2.51ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-extra.min.css?v=1.5.0-b.3 (::1) 0.72ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.css?v=1.5.0-b.3 (::1) 1.03ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/font-awesome/css/all.min.css?v=1.5.0-b.3 (::1) 1.55ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/notifications.css?v=1.5.0-b.3 (::1) 1.90ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/luxon/build/global/luxon.min.js (::1) 0.79ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh.min.js?v=276377ed021e1611c60311b355033c865900f31a918aa4565aba37a78700f17b017100a8a618bded4140c6ad247a0b0237d3a02bee9fd722ce67a459479522dc (::1) 2.76ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-gl.min.js?v=70bc1a9856b732e888ed6b2a8e9b6382bf538fee3ec9f1145b8db1778158fd51e478dbe0600650e30d5a0083b12fc43961bc7b2ef3e9f366000199b83b9a1644 (::1) 1.42ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-widgets.min.js?v=8541420c1bb1dbde534df1d9b2be7c8248f61fca353a821ffc4d459b08b79c4b39f0ea1dd6960aa3b734bea988cf822dc6993c786de844db80e4f258dd90727f (::1) 2.27ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-tables.min.js?v=26281191594de496d010d87b3a56c1679330da29fcf72d3dab91ac4a45479c16b36e82ce4325f4217df4614fad13927fd7f1e1be64cf838e4a18a60852e2be0e (::1) 3.30ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js (::1) 4.18ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js (::1) 0.73ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js (::1) 1.10ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js (::1) 0.79ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js (::1) 1.11ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js (::1) 1.40ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js (::1) 1.87ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js (::1) 0.84ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.js (::1) 1.14ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/panel.min.js?v=a91daab4668e3299f59ed231b5da2e657f5e65d10a1d501ff0a660306b1fdb79 (::1) 1.67ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/reactiveesm/es-module-shims@%5E1.10.0/dist/es-module-shims.min.js (::1) 2.01ms | |
INFO tornado.access:web.py:2348 101 GET /ws (::1) 0.31ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/loading.css?v=1.5.0-b.3 (::1) 2.09ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/default.css?v=1.5.0-b.3 (::1) 2.62ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/native.css?v=1.5.0-b.3 (::1) 3.82ms | |
________________________________________________________________________ test_tabulator_edit_event_and_header_filters_same_column[foo-True] ________________________________________________________________________ | |
page = <Page url='http://localhost:63053/'>, show_index = True, index_name = 'foo' | |
@pytest.mark.parametrize('show_index', [True, False]) | |
@pytest.mark.parametrize('index_name', ['index', 'foo']) | |
def test_tabulator_edit_event_and_header_filters_same_column(page, show_index, index_name): | |
df = pd.DataFrame({ | |
'values': ['A', 'A', 'B', 'B'], | |
}, index=['idx0', 'idx1', 'idx2', 'idx3']) | |
df.index.name = index_name | |
widget = Tabulator( | |
df, | |
header_filters={'values': {'type': 'input', 'func': 'like'}}, | |
show_index=show_index, | |
) | |
values = [] | |
widget.on_edit(lambda e: values.append((e.column, e.row, e.old, e.value))) | |
serve_component(page, widget) | |
header = page.locator('input[type="search"]') | |
header.click() | |
header.fill('B') | |
header.press('Enter') | |
# Check the table has the right number of rows | |
expect(page.locator('.tabulator-row')).to_have_count(2) | |
# Edit a cell in the filtered column, from B to X | |
cell = page.locator('text="B"').nth(1) | |
cell.click() | |
editable_cell = page.locator('input[type="text"]') | |
# For some reason there's sometimes an edit event sent with the old | |
# value as new value. Waiting here helps. | |
page.wait_for_timeout(200) | |
> editable_cell.fill("X") | |
panel/tests/ui/widgets/test_tabulator.py:2679: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/sync_api/_generated.py:15440: in fill | |
self._sync( | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_locator.py:208: in fill | |
return await self._frame.fill(self._selector, strict=True, **params) | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_frame.py:527: in fill | |
await self._channel.send("fill", locals_to_params(locals())) | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_connection.py:59: in send | |
return await self._connection.wrap_api_call( | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <playwright._impl._connection.Connection object at 0x136cbb5c0>, cb = <function Channel.send.<locals>.<lambda> at 0x15420fd80>, is_internal = False | |
async def wrap_api_call( | |
self, cb: Callable[[], Any], is_internal: bool = False | |
) -> Any: | |
if self._api_zone.get(): | |
return await cb() | |
task = asyncio.current_task(self._loop) | |
st: List[inspect.FrameInfo] = getattr(task, "__pw_stack__", inspect.stack()) | |
parsed_st = _extract_stack_trace_information_from_stack(st, is_internal) | |
self._api_zone.set(parsed_st) | |
try: | |
return await cb() | |
except Exception as error: | |
> raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None | |
E playwright._impl._errors.TimeoutError: Locator.fill: Timeout 20000ms exceeded. | |
E Call log: | |
E waiting for locator("input[type=\"text\"]") | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_connection.py:514: TimeoutError | |
----------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------- | |
Launching server at http://localhost:63053 | |
------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------- | |
INFO tornado.access:web.py:2348 200 GET /liveness (::1) 0.24ms | |
INFO tornado.access:web.py:2348 200 GET / (::1) 16.91ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/tabulator-tables@6.2.1/dist/css/tabulator_simple.min.css?v=1.5.0-b.3 (::1) 0.86ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.css?v=1.5.0-b.3 (::1) 0.70ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack.min.css?v=1.5.0-b.3 (::1) 1.20ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/tabulator-tables@6.2.1/dist/js/tabulator.min.js (::1) 1.57ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/luxon/build/global/luxon.min.js (::1) 2.16ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-extra.min.css?v=1.5.0-b.3 (::1) 2.57ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.css?v=1.5.0-b.3 (::1) 0.66ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/font-awesome/css/all.min.css?v=1.5.0-b.3 (::1) 1.03ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/notifications.css?v=1.5.0-b.3 (::1) 1.38ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh.min.js?v=276377ed021e1611c60311b355033c865900f31a918aa4565aba37a78700f17b017100a8a618bded4140c6ad247a0b0237d3a02bee9fd722ce67a459479522dc (::1) 2.57ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-gl.min.js?v=70bc1a9856b732e888ed6b2a8e9b6382bf538fee3ec9f1145b8db1778158fd51e478dbe0600650e30d5a0083b12fc43961bc7b2ef3e9f366000199b83b9a1644 (::1) 3.31ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-widgets.min.js?v=8541420c1bb1dbde534df1d9b2be7c8248f61fca353a821ffc4d459b08b79c4b39f0ea1dd6960aa3b734bea988cf822dc6993c786de844db80e4f258dd90727f (::1) 4.07ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-tables.min.js?v=26281191594de496d010d87b3a56c1679330da29fcf72d3dab91ac4a45479c16b36e82ce4325f4217df4614fad13927fd7f1e1be64cf838e4a18a60852e2be0e (::1) 1.51ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js (::1) 2.27ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js (::1) 2.60ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js (::1) 0.97ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js (::1) 1.04ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js (::1) 1.31ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js (::1) 0.65ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js (::1) 0.95ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js (::1) 1.47ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.js (::1) 0.75ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/panel.min.js?v=a91daab4668e3299f59ed231b5da2e657f5e65d10a1d501ff0a660306b1fdb79 (::1) 2.00ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/reactiveesm/es-module-shims@%5E1.10.0/dist/es-module-shims.min.js (::1) 2.37ms | |
INFO tornado.access:web.py:2348 101 GET /ws (::1) 0.34ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/loading.css?v=1.5.0-b.3 (::1) 2.19ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/default.css?v=1.5.0-b.3 (::1) 0.64ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/native.css?v=1.5.0-b.3 (::1) 0.62ms | |
_______________________________________________________________________ test_tabulator_edit_event_and_header_filters_same_column[foo-False] ________________________________________________________________________ | |
page = <Page url='http://localhost:63068/'>, show_index = False, index_name = 'foo' | |
@pytest.mark.parametrize('show_index', [True, False]) | |
@pytest.mark.parametrize('index_name', ['index', 'foo']) | |
def test_tabulator_edit_event_and_header_filters_same_column(page, show_index, index_name): | |
df = pd.DataFrame({ | |
'values': ['A', 'A', 'B', 'B'], | |
}, index=['idx0', 'idx1', 'idx2', 'idx3']) | |
df.index.name = index_name | |
widget = Tabulator( | |
df, | |
header_filters={'values': {'type': 'input', 'func': 'like'}}, | |
show_index=show_index, | |
) | |
values = [] | |
widget.on_edit(lambda e: values.append((e.column, e.row, e.old, e.value))) | |
serve_component(page, widget) | |
header = page.locator('input[type="search"]') | |
header.click() | |
header.fill('B') | |
header.press('Enter') | |
# Check the table has the right number of rows | |
expect(page.locator('.tabulator-row')).to_have_count(2) | |
# Edit a cell in the filtered column, from B to X | |
cell = page.locator('text="B"').nth(1) | |
cell.click() | |
editable_cell = page.locator('input[type="text"]') | |
# For some reason there's sometimes an edit event sent with the old | |
# value as new value. Waiting here helps. | |
page.wait_for_timeout(200) | |
> editable_cell.fill("X") | |
panel/tests/ui/widgets/test_tabulator.py:2679: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/sync_api/_generated.py:15440: in fill | |
self._sync( | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_locator.py:208: in fill | |
return await self._frame.fill(self._selector, strict=True, **params) | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_frame.py:527: in fill | |
await self._channel.send("fill", locals_to_params(locals())) | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_connection.py:59: in send | |
return await self._connection.wrap_api_call( | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <playwright._impl._connection.Connection object at 0x136cbb5c0>, cb = <function Channel.send.<locals>.<lambda> at 0x154b56ca0>, is_internal = False | |
async def wrap_api_call( | |
self, cb: Callable[[], Any], is_internal: bool = False | |
) -> Any: | |
if self._api_zone.get(): | |
return await cb() | |
task = asyncio.current_task(self._loop) | |
st: List[inspect.FrameInfo] = getattr(task, "__pw_stack__", inspect.stack()) | |
parsed_st = _extract_stack_trace_information_from_stack(st, is_internal) | |
self._api_zone.set(parsed_st) | |
try: | |
return await cb() | |
except Exception as error: | |
> raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None | |
E playwright._impl._errors.TimeoutError: Locator.fill: Timeout 20000ms exceeded. | |
E Call log: | |
E waiting for locator("input[type=\"text\"]") | |
.pixi/envs/test-ui/lib/python3.12/site-packages/playwright/_impl/_connection.py:514: TimeoutError | |
----------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------- | |
Launching server at http://localhost:63068 | |
------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------- | |
INFO tornado.access:web.py:2348 200 GET /liveness (::1) 0.26ms | |
INFO tornado.access:web.py:2348 200 GET / (::1) 15.96ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/tabulator-tables@6.2.1/dist/css/tabulator_simple.min.css?v=1.5.0-b.3 (::1) 0.78ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.css?v=1.5.0-b.3 (::1) 0.59ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/tabulator-tables@6.2.1/dist/js/tabulator.min.js (::1) 1.92ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack.min.css?v=1.5.0-b.3 (::1) 0.80ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-extra.min.css?v=1.5.0-b.3 (::1) 1.16ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.css?v=1.5.0-b.3 (::1) 1.54ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/font-awesome/css/all.min.css?v=1.5.0-b.3 (::1) 1.96ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/notifications.css?v=1.5.0-b.3 (::1) 0.64ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/luxon/build/global/luxon.min.js (::1) 1.09ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh.min.js?v=276377ed021e1611c60311b355033c865900f31a918aa4565aba37a78700f17b017100a8a618bded4140c6ad247a0b0237d3a02bee9fd722ce67a459479522dc (::1) 2.32ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-gl.min.js?v=70bc1a9856b732e888ed6b2a8e9b6382bf538fee3ec9f1145b8db1778158fd51e478dbe0600650e30d5a0083b12fc43961bc7b2ef3e9f366000199b83b9a1644 (::1) 3.03ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-widgets.min.js?v=8541420c1bb1dbde534df1d9b2be7c8248f61fca353a821ffc4d459b08b79c4b39f0ea1dd6960aa3b734bea988cf822dc6993c786de844db80e4f258dd90727f (::1) 3.79ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-tables.min.js?v=26281191594de496d010d87b3a56c1679330da29fcf72d3dab91ac4a45479c16b36e82ce4325f4217df4614fad13927fd7f1e1be64cf838e4a18a60852e2be0e (::1) 4.79ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js (::1) 1.39ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js (::1) 1.90ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js (::1) 0.84ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js (::1) 1.18ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js (::1) 1.48ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js (::1) 1.82ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js (::1) 0.66ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js (::1) 1.23ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.js (::1) 0.72ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/panel.min.js?v=a91daab4668e3299f59ed231b5da2e657f5e65d10a1d501ff0a660306b1fdb79 (::1) 2.35ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/reactiveesm/es-module-shims@%5E1.10.0/dist/es-module-shims.min.js (::1) 2.69ms | |
INFO tornado.access:web.py:2348 101 GET /ws (::1) 0.42ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/loading.css?v=1.5.0-b.3 (::1) 2.37ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/default.css?v=1.5.0-b.3 (::1) 0.59ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/native.css?v=1.5.0-b.3 (::1) 0.71ms | |
_______________________________________________________________________ test_selection_indices_on_paginated_sorted_and_filtered_data[remote] _______________________________________________________________________ | |
page = <Page url='http://localhost:63760/'> | |
df_strings = code descr | |
0 00 Under the Weather | |
1 01 Top Drawer | |
2 02 Happy as a Cla...8 08 Cut The Mustard | |
9 09 Up In Arms | |
10 10 Playing For Keeps | |
11 11 Fit as a Fiddle | |
pagination = 'remote' | |
@pytest.mark.parametrize('pagination', ['local', 'remote', None]) | |
def test_selection_indices_on_paginated_sorted_and_filtered_data(page, df_strings, pagination): | |
tbl = Tabulator( | |
df_strings, | |
disabled=True, | |
pagination=pagination, | |
page_size=6, | |
) | |
descr_filter = TextInput(name='descr', value='cut') | |
def contains_filter(df, pattern=None): | |
if not pattern: | |
return df | |
return df[df.descr.str.contains(pattern, case=False)] | |
filter_fn = param.bind(contains_filter, pattern=descr_filter) | |
tbl.add_filter(filter_fn) | |
serve_component(page, tbl) | |
expect(page.locator('.tabulator-table')).to_have_count(1) | |
page.locator('.tabulator-col-title-holder').nth(3).click() | |
row = page.locator('.tabulator-row').nth(1) | |
row.click() | |
> wait_until(lambda: tbl.selection == [8], page) | |
E TimeoutError: wait_until timed out in 5000 milliseconds | |
panel/tests/ui/widgets/test_tabulator.py:3485: TimeoutError | |
----------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------- | |
Launching server at http://localhost:63760 | |
------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------- | |
INFO tornado.access:web.py:2348 200 GET /liveness (::1) 0.21ms | |
INFO tornado.access:web.py:2348 200 GET / (::1) 13.44ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/tabulator-tables@6.2.1/dist/css/tabulator_simple.min.css?v=1.5.0-b.3 (::1) 0.50ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.css?v=1.5.0-b.3 (::1) 0.56ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/tabulator-tables@6.2.1/dist/js/tabulator.min.js (::1) 0.74ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack.min.css?v=1.5.0-b.3 (::1) 1.15ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-extra.min.css?v=1.5.0-b.3 (::1) 0.57ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.css?v=1.5.0-b.3 (::1) 0.79ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/font-awesome/css/all.min.css?v=1.5.0-b.3 (::1) 0.95ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/datatabulator/luxon/build/global/luxon.min.js (::1) 0.48ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/notifications.css?v=1.5.0-b.3 (::1) 0.96ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-gl.min.js?v=70bc1a9856b732e888ed6b2a8e9b6382bf538fee3ec9f1145b8db1778158fd51e478dbe0600650e30d5a0083b12fc43961bc7b2ef3e9f366000199b83b9a1644 (::1) 0.63ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-widgets.min.js?v=8541420c1bb1dbde534df1d9b2be7c8248f61fca353a821ffc4d459b08b79c4b39f0ea1dd6960aa3b734bea988cf822dc6993c786de844db80e4f258dd90727f (::1) 1.69ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh-tables.min.js?v=26281191594de496d010d87b3a56c1679330da29fcf72d3dab91ac4a45479c16b36e82ce4325f4217df4614fad13927fd7f1e1be64cf838e4a18a60852e2be0e (::1) 2.08ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js (::1) 1.05ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js (::1) 1.47ms | |
INFO tornado.access:web.py:2348 200 GET /static/js/bokeh.min.js?v=276377ed021e1611c60311b355033c865900f31a918aa4565aba37a78700f17b017100a8a618bded4140c6ad247a0b0237d3a02bee9fd722ce67a459479522dc (::1) 6.22ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js (::1) 1.82ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js (::1) 1.87ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js (::1) 2.01ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js (::1) 0.45ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js (::1) 1.07ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js (::1) 1.18ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/notificationarea/notyf@3/notyf.min.js (::1) 1.22ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/panel.min.js?v=a91daab4668e3299f59ed231b5da2e657f5e65d10a1d501ff0a660306b1fdb79 (::1) 1.70ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/reactiveesm/es-module-shims@%5E1.10.0/dist/es-module-shims.min.js (::1) 2.37ms | |
INFO tornado.access:web.py:2348 101 GET /ws (::1) 0.33ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/css/loading.css?v=1.5.0-b.3 (::1) 0.51ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/default.css?v=1.5.0-b.3 (::1) 1.31ms | |
INFO tornado.access:web.py:2348 200 GET /static/extensions/panel/bundled/theme/native.css?v=1.5.0-b.3 (::1) 1.98ms | |
=============================================================================================== slowest 10 durations =============================================================================================== | |
20.56s call panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_same_column[foo-True] | |
20.56s call panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_same_column[foo-False] | |
20.56s call panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_same_column[index-True] | |
20.55s call panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_same_column[index-False] | |
6.20s call panel/tests/ui/pane/test_textual.py::test_textual_app | |
5.79s call panel/tests/ui/widgets/test_tabulator.py::test_tabulator_editor_datetime_nan | |
5.46s call panel/tests/ui/io/test_reload.py::test_reload_app_on_local_module_change | |
5.42s call panel/tests/ui/widgets/test_tabulator.py::test_tabulator_patch_no_height_resize | |
5.42s call panel/tests/ui/widgets/test_tabulator.py::test_selection_indices_on_paginated_sorted_and_filtered_data[remote] | |
5.41s call panel/tests/ui/template/test_editabletemplate.py::test_editable_template_drag_item | |
============================================================================================= short test summary info ============================================================================================== | |
FAILED panel/tests/ui/pane/test_textual.py::test_textual_app - TimeoutError: wait_until timed out in 5000 milliseconds | |
FAILED panel/tests/ui/pane/test_vizzu.py::test_vizzu_click - TimeoutError: wait_until timed out in 5000 milliseconds | |
FAILED panel/tests/ui/template/test_editabletemplate.py::test_editable_template_drag_item - TimeoutError: wait_until timed out in 5000 milliseconds | |
FAILED panel/tests/ui/widgets/test_icon.py::test_toggle_icon_width_height - TimeoutError: wait_until timed out in 5000 milliseconds | |
FAILED panel/tests/ui/widgets/test_icon.py::test_toggle_icon_size - TimeoutError: wait_until timed out in 5000 milliseconds | |
FAILED panel/tests/ui/widgets/test_tabulator.py::test_tabulator_patch_no_height_resize - TimeoutError: wait_until timed out in 5000 milliseconds | |
FAILED panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filter_no_horizontal_rescroll[remote] - AssertionError: assert {'height': 20...: 714, 'y': 9} == {'height': 20...: 264, 'y': 9} | |
FAILED panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_same_column[index-True] - playwright._impl._errors.TimeoutError: Locator.fill: Timeout 20000ms exceeded. | |
FAILED panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_same_column[index-False] - playwright._impl._errors.TimeoutError: Locator.fill: Timeout 20000ms exceeded. | |
FAILED panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_same_column[foo-True] - playwright._impl._errors.TimeoutError: Locator.fill: Timeout 20000ms exceeded. | |
FAILED panel/tests/ui/widgets/test_tabulator.py::test_tabulator_edit_event_and_header_filters_same_column[foo-False] - playwright._impl._errors.TimeoutError: Locator.fill: Timeout 20000ms exceeded. | |
FAILED panel/tests/ui/widgets/test_tabulator.py::test_selection_indices_on_paginated_sorted_and_filtered_data[remote] - TimeoutError: wait_until timed out in 5000 milliseconds | |
ERROR panel/tests/ui/widgets/test_tabulator.py::test_tabulator_header_filter_no_horizontal_rescroll[None] - pluggy.PluggyTeardownRaisedWarning: A plugin raised an exception during an old-style hookwrapper teardown. | |
======================================================== 12 failed, 526 passed, 11 skipped, 6 deselected, 28 xfailed, 1 error, 1 rerun in 461.59s (0:07:41) ======================================================== |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment