============================= test session starts ============================== platform sunos5 -- Python $(PYTHON_VERSION).X -- $(PYTHON) cachedir: .pytest_cache rootdir: $(@D) configfile: pyproject.toml testpaths: tests collecting ... collected 256 items tests/commands/completion/test_completions_command.py::test_bash PASSED tests/commands/completion/test_completions_command.py::test_fish PASSED tests/commands/completion/test_completions_command.py::test_invalid_shell PASSED tests/commands/completion/test_completions_command.py::test_zsh PASSED tests/commands/test_command.py::test_explicit_multiple_argument PASSED tests/commands/test_command.py::test_overwrite PASSED tests/commands/test_command.py::test_set_application PASSED tests/commands/test_command.py::test_signature_inheritance PASSED tests/commands/test_command.py::test_with_signature PASSED tests/events/test_event.py::test_is_propagation_not_stopped PASSED tests/events/test_event.py::test_stop_propagation_and_is_propagation_stopped PASSED tests/events/test_event_dispatcher.py::test_add_listener PASSED tests/events/test_event_dispatcher.py::test_dispatch PASSED tests/events/test_event_dispatcher.py::test_get_all_listeners_sorts_by_priority PASSED tests/events/test_event_dispatcher.py::test_get_listener_priority PASSED tests/events/test_event_dispatcher.py::test_get_listeners_sorts_by_priority PASSED tests/events/test_event_dispatcher.py::test_initial_state PASSED tests/events/test_event_dispatcher.py::test_stop_event_propagation PASSED tests/formatters/test_formatter.py::test_format_and_wrap[Lorem ipsum dolor sit amet-4-Lore\nm \x1b[31;1mip\x1b[39;22m\n\x1b[31;1msum\x1b[39;22m \ndolo\nr \x1b[34msi\x1b[39m\n\x1b[34mt\x1b[39m am\net] PASSED tests/formatters/test_formatter.py::test_format_and_wrap[Lorem ipsum dolor sit amet-8-Lorem \x1b[31;1mip\x1b[39;22m\n\x1b[31;1msum\x1b[39;22m dolo\nr \x1b[34msit\x1b[39m am\net] PASSED tests/formatters/test_formatter.py::test_format_and_wrap[Lorem ipsum dolor sit, amet et laudantium architecto-18-Lorem \x1b[31;1mipsum\x1b[39;22m dolor \x1b[34m\x1b[39m\n\x1b[34msit\x1b[39m, \x1b[31;1mamet\x1b[39;22m et \x1b[34mlauda\x1b[39m\n\x1b[34mntium\x1b[39m architecto] PASSED tests/formatters/test_formatter.py::test_format_and_wrap[foobar baz-2-fo\no\x1b[31;1mb\x1b[39;22m\n\x1b[31;1mar\x1b[39;22m\nba\nz] PASSED tests/formatters/test_formatter.py::test_format_and_wrap[pre foo bar baz post-2-pr\ne \x1b[31;1m\x1b[39;22m\n\x1b[31;1mfo\x1b[39;22m\n\x1b[31;1mo \x1b[39;22m\n\x1b[31;1mba\x1b[39;22m\n\x1b[31;1mr \x1b[39;22m\n\x1b[31;1mba\x1b[39;22m\n\x1b[31;1mz\x1b[39;22m \npo\nst] PASSED tests/formatters/test_formatter.py::test_format_and_wrap[pre foo bar baz post-3-pre\x1b[31;1m\x1b[39;22m\n\x1b[31;1mfoo\x1b[39;22m\n\x1b[31;1mbar\x1b[39;22m\n\x1b[31;1mbaz\x1b[39;22m\npos\nt] PASSED tests/formatters/test_formatter.py::test_format_and_wrap[pre foo bar baz post-4-pre \x1b[31;1m\x1b[39;22m\n\x1b[31;1mfoo \x1b[39;22m\n\x1b[31;1mbar \x1b[39;22m\n\x1b[31;1mbaz\x1b[39;22m \npost] PASSED tests/formatters/test_formatter.py::test_format_and_wrap[pre foo bar baz post-5-pre \x1b[31;1mf\x1b[39;22m\n\x1b[31;1moo ba\x1b[39;22m\n\x1b[31;1mr baz\x1b[39;22m\npost] PASSED tests/formatters/test_formatter.py::test_format_and_wrap_undecorated[foobar baz-2-fo\nob\nar\nba\nz] PASSED tests/formatters/test_formatter.py::test_format_and_wrap_undecorated[pre foo bar baz post-2-pr\ne \nfo\no \nba\nr \nba\nz \npo\nst] PASSED tests/formatters/test_formatter.py::test_format_and_wrap_undecorated[pre foo bar baz post-3-pre\nfoo\nbar\nbaz\npos\nt] PASSED tests/formatters/test_formatter.py::test_format_and_wrap_undecorated[pre foo bar baz post-4-pre \nfoo \nbar \nbaz \npost] PASSED tests/formatters/test_formatter.py::test_format_and_wrap_undecorated[pre foo bar baz post-5-pre f\noo ba\nr baz\npost] PASSED tests/io/inputs/test_argument.py::test_list_argument PASSED tests/io/inputs/test_argument.py::test_list_arguments_do_not_support_non_list_default_values PASSED tests/io/inputs/test_argument.py::test_optional_non_list_argument PASSED tests/io/inputs/test_argument.py::test_required_arguments_do_not_support_default_values PASSED tests/io/inputs/test_argument.py::test_required_non_list_argument PASSED tests/io/inputs/test_argv_input.py::test_it_uses_argv_by_default PASSED tests/io/inputs/test_argv_input.py::test_parse_arguments PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args0-options0-expected_options0] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args1-options1-expected_options1] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args10-options10-expected_options10] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args11-options11-expected_options11] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args12-options12-expected_options12] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args13-options13-expected_options13] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args14-options14-expected_options14] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args15-options15-expected_options15] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args16-options16-expected_options16] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args2-options2-expected_options2] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args3-options3-expected_options3] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args4-options4-expected_options4] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args5-options5-expected_options5] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args6-options6-expected_options6] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args7-options7-expected_options7] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args8-options8-expected_options8] PASSED tests/io/inputs/test_argv_input.py::test_parse_options[args9-options9-expected_options9] PASSED tests/io/inputs/test_option.py::test_create PASSED tests/io/inputs/test_option.py::test_dashed_name PASSED tests/io/inputs/test_option.py::test_dashed_shortcut PASSED tests/io/inputs/test_option.py::test_fail_if_default_value_provided_for_flag PASSED tests/io/inputs/test_option.py::test_fail_if_name_is_empty PASSED tests/io/inputs/test_option.py::test_fail_if_shortcut_is_empty PASSED tests/io/inputs/test_option.py::test_fail_if_wrong_default_value_for_list_option PASSED tests/io/inputs/test_option.py::test_list PASSED tests/io/inputs/test_option.py::test_multi_valued_with_default PASSED tests/io/inputs/test_option.py::test_multiple_shortcuts PASSED tests/io/inputs/test_option.py::test_optional_value PASSED tests/io/inputs/test_option.py::test_optional_value_with_default PASSED tests/io/inputs/test_option.py::test_required_value PASSED tests/io/inputs/test_option.py::test_required_value_with_default PASSED tests/io/inputs/test_option.py::test_shortcut PASSED tests/io/inputs/test_token_parser.py::test_create[ foo bar -tokens2] PASSED tests/io/inputs/test_token_parser.py::test_create["quoted 'twice'"-tokens7] PASSED tests/io/inputs/test_token_parser.py::test_create["quoted"-tokens3] PASSED tests/io/inputs/test_token_parser.py::test_create['a'\r'b'\n'c'\t'd'-tokens6] PASSED tests/io/inputs/test_token_parser.py::test_create['a\rb\nc\td'-tokens5] PASSED tests/io/inputs/test_token_parser.py::test_create['quoted "twice"'-tokens8] PASSED tests/io/inputs/test_token_parser.py::test_create['quoted'-tokens4] PASSED tests/io/inputs/test_token_parser.py::test_create[--long-option-tokens21] PASSED tests/io/inputs/test_token_parser.py::test_create[--long-option="foo bar""another"-tokens24] PASSED tests/io/inputs/test_token_parser.py::test_create[--long-option="foo bar"-tokens23] PASSED tests/io/inputs/test_token_parser.py::test_create[--long-option='foo bar'"another"-tokens27] PASSED tests/io/inputs/test_token_parser.py::test_create[--long-option='foo bar''another'-tokens26] PASSED tests/io/inputs/test_token_parser.py::test_create[--long-option='foo bar'-tokens25] PASSED tests/io/inputs/test_token_parser.py::test_create[--long-option=foo-tokens22] PASSED tests/io/inputs/test_token_parser.py::test_create[-a"foo bar""foo bar"-tokens17] PASSED tests/io/inputs/test_token_parser.py::test_create[-a"foo bar"-tokens16] PASSED tests/io/inputs/test_token_parser.py::test_create[-a'foo bar'"foo bar"-tokens20] PASSED tests/io/inputs/test_token_parser.py::test_create[-a'foo bar''foo bar'-tokens19] PASSED tests/io/inputs/test_token_parser.py::test_create[-a'foo bar'-tokens18] PASSED tests/io/inputs/test_token_parser.py::test_create[-a-tokens13] PASSED tests/io/inputs/test_token_parser.py::test_create[-awithavalue-tokens15] PASSED tests/io/inputs/test_token_parser.py::test_create[-azc-tokens14] PASSED tests/io/inputs/test_token_parser.py::test_create[-tokens0] PASSED tests/io/inputs/test_token_parser.py::test_create[\\"escaped more\\"-tokens12] PASSED tests/io/inputs/test_token_parser.py::test_create[\\"escaped\\"-tokens10] PASSED tests/io/inputs/test_token_parser.py::test_create[\\' \\"-tokens29] PASSED tests/io/inputs/test_token_parser.py::test_create[\\'escaped more\\'-tokens11] PASSED tests/io/inputs/test_token_parser.py::test_create[\\'escaped\\'-tokens9] PASSED tests/io/inputs/test_token_parser.py::test_create[foo -a -ffoo --long bar-tokens28] PASSED tests/io/inputs/test_token_parser.py::test_create[foo-tokens1] PASSED tests/io/outputs/test_section_output.py::test_add_multiple_sections PASSED tests/io/outputs/test_section_output.py::test_clear_all PASSED tests/io/outputs/test_section_output.py::test_clear_preserves_empty_lines PASSED tests/io/outputs/test_section_output.py::test_clear_with_number_of_lines PASSED tests/io/outputs/test_section_output.py::test_clear_with_number_of_lines_and_multiple_sections PASSED tests/io/outputs/test_section_output.py::test_multiple_sections_output PASSED tests/io/outputs/test_section_output.py::test_overwrite PASSED tests/io/outputs/test_section_output.py::test_overwrite_multiple_lines PASSED tests/loaders/test_factory_command_loader.py::test_get PASSED tests/loaders/test_factory_command_loader.py::test_get_invalid_command_raises_error PASSED tests/loaders/test_factory_command_loader.py::test_has PASSED tests/loaders/test_factory_command_loader.py::test_names PASSED tests/test_application.py::test_add PASSED tests/test_application.py::test_all PASSED tests/test_application.py::test_auto_exit PASSED tests/test_application.py::test_find PASSED tests/test_application.py::test_find_ambiguous_command PASSED tests/test_application.py::test_find_ambiguous_command_hidden PASSED tests/test_application.py::test_find_ambiguous_namespace PASSED tests/test_application.py::test_find_invalid_namespace PASSED tests/test_application.py::test_find_namespace PASSED tests/test_application.py::test_find_namespace_with_sub_namespaces PASSED tests/test_application.py::test_find_unique_name_but_namespace_name PASSED tests/test_application.py::test_get_namespaces PASSED tests/test_application.py::test_has_get PASSED tests/test_application.py::test_help PASSED tests/test_application.py::test_long_version PASSED tests/test_application.py::test_name_version_getters PASSED tests/test_application.py::test_name_version_setter PASSED tests/test_application.py::test_run PASSED tests/test_application.py::test_run_namespaced_with_input PASSED tests/test_application.py::test_run_removes_all_output_if_quiet PASSED tests/test_application.py::test_run_runs_help_command_if_required PASSED tests/test_application.py::test_run_runs_help_command_with_command PASSED tests/test_application.py::test_run_runs_the_list_command_without_arguments PASSED tests/test_application.py::test_run_with_help PASSED tests/test_application.py::test_run_with_input PASSED tests/test_application.py::test_run_with_input_and_non_interactive[cmd0] PASSED tests/test_application.py::test_run_with_input_and_non_interactive[cmd1] PASSED tests/test_application.py::test_run_with_verbosity PASSED tests/test_application.py::test_run_with_version PASSED tests/test_application.py::test_set_catch_exceptions PASSED tests/test_application.py::test_silent_help PASSED tests/test_color.py::test_ansi_colors[--options0- ] PASSED tests/test_color.py::test_ansi_colors[red-yellow-options1-\x1b[31;43m \x1b[39;49m] PASSED tests/test_color.py::test_ansi_colors[red-yellow-options2-\x1b[31;43;4m \x1b[39;49;24m] PASSED tests/test_color.py::test_degrade_true_colors[#c0392b-#f1c40f-options1-\x1b[31;43m \x1b[39;49m] PASSED tests/test_color.py::test_degrade_true_colors[#f00-#ff0-options0-\x1b[31;43m \x1b[39;49m] PASSED tests/test_color.py::test_true_color_support[#fff-#000-options0-\x1b[38;2;255;255;255;48;2;0;0;0m \x1b[39;49m] SKIPPED tests/test_color.py::test_true_color_support[#ffffff-#000000-options1-\x1b[38;2;255;255;255;48;2;0;0;0m \x1b[39;49m] SKIPPED tests/test_helpers.py::test_argument PASSED tests/test_helpers.py::test_option PASSED tests/test_terminal.py::test_columns_env[200-40-40] PASSED tests/test_terminal.py::test_columns_env[314-None-314] PASSED tests/test_terminal.py::test_columns_env[random-40-40] PASSED tests/test_terminal.py::test_columns_env[random-None-80] PASSED tests/test_terminal.py::test_lines_env[200-40-40] PASSED tests/test_terminal.py::test_lines_env[314-None-314] PASSED tests/test_terminal.py::test_lines_env[random-40-40] PASSED tests/test_terminal.py::test_lines_env[random-None-25] PASSED tests/test_terminal.py::test_size PASSED tests/test_utils.py::test_find_similar_names[-expected0] PASSED tests/test_utils.py::test_find_similar_names[bar1-expected3] PASSED tests/test_utils.py::test_find_similar_names[bar2-expected2] PASSED tests/test_utils.py::test_find_similar_names[foo-expected4] PASSED tests/test_utils.py::test_find_similar_names[hellp-expected1] PASSED tests/test_utils.py::test_format_time[0.1-< 1 sec] PASSED tests/test_utils.py::test_format_time[1.0-1 sec] PASSED tests/test_utils.py::test_format_time[120.0-2 mins] PASSED tests/test_utils.py::test_format_time[129600.0-1 day] PASSED tests/test_utils.py::test_format_time[129601.0-2 days] PASSED tests/test_utils.py::test_format_time[2.0-2 secs] PASSED tests/test_utils.py::test_format_time[3600.0-1 hr] PASSED tests/test_utils.py::test_format_time[59.0-59 secs] PASSED tests/test_utils.py::test_format_time[60.0-1 min] PASSED tests/test_utils.py::test_format_time[700000.0-9 days] PASSED tests/test_utils.py::test_format_time[7200.0-2 hrs] PASSED tests/testers/test_application_tester.py::test_execute PASSED tests/testers/test_application_tester.py::test_execute_namespace_command PASSED tests/testers/test_command_tester.py::test_execute PASSED tests/testers/test_command_tester.py::test_execute_namespace_command PASSED tests/ui/test_choice_question.py::test_ask_choice PASSED tests/ui/test_confirmation_question.py::test_ask[-False-False] PASSED tests/ui/test_confirmation_question.py::test_ask[-True-True] PASSED tests/ui/test_confirmation_question.py::test_ask[n-False-True] PASSED tests/ui/test_confirmation_question.py::test_ask[no-False-True] PASSED tests/ui/test_confirmation_question.py::test_ask[y-True-True] PASSED tests/ui/test_confirmation_question.py::test_ask[yes-True-True] PASSED tests/ui/test_confirmation_question.py::test_ask_with_custom_answer PASSED tests/ui/test_exception_trace.py::test_doctrings_are_corrrectly_rendered PASSED tests/ui/test_exception_trace.py::test_empty_source_file_do_not_break_highlighter PASSED tests/ui/test_exception_trace.py::test_render_better_error_message PASSED tests/ui/test_exception_trace.py::test_render_can_ignore_given_files PASSED tests/ui/test_exception_trace.py::test_render_debug_better_error_message PASSED tests/ui/test_exception_trace.py::test_render_debug_better_error_message_recursion_error PASSED tests/ui/test_exception_trace.py::test_render_debug_better_error_message_recursion_error_with_multiple_duplicated_frames PASSED tests/ui/test_exception_trace.py::test_render_falls_back_on_ascii_symbols PASSED tests/ui/test_exception_trace.py::test_render_shows_ignored_files_if_in_debug_mode PASSED tests/ui/test_exception_trace.py::test_render_supports_solutions PASSED tests/ui/test_exception_trace.py::test_render_very_verbose_better_error_message PASSED tests/ui/test_exception_trace.py::test_simple_render PASSED tests/ui/test_exception_trace.py::test_simple_render_aborts_if_no_message PASSED tests/ui/test_exception_trace.py::test_simple_render_supports_solutions PASSED tests/ui/test_progress_bar.py::test_advance PASSED tests/ui/test_progress_bar.py::test_advance_multiple_times PASSED tests/ui/test_progress_bar.py::test_advance_over_max PASSED tests/ui/test_progress_bar.py::test_advance_with_step PASSED tests/ui/test_progress_bar.py::test_clear PASSED tests/ui/test_progress_bar.py::test_customizations PASSED tests/ui/test_progress_bar.py::test_display_with_quiet_verbosity PASSED tests/ui/test_progress_bar.py::test_display_without_start PASSED tests/ui/test_progress_bar.py::test_finish_without_start PASSED tests/ui/test_progress_bar.py::test_format PASSED tests/ui/test_progress_bar.py::test_min_and_max_seconds_between_redraws PASSED tests/ui/test_progress_bar.py::test_multibyte_support PASSED tests/ui/test_progress_bar.py::test_multiline_format PASSED tests/ui/test_progress_bar.py::test_multiple_start PASSED tests/ui/test_progress_bar.py::test_non_decorated_output PASSED tests/ui/test_progress_bar.py::test_overwrite_multiple_progress_bars_with_section_outputs PASSED tests/ui/test_progress_bar.py::test_overwrite_with_section_output PASSED tests/ui/test_progress_bar.py::test_overwrite_with_shorter_line PASSED tests/ui/test_progress_bar.py::test_percent PASSED tests/ui/test_progress_bar.py::test_percent_not_hundred_before_complete PASSED tests/ui/test_progress_bar.py::test_regress PASSED tests/ui/test_progress_bar.py::test_regress_below_min PASSED tests/ui/test_progress_bar.py::test_regress_multiple_times PASSED tests/ui/test_progress_bar.py::test_regress_with_steps PASSED tests/ui/test_progress_bar.py::test_set_current_progress PASSED tests/ui/test_progress_indicator.py::test_default_indicator PASSED tests/ui/test_progress_indicator.py::test_explicit_format PASSED tests/ui/test_question.py::test_ask PASSED tests/ui/test_question.py::test_ask_and_validate PASSED tests/ui/test_question.py::test_ask_hidden_response SKIPPED (`stty` ...) tests/ui/test_question.py::test_ask_question_with_special_characters PASSED tests/ui/test_question.py::test_no_interaction PASSED tests/ui/test_table.py::test_column_style PASSED tests/ui/test_table.py::test_render[headers0-rows0-default-+---------------+--------------------------+------------------+\n| ISBN | Title | Author |\n+---------------+--------------------------+------------------+\n| 99921-58-10-7 | Divine Comedy | Dante Alighieri |\n| 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens |\n| 960-425-059-0 | The Lord of the Rings | J. R. R. Tolkien |\n| 80-902734-1-6 | And Then There Were None | Agatha Christie |\n| 9782070409341 | Le P\xe8re Goriot | Honor\xe9 de Balzac |\n+---------------+--------------------------+------------------+\n] PASSED tests/ui/test_table.py::test_render[headers1-rows1-compact- ISBN Title Author \n 99921-58-10-7 Divine Comedy Dante Alighieri \n 9971-5-0210-0 A Tale of Two Cities Charles Dickens \n 960-425-059-0 The Lord of the Rings J. R. R. Tolkien \n 80-902734-1-6 And Then There Were None Agatha Christie \n 9782070409341 Le P\xe8re Goriot Honor\xe9 de Balzac \n] PASSED tests/ui/test_table.py::test_render[headers10-rows10-default-+---------------+----------------------+-----------------+\n| ISBN | Title | Author |\n+---------------+----------------------+-----------------+\n| 99921-58-10-7 | Divine Comedy | Dante Alighieri |\n| 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens |\n+---------------+----------------------+-----------------+\n] PASSED tests/ui/test_table.py::test_render[headers11-rows11-default-+----------------+----------------+-----------------+\n| ISBN | Title | Author |\n+----------------+----------------+-----------------+\n| 99921-58-10-7 | Divine Comedy | Dante Alighieri |\n+----------------+----------------+-----------------+\n| Divine Comedy(Dante Alighieri) |\n+----------------+----------------+-----------------+\n| Arduino: A Quick-Start Guide | Mark Schmidt |\n+----------------+----------------+-----------------+\n| 9971-5-0210-0 | A Tale of |\n| | Two Cities |\n+----------------+----------------+-----------------+\n] PASSED tests/ui/test_table.py::test_render[headers12-rows12-default-+---------------+----------------------+-----------------+\n| ISBN | Title | Author |\n+---------------+----------------------+-----------------+\n| 9971-5-0210-0 | Divine Comedy | Dante Alighieri |\n| | A Tale of Two Cities | Charles Dickens |\n| | The Lord of | J. R. |\n| | the Rings | R. Tolkien |\n+---------------+----------------------+-----------------+\n| 80-902734-1-6 | And Then | Agatha Christie |\n| 80-902734-1-7 | There | Test |\n| | Were None | |\n+---------------+----------------------+-----------------+\n] PASSED tests/ui/test_table.py::test_render[headers13-rows13-default-+------------------+---------+-----------------+\n| ISBN | Title | Author |\n+------------------+---------+-----------------+\n| 9971-5-0210-0 | Dante Alighieri |\n| | Charles Dickens |\n+------------------+---------+-----------------+\n| Dante Alighieri | 9971-5-0210-0 |\n| J. R. R. Tolkien | |\n| J. R. R | |\n+------------------+---------+-----------------+\n] PASSED tests/ui/test_table.py::test_render[headers14-rows14-default-+-----------------+-------+-----------------+\n| ISBN | Title | Author |\n+-----------------+-------+-----------------+\n| 9971 | Dante Alighieri |\n| -5- | Charles Dickens |\n| 021 | |\n| 0-0 | |\n+-----------------+-------+-----------------+\n| Dante Alighieri | 9971 |\n| Charles Dickens | -5- |\n| | 021 |\n| | 0-0 |\n+-----------------+-------+-----------------+\n| 9971 | Dante |\n| -5- | Alighieri |\n| 021 | |\n| 0-0 | |\n+-----------------+-------+-----------------+\n] PASSED tests/ui/test_table.py::test_render[headers15-rows15-default-+-----------------+-------+-----------------+\n| ISBN | Title | Author |\n+-----------------+-------+-----------------+\n| 9971 | Dante Alighieri |\n| -5- | Charles Dickens |\n| 021 | |\n| 0-0 | |\n| Dante Alighieri | 9971 |\n| Charles Dickens | -5- |\n| | 021 |\n| | 0-0 |\n+-----------------+-------+-----------------+\n] PASSED tests/ui/test_table.py::test_render[headers16-rows16-default-+---------------+-----------------+\n| ISBN | Author |\n+---------------+-----------------+\n| 9971-5-0210-0 | Dante Alighieri |\n| |-----------------|\n| | Charles Dickens |\n+---------------+-----------------+\n] PASSED tests/ui/test_table.py::test_render[headers17-rows17-default-+------+-------+--------+\n| Main title |\n+------+-------+--------+\n| ISBN | Title | Author |\n+------+-------+--------+\n] PASSED tests/ui/test_table.py::test_render[headers18-rows18-default-+---+--+--+---+--+---+--+---+--+\n| 1 | 2 | 3 | 4 |\n+---+--+--+---+--+---+--+---+--+\n] PASSED tests/ui/test_table.py::test_render[headers2-rows2-borderless- =============== ========================== ================== \n ISBN Title Author \n =============== ========================== ================== \n 99921-58-10-7 Divine Comedy Dante Alighieri \n 9971-5-0210-0 A Tale of Two Cities Charles Dickens \n 960-425-059-0 The Lord of the Rings J. R. R. Tolkien \n 80-902734-1-6 And Then There Were None Agatha Christie \n 9782070409341 Le P\xe8re Goriot Honor\xe9 de Balzac \n =============== ========================== ================== \n] PASSED tests/ui/test_table.py::test_render[headers3-rows3-box-\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 ISBN \u2502 Title \u2502 Author \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 99921-58-10-7 \u2502 Divine Comedy \u2502 Dante Alighieri \u2502\n\u2502 9971-5-0210-0 \u2502 A Tale of Two Cities \u2502 Charles Dickens \u2502\n\u2502 960-425-059-0 \u2502 The Lord of the Rings \u2502 J. R. R. Tolkien \u2502\n\u2502 80-902734-1-6 \u2502 And Then There Were None \u2502 Agatha Christie \u2502\n\u2502 9782070409341 \u2502 Le P\xe8re Goriot \u2502 Honor\xe9 de Balzac \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n] PASSED tests/ui/test_table.py::test_render[headers4-rows4-box-double-\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\n\u2551 ISBN \u2502 Title \u2502 Author \u2551\n\u2560\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u256a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u256a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2563\n\u2551 99921-58-10-7 \u2502 Divine Comedy \u2502 Dante Alighieri \u2551\n\u2551 9971-5-0210-0 \u2502 A Tale of Two Cities \u2502 Charles Dickens \u2551\n\u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n\u2551 960-425-059-0 \u2502 The Lord of the Rings \u2502 J. R. R. Tolkien \u2551\n\u2551 80-902734-1-6 \u2502 And Then There Were None \u2502 Agatha Christie \u2551\n\u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d\n] PASSED tests/ui/test_table.py::test_render[headers5-rows5-default-+---------------+--------------------------+------------------+\n| ISBN | Title | |\n+---------------+--------------------------+------------------+\n| 99921-58-10-7 | Divine Comedy | Dante Alighieri |\n| 9971-5-0210-0 | | |\n| 960-425-059-0 | The Lord of the Rings | J. R. R. Tolkien |\n| 80-902734-1-6 | And Then There Were None | Agatha Christie |\n+---------------+--------------------------+------------------+\n] PASSED tests/ui/test_table.py::test_render[headers6-rows6-default-+---------------+--------------------------+------------------+\n| 99921-58-10-7 | Divine Comedy | Dante Alighieri |\n| 9971-5-0210-0 | | |\n| 960-425-059-0 | The Lord of the Rings | J. R. R. Tolkien |\n| 80-902734-1-6 | And Then There Were None | Agatha Christie |\n+---------------+--------------------------+------------------+\n] PASSED tests/ui/test_table.py::test_render[headers7-rows7-default-+------+-------+\n| ISBN | Title |\n+------+-------+\n] PASSED tests/ui/test_table.py::test_render[headers8-rows8-default-] PASSED tests/ui/test_table.py::test_render[headers9-rows9-default-+---------------+----------------------------+-----------------+\n| ISBN | Title | Author |\n+---------------+----------------------------+-----------------+\n| 99921-58-10-7 | Divine | Dante Alighieri |\n| | Comedy | |\n| 9971-5-0210-2 | Harry Potter | Rowling |\n| | and the Chamber of Secrets | Joanne K. |\n| 9971-5-0210-2 | Harry Potter | Rowling |\n| | and the Chamber of Secrets | Joanne K. |\n| 960-425-059-0 | The Lord of the Rings | J. R. R. |\n| | | Tolkien |\n+---------------+----------------------------+-----------------+\n] PASSED tests/ui/test_table.py::test_style_for_side_effects PASSED ======== 253 passed, 3 skipped ========