Coverage report: 99%

Files Functions Classes

coverage.py v7.13.0, created at 2026-01-12 16:43 +0000

File function   statements missing excluded   coverage
tdom / __init__.py (no function)   4 0 0   100%
tdom / callables.py CallableInfo.from_callable   24 0 0   100%
tdom / callables.py CallableInfo.supports_zero_args   1 0 0   100%
tdom / callables.py get_callable_info   1 0 0   100%
tdom / callables.py (no function)   17 0 0   100%
tdom / callables_test.py callable_zero_args   0 0 2   100%
tdom / callables_test.py test_zero_args   7 0 0   100%
tdom / callables_test.py callable_positional   0 0 2   100%
tdom / callables_test.py test_positional   7 0 0   100%
tdom / callables_test.py callable_positional_only   0 0 2   100%
tdom / callables_test.py test_positional_only   7 0 0   100%
tdom / callables_test.py callable_positional_only_default   0 0 2   100%
tdom / callables_test.py test_positional_only_default   7 0 0   100%
tdom / callables_test.py callable_kwargs   0 0 2   100%
tdom / callables_test.py test_kwargs   7 0 0   100%
tdom / callables_test.py callable_mixed   0 0 2   100%
tdom / callables_test.py test_mixed   7 0 0   100%
tdom / callables_test.py callable_positional_with_defaults   0 0 2   100%
tdom / callables_test.py test_positional_with_defaults   7 0 0   100%
tdom / callables_test.py callable_keyword_only   0 0 2   100%
tdom / callables_test.py test_keyword_only   7 0 0   100%
tdom / callables_test.py callable_var_positional   0 0 2   100%
tdom / callables_test.py test_var_positional   7 0 0   100%
tdom / callables_test.py callable_all_types   0 0 2   100%
tdom / callables_test.py test_all_types   7 0 0   100%
tdom / callables_test.py (no function)   12 0 18   100%
tdom / escaping.py escape_html_comment   12 0 0   100%
tdom / escaping.py escape_html_style   3 0 0   100%
tdom / escaping.py escape_html_script   3 0 0   100%
tdom / escaping.py (no function)   10 0 0   100%
tdom / escaping_test.py test_escape_html_comment_empty   1 0 0   100%
tdom / escaping_test.py test_escape_html_comment_no_special   1 0 0   100%
tdom / escaping_test.py test_escape_html_comment_starts_with_gt   1 0 0   100%
tdom / escaping_test.py test_escape_html_comment_starts_with_dash_gt   1 0 0   100%
tdom / escaping_test.py test_escape_html_comment_contains_special_strings   3 0 0   100%
tdom / escaping_test.py test_escape_html_comment_ends_with_lt_dash   1 0 0   100%
tdom / escaping_test.py test_escape_html_style   3 0 0   100%
tdom / escaping_test.py test_escape_html_script   5 0 0   100%
tdom / escaping_test.py (no function)   9 0 0   100%
tdom / format.py convert   0 0 1   100%
tdom / format.py convert   0 0 1   100%
tdom / format.py convert   7 0 0   100%
tdom / format.py _matcher_matches   1 0 0   100%
tdom / format.py _format_interpolation   7 0 0   100%
tdom / format.py format_interpolation   1 0 0   100%
tdom / format.py format_template   6 0 0   100%
tdom / format.py (no function)   13 0 6   100%
tdom / format_test.py Convertible.__str__   1 0 0   100%
tdom / format_test.py Convertible.__repr__   1 0 0   100%
tdom / format_test.py test_convert_none   2 0 0   100%
tdom / format_test.py test_convert_a   3 0 0   100%
tdom / format_test.py test_convert_r   2 0 0   100%
tdom / format_test.py test_convert_s   2 0 0   100%
tdom / format_test.py test_format_interpolation_no_formatting   3 0 0   100%
tdom / format_test.py test_format_interpolation_a   3 0 0   100%
tdom / format_test.py test_format_interpolation_r   3 0 0   100%
tdom / format_test.py test_format_interpolation_s   3 0 0   100%
tdom / format_test.py test_format_interpolation_default_formatting   3 0 0   100%
tdom / format_test.py test_format_interpolation_custom_formatter_match_exact   4 0 0   100%
tdom / format_test.py test_format_interpolation_custom_formatter_match_exact.formatter   1 0 0   100%
tdom / format_test.py test_format_interpolation_custom_formatter_match_predicate   5 0 0   100%
tdom / format_test.py test_format_interpolation_custom_formatter_match_predicate.matcher   1 0 0   100%
tdom / format_test.py test_format_interpolation_custom_formatter_match_predicate.formatter   1 0 0   100%
tdom / format_test.py test_format_template   3 0 0   100%
tdom / format_test.py (no function)   17 0 0   100%
tdom / nodes.py Node.__html__   1 0 0   100%
tdom / nodes.py Text.__str__   1 0 0   100%
tdom / nodes.py Text.__eq__   1 0 0   100%
tdom / nodes.py Fragment.__str__   1 0 0   100%
tdom / nodes.py Comment.__str__   1 0 0   100%
tdom / nodes.py DocumentType.__str__   1 0 0   100%
tdom / nodes.py Element.__post_init__   4 0 0   100%
tdom / nodes.py Element.is_void   1 0 0   100%
tdom / nodes.py Element.is_content   1 0 0   100%
tdom / nodes.py Element._children_to_str   15 2 0   87%
tdom / nodes.py Element.__str__   7 0 0   100%
tdom / nodes.py (no function)   35 0 0   100%
tdom / nodes_test.py test_comment   2 0 0   100%
tdom / nodes_test.py test_comment_empty   2 0 0   100%
tdom / nodes_test.py test_comment_special_chars   2 0 0   100%
tdom / nodes_test.py test_doctype_default   2 0 0   100%
tdom / nodes_test.py test_doctype_custom   2 0 0   100%
tdom / nodes_test.py test_text   2 0 0   100%
tdom / nodes_test.py test_text_escaping   2 0 0   100%
tdom / nodes_test.py test_text_safe   4 0 0   100%
tdom / nodes_test.py test_text_safe.CustomHTML.__html__   1 0 0   100%
tdom / nodes_test.py test_text_equality   5 0 0   100%
tdom / nodes_test.py test_fragment_empty   2 0 0   100%
tdom / nodes_test.py test_fragment_with_text   2 0 0   100%
tdom / nodes_test.py test_fragment_with_multiple_texts   2 0 0   100%
tdom / nodes_test.py test_element_no_children   3 0 0   100%
tdom / nodes_test.py test_void_element_no_children   3 0 0   100%
tdom / nodes_test.py test_element_invalid_empty_tag   2 0 0   100%
tdom / nodes_test.py test_element_is_content   4 0 0   100%
tdom / nodes_test.py test_void_element_with_attributes   2 0 0   100%
tdom / nodes_test.py test_void_element_with_children   2 0 0   100%
tdom / nodes_test.py test_standard_element_with_attributes   2 0 0   100%
tdom / nodes_test.py test_standard_element_with_text_child   2 0 0   100%
tdom / nodes_test.py test_standard_element_with_element_children   2 0 0   100%
tdom / nodes_test.py test_element_with_fragment_with_children   2 0 0   100%
tdom / nodes_test.py test_standard_element_with_mixed_children   2 0 0   100%
tdom / nodes_test.py test_complex_tree   2 0 0   100%
tdom / nodes_test.py test_dunder_html_method   2 0 0   100%
tdom / nodes_test.py test_escaping_of_text_content   2 0 0   100%
tdom / nodes_test.py test_escaping_of_attribute_values   2 0 0   100%
tdom / nodes_test.py (no function)   30 0 0   100%
tdom / parser.py SourceTracker.interpolations   1 0 0   100%
tdom / parser.py SourceTracker.advance_interpolation   2 0 0   100%
tdom / parser.py SourceTracker.get_expression   2 0 0   100%
tdom / parser.py SourceTracker.format_starttag   1 0 0   100%
tdom / parser.py TemplateParser.__init__   1 0 0   100%
tdom / parser.py TemplateParser.get_parent   1 0 0   100%
tdom / parser.py TemplateParser.append_child   2 0 0   100%
tdom / parser.py TemplateParser.make_tattr   14 0 0   100%
tdom / parser.py TemplateParser.make_tattrs   1 0 0   100%
tdom / parser.py TemplateParser.make_open_tag   7 0 0   100%
tdom / parser.py TemplateParser.finalize_tag   7 0 0   100%
tdom / parser.py TemplateParser.validate_end_tag   17 1 0   94%
tdom / parser.py TemplateParser.handle_starttag   5 0 0   100%
tdom / parser.py TemplateParser.handle_startendtag   3 0 0   100%
tdom / parser.py TemplateParser.handle_endtag   6 0 0   100%
tdom / parser.py TemplateParser.handle_data   5 0 0   100%
tdom / parser.py TemplateParser.handle_comment   3 0 0   100%
tdom / parser.py TemplateParser.handle_decl   8 0 0   100%
tdom / parser.py TemplateParser.reset   5 0 0   100%
tdom / parser.py TemplateParser.close   5 1 0   80%
tdom / parser.py TemplateParser.get_tnode   5 0 0   100%
tdom / parser.py TemplateParser.feed_str   1 0 0   100%
tdom / parser.py TemplateParser.feed_interpolation   2 0 0   100%
tdom / parser.py TemplateParser.feed_template   7 0 0   100%
tdom / parser.py TemplateParser.parse   4 0 0   100%
tdom / parser.py (no function)   51 0 0   100%
tdom / parser_test.py test_parse_mixed_literal_content   2 0 0   100%
tdom / parser_test.py test_parse_empty   2 0 0   100%
tdom / parser_test.py test_parse_text   2 0 0   100%
tdom / parser_test.py test_parse_text_multiline   2 0 0   100%
tdom / parser_test.py test_parse_text_with_entities   2 0 0   100%
tdom / parser_test.py test_parse_text_with_template_singleton   3 0 0   100%
tdom / parser_test.py test_parse_text_with_template   3 0 0   100%
tdom / parser_test.py test_parse_void_element   2 0 0   100%
tdom / parser_test.py test_parse_void_element_self_closed   2 0 0   100%
tdom / parser_test.py test_parse_uppercase_void_element   2 0 0   100%
tdom / parser_test.py test_parse_standard_element_with_text   2 0 0   100%
tdom / parser_test.py test_parse_nested_elements   2 0 0   100%
tdom / parser_test.py test_parse_element_with_template   3 0 0   100%
tdom / parser_test.py test_parse_element_with_template_singleton   3 0 0   100%
tdom / parser_test.py test_parse_multiple_voids   2 0 0   100%
tdom / parser_test.py test_parse_text_entities   2 0 0   100%
tdom / parser_test.py test_parse_script_tag_content   2 0 0   100%
tdom / parser_test.py test_parse_script_with_entities   2 0 0   100%
tdom / parser_test.py test_parse_textarea_tag_content   2 0 0   100%
tdom / parser_test.py test_parse_textarea_with_entities   2 0 0   100%
tdom / parser_test.py test_parse_title_unusual   2 0 0   100%
tdom / parser_test.py test_parse_mismatched_tags   2 0 0   100%
tdom / parser_test.py test_parse_unclosed_tag   2 0 0   100%
tdom / parser_test.py test_parse_unexpected_closing_tag   2 0 0   100%
tdom / parser_test.py test_self_closing_tags   2 0 0   100%
tdom / parser_test.py test_nested_self_closing_tags   4 0 0   100%
tdom / parser_test.py test_self_closing_tags_unexpected_closing_tag   2 0 0   100%
tdom / parser_test.py test_self_closing_void_tags_unexpected_closing_tag   2 0 0   100%
tdom / parser_test.py test_literal_attrs   2 0 0   100%
tdom / parser_test.py test_literal_attr_entities   2 0 0   100%
tdom / parser_test.py test_literal_attr_order   3 0 0   100%
tdom / parser_test.py test_interpolated_attr   4 0 0   100%
tdom / parser_test.py test_templated_attr   6 0 0   100%
tdom / parser_test.py test_spread_attr   3 0 0   100%
tdom / parser_test.py test_templated_attribute_name_error   3 0 0   100%
tdom / parser_test.py test_templated_attribute_name_and_value_error   4 0 0   100%
tdom / parser_test.py test_adjacent_spread_attrs_error   4 0 0   100%
tdom / parser_test.py test_parse_comment   2 0 0   100%
tdom / parser_test.py test_parse_comment_interpolation   3 0 0   100%
tdom / parser_test.py test_parse_doctype   2 0 0   100%
tdom / parser_test.py test_parse_doctype_interpolation_error   3 0 0   100%
tdom / parser_test.py test_unsupported_decl_error   4 0 0   100%
tdom / parser_test.py test_component_element_with_children   3 0 0   100%
tdom / parser_test.py test_component_element_with_children.Component   1 1 0   0%
tdom / parser_test.py test_component_element_self_closing   3 0 0   100%
tdom / parser_test.py test_component_element_self_closing.Component   1 1 0   0%
tdom / parser_test.py test_component_element_with_closing_tag   3 0 0   100%
tdom / parser_test.py test_component_element_with_closing_tag.Component   1 1 0   0%
tdom / parser_test.py test_component_element_special_case_mismatched_closing_tag_still_parses   4 0 0   100%
tdom / parser_test.py test_component_element_special_case_mismatched_closing_tag_still_parses.Component1   1 1 0   0%
tdom / parser_test.py test_component_element_special_case_mismatched_closing_tag_still_parses.Component2   1 1 0   0%
tdom / parser_test.py test_component_element_invalid_closing_tag   3 0 0   100%
tdom / parser_test.py test_component_element_invalid_closing_tag.Component   1 1 0   0%
tdom / parser_test.py test_component_element_invalid_opening_tag   3 0 0   100%
tdom / parser_test.py test_component_element_invalid_opening_tag.Component   1 1 0   0%
tdom / parser_test.py test_adjacent_start_component_tag_error   3 0 0   100%
tdom / parser_test.py test_adjacent_start_component_tag_error.Component   1 1 0   0%
tdom / parser_test.py test_adjacent_end_component_tag_error   3 0 0   100%
tdom / parser_test.py test_adjacent_end_component_tag_error.Component   1 1 0   0%
tdom / parser_test.py (no function)   54 0 0   100%
tdom / placeholders.py make_placeholder_config   3 0 0   100%
tdom / placeholders.py PlaceholderConfig.make_placeholder   1 0 0   100%
tdom / placeholders.py PlaceholderConfig.match_placeholders   1 0 0   100%
tdom / placeholders.py PlaceholderConfig.find_placeholders   13 0 0   100%
tdom / placeholders.py PlaceholderState.is_empty   1 0 0   100%
tdom / placeholders.py PlaceholderState.add_placeholder   3 0 0   100%
tdom / placeholders.py PlaceholderState.remove_placeholders   6 0 0   100%
tdom / placeholders.py (no function)   20 0 0   100%
tdom / placeholders_test.py test_make_placeholder   3 0 0   100%
tdom / placeholders_test.py test_match_placeholders   8 0 0   100%
tdom / placeholders_test.py test_find_placeholders   9 0 0   100%
tdom / placeholders_test.py test_placeholder_state   15 0 0   100%
tdom / placeholders_test.py (no function)   6 0 0   100%
tdom / processor.py HasHTMLDunder.__html__   0 0 1   100%
tdom / processor.py _parse_and_cache   1 0 0   100%
tdom / processor.py _format_safe   2 0 0   100%
tdom / processor.py _format_unsafe   2 0 0   100%
tdom / processor.py format_interpolation   1 0 0   100%
tdom / processor.py _expand_aria_attr   12 0 0   100%
tdom / processor.py _expand_data_attr   8 0 0   100%
tdom / processor.py _substitute_spread_attrs   5 0 0   100%
tdom / processor.py parse_style_attribute_value   9 0 0   100%
tdom / processor.py make_style_accumulator   8 2 0   75%
tdom / processor.py StyleAccumulator.merge_value   9 0 0   100%
tdom / processor.py StyleAccumulator.to_value   2 0 0   100%
tdom / processor.py make_class_accumulator   8 2 0   75%
tdom / processor.py ClassAccumulator.merge_value   15 0 0   100%
tdom / processor.py ClassAccumulator.to_value   2 0 0   100%
tdom / processor.py _resolve_t_attrs   49 2 0   96%
tdom / processor.py _resolve_html_attrs   10 0 0   100%
tdom / processor.py _resolve_attrs   2 0 0   100%
tdom / processor.py _flatten_nodes   6 0 0   100%
tdom / processor.py _substitute_and_flatten_children   3 0 0   100%
tdom / processor.py _node_from_value   18 0 0   100%
tdom / processor.py _kebab_to_snake   1 0 0   100%
tdom / processor.py _invoke_component   18 0 0   100%
tdom / processor.py _resolve_ref   2 0 0   100%
tdom / processor.py _resolve_t_text_ref   7 0 0   100%
tdom / processor.py _resolve_t_node   26 2 0   92%
tdom / processor.py html   3 0 0   100%
tdom / processor.py (no function)   54 0 0   100%
tdom / processor_test.py test_empty   3 0 0   100%
tdom / processor_test.py test_text_literal   3 0 0   100%
tdom / processor_test.py test_text_singleton   4 0 0   100%
tdom / processor_test.py test_text_template   4 0 0   100%
tdom / processor_test.py test_text_template_escaping   4 0 0   100%
tdom / processor_test.py test_comment   3 0 0   100%
tdom / processor_test.py test_comment_template   4 0 0   100%
tdom / processor_test.py test_comment_template_escaping   4 0 0   100%
tdom / processor_test.py test_parse_document_type   3 0 0   100%
tdom / processor_test.py test_parse_void_element   3 0 0   100%
tdom / processor_test.py test_parse_void_element_self_closed   3 0 0   100%
tdom / processor_test.py test_parse_chain_of_void_elements   3 0 0   100%
tdom / processor_test.py test_parse_element_with_text   3 0 0   100%
tdom / processor_test.py test_parse_nested_elements   3 0 0   100%
tdom / processor_test.py test_parse_entities_are_escaped   3 0 0   100%
tdom / processor_test.py test_interpolated_text_content   4 0 0   100%
tdom / processor_test.py test_escaping_of_interpolated_text_content   4 0 0   100%
tdom / processor_test.py Convertible.__str__   1 0 0   100%
tdom / processor_test.py Convertible.__repr__   1 0 0   100%
tdom / processor_test.py test_conversions   5 0 0   100%
tdom / processor_test.py test_interpolated_in_content_node   5 0 0   100%
tdom / processor_test.py test_interpolated_trusted_in_content_node   3 0 0   100%
tdom / processor_test.py test_script_elements_error   4 0 0   100%
tdom / processor_test.py test_interpolated_false_content   3 0 0   100%
tdom / processor_test.py test_interpolated_none_content   3 0 0   100%
tdom / processor_test.py test_interpolated_zero_arg_function   3 0 0   100%
tdom / processor_test.py test_interpolated_zero_arg_function.get_value   1 0 0   100%
tdom / processor_test.py test_interpolated_multi_arg_function_fails   2 0 1   100%
tdom / processor_test.py test_interpolated_multi_arg_function_fails.add   0 0 1   100%
tdom / processor_test.py test_raw_html_injection_with_markupsafe   4 0 0   100%
tdom / processor_test.py test_raw_html_injection_with_dunder_html_protocol   7 0 0   100%
tdom / processor_test.py test_raw_html_injection_with_dunder_html_protocol.SafeContent.__init__   1 0 0   100%
tdom / processor_test.py test_raw_html_injection_with_dunder_html_protocol.SafeContent.__html__   1 0 0   100%
tdom / processor_test.py test_raw_html_injection_with_format_spec   4 0 0   100%
tdom / processor_test.py test_raw_html_injection_with_markupsafe_unsafe_format_spec   4 0 0   100%
tdom / processor_test.py test_conditional_rendering_with_if_else   9 0 0   100%
tdom / processor_test.py test_conditional_rendering_with_and   8 0 0   100%
tdom / processor_test.py test_interpolated_template_content   4 0 0   100%
tdom / processor_test.py test_interpolated_element_content   4 0 0   100%
tdom / processor_test.py test_interpolated_nonstring_content   4 0 0   100%
tdom / processor_test.py test_list_items   4 0 0   100%
tdom / processor_test.py test_nested_list_items   7 0 0   100%
tdom / processor_test.py test_literal_attrs   3 0 0   100%
tdom / processor_test.py test_literal_attr_escaped   3 0 0   100%
tdom / processor_test.py test_interpolated_attr   4 0 0   100%
tdom / processor_test.py test_interpolated_attr_escaped   4 0 0   100%
tdom / processor_test.py test_interpolated_attr_unquoted   4 0 0   100%
tdom / processor_test.py test_interpolated_attr_true   4 0 0   100%
tdom / processor_test.py test_interpolated_attr_false   4 0 0   100%
tdom / processor_test.py test_interpolated_attr_none   4 0 0   100%
tdom / processor_test.py test_interpolate_attr_empty_string   3 0 0   100%
tdom / processor_test.py test_spread_attr   4 0 0   100%
tdom / processor_test.py test_spread_attr_none   4 0 0   100%
tdom / processor_test.py test_spread_attr_type_errors   3 0 0   100%
tdom / processor_test.py test_templated_attr_mixed_interpolations_start_end_and_nest   7 0 0   100%
tdom / processor_test.py test_templated_attr_no_quotes   5 0 0   100%
tdom / processor_test.py test_attr_merge_disjoint_interpolated_attr_spread_attr   5 0 0   100%
tdom / processor_test.py test_attr_merge_overlapping_spread_attrs   5 0 0   100%
tdom / processor_test.py test_attr_merge_replace_literal_attr_str_str   3 0 0   100%
tdom / processor_test.py test_attr_merge_replace_literal_attr_str_true   3 0 0   100%
tdom / processor_test.py test_attr_merge_replace_literal_attr_true_str   3 0 0   100%
tdom / processor_test.py test_attr_merge_remove_literal_attr_str_none   3 0 0   100%
tdom / processor_test.py test_attr_merge_remove_literal_attr_true_none   3 0 0   100%
tdom / processor_test.py test_attr_merge_other_literal_attr_intact   3 0 0   100%
tdom / processor_test.py test_placeholder_collision_avoidance   6 0 0   100%
tdom / processor_test.py test_interpolated_data_attributes   4 0 0   100%
tdom / processor_test.py test_data_attr_toggle_to_str   3 0 0   100%
tdom / processor_test.py test_data_attr_toggle_to_true   3 0 0   100%
tdom / processor_test.py test_data_attr_unrelated_unaffected   3 0 0   100%
tdom / processor_test.py test_data_attr_templated_error   5 1 0   80%
tdom / processor_test.py test_data_attr_none   4 0 0   100%
tdom / processor_test.py test_data_attr_errors   3 0 0   100%
tdom / processor_test.py test_data_literal_attr_bypass   2 0 0   100%
tdom / processor_test.py test_aria_templated_attr_error   5 1 0   80%
tdom / processor_test.py test_aria_interpolated_attr_dict   4 0 0   100%
tdom / processor_test.py test_aria_interpolate_attr_none   4 0 0   100%
tdom / processor_test.py test_aria_attr_errors   3 0 0   100%
tdom / processor_test.py test_aria_literal_attr_bypass   2 0 0   100%
tdom / processor_test.py test_interpolated_class_attribute   11 0 0   100%
tdom / processor_test.py test_interpolated_class_attribute_with_multiple_placeholders   4 0 0   100%
tdom / processor_test.py test_interpolated_attribute_spread_with_class_attribute   4 0 0   100%
tdom / processor_test.py test_class_literal_attr_bypass   2 0 0   100%
tdom / processor_test.py test_class_none_ignored   5 0 0   100%
tdom / processor_test.py test_class_type_errors   5 0 0   100%
tdom / processor_test.py test_class_merge_literals   2 0 0   100%
tdom / processor_test.py test_class_merge_literal_then_interpolation   3 0 0   100%
tdom / processor_test.py test_style_literal_attr_passthru   4 0 0   100%
tdom / processor_test.py test_style_in_interpolated_attr   4 0 0   100%
tdom / processor_test.py test_style_in_templated_attr   4 0 0   100%
tdom / processor_test.py test_style_in_spread_attr   4 0 0   100%
tdom / processor_test.py test_style_merged_from_all_attrs   6 0 0   100%
tdom / processor_test.py test_style_override_left_to_right   8 0 0   100%
tdom / processor_test.py test_interpolated_style_attribute_multiple_placeholders   4 0 0   100%
tdom / processor_test.py test_interpolated_style_attribute_merged   5 0 0   100%
tdom / processor_test.py test_interpolated_style_attribute_merged_override   5 0 0   100%
tdom / processor_test.py test_style_attribute_str   4 0 0   100%
tdom / processor_test.py test_style_attribute_non_str_non_dict   3 0 0   100%
tdom / processor_test.py test_style_literal_attr_bypass   2 0 0   100%
tdom / processor_test.py test_style_none   3 0 0   100%
tdom / processor_test.py FunctionComponent   5 0 0   100%
tdom / processor_test.py test_interpolated_template_component   3 0 0   100%
tdom / processor_test.py test_interpolated_template_component_no_children_provided   3 0 0   100%
tdom / processor_test.py test_invalid_component_invocation   2 0 0   100%
tdom / processor_test.py FunctionComponentNoChildren   5 0 0   100%
tdom / processor_test.py test_interpolated_template_component_ignore_children   3 0 0   100%
tdom / processor_test.py FunctionComponentKeywordArgs   5 0 0   100%
tdom / processor_test.py test_children_always_passed_via_kwargs   3 0 0   100%
tdom / processor_test.py test_children_always_passed_via_kwargs_even_when_empty   3 0 0   100%
tdom / processor_test.py ColumnsComponent   1 0 0   100%
tdom / processor_test.py test_fragment_from_component   3 0 0   100%
tdom / processor_test.py test_component_passed_as_attr_value   4 0 0   100%
tdom / processor_test.py test_component_passed_as_attr_value.Wrapper   1 0 0   100%
tdom / processor_test.py test_nested_component_gh23   4 0 0   100%
tdom / processor_test.py test_nested_component_gh23.Header   1 0 0   100%
tdom / processor_test.py test_component_returning_iterable   4 0 0   100%
tdom / processor_test.py test_component_returning_iterable.Items   3 0 0   100%
tdom / processor_test.py test_component_returning_fragment   4 0 0   100%
tdom / processor_test.py test_component_returning_fragment.Items   1 0 0   100%
tdom / processor_test.py ClassComponent.__call__   1 0 0   100%
tdom / processor_test.py test_class_component_implicit_invocation_with_children   3 0 0   100%
tdom / processor_test.py test_class_component_direct_invocation   4 0 0   100%
tdom / processor_test.py ClassComponentNoChildren.__call__   1 0 0   100%
tdom / processor_test.py test_class_component_implicit_invocation_ignore_children   3 0 0   100%
tdom / processor_test.py AttributeTypeComponent   11 0 0   100%
tdom / processor_test.py test_attribute_type_component   10 0 0   100%
tdom / processor_test.py test_component_non_callable_fails   2 0 0   100%
tdom / processor_test.py RequiresPositional   0 0 1   100%
tdom / processor_test.py test_component_requiring_positional_arg_fails   2 0 0   100%
tdom / processor_test.py test_mismatched_component_closing_tag_fails   2 0 0   100%
tdom / processor_test.py (no function)   138 0 1   100%
tdom / template_utils.py template_from_parts   3 0 0   100%
tdom / template_utils.py combine_template_refs   1 0 0   100%
tdom / template_utils.py TemplateRef.is_literal   1 0 0   100%
tdom / template_utils.py TemplateRef.is_empty   1 0 0   100%
tdom / template_utils.py TemplateRef.is_singleton   1 0 0   100%
tdom / template_utils.py TemplateRef.to_naive_template   1 0 0   100%
tdom / template_utils.py TemplateRef.literal   1 0 0   100%
tdom / template_utils.py TemplateRef.empty   1 0 0   100%
tdom / template_utils.py TemplateRef.singleton   1 0 0   100%
tdom / template_utils.py TemplateRef.from_naive_template   1 0 0   100%
tdom / template_utils.py TemplateRef.__post_init__   2 0 0   100%
tdom / template_utils.py (no function)   25 0 0   100%
tdom / template_utils_test.py test_template_from_parts   5 0 0   100%
tdom / template_utils_test.py test_template_ref_is_literal   4 0 0   100%
tdom / template_utils_test.py test_template_ref_is_empty   4 0 0   100%
tdom / template_utils_test.py test_template_ref_is_singleton   4 0 0   100%
tdom / template_utils_test.py test_template_ref_post_init_validation   2 0 0   100%
tdom / template_utils_test.py test_combine_template_refs   2 0 0   100%
tdom / template_utils_test.py (no function)   9 0 0   100%
tdom / tnodes.py TNode.__html__   1 0 0   100%
tdom / tnodes.py TNode.__str__   1 0 0   100%
tdom / tnodes.py TText.empty   1 0 0   100%
tdom / tnodes.py TText.literal   1 0 0   100%
tdom / tnodes.py TComment.literal   1 0 0   100%
tdom / tnodes.py (no function)   43 0 0   100%
tdom / tnodes_test.py test_tnode_abstract_methods   5 0 0   100%
tdom / tnodes_test.py test_ttext_literal   3 0 0   100%
tdom / tnodes_test.py test_ttext_empty   2 0 0   100%
tdom / tnodes_test.py test_tcomment_literal   3 0 0   100%
tdom / tnodes_test.py (no function)   7 0 0   100%
tdom / utils.py LastUpdatedOrderedDict.__setitem__   2 0 0   100%
tdom / utils.py CachableTemplate.__init__   1 0 0   100%
tdom / utils.py CachableTemplate.__eq__   3 1 0   67%
tdom / utils.py CachableTemplate.__hash__   1 0 0   100%
tdom / utils.py (no function)   8 0 0   100%
tdom / utils_test.py test_last_updated_ordered_dict   11 0 0   100%
tdom / utils_test.py test_cachable_template_eq   5 0 0   100%
tdom / utils_test.py test_cachable_template_hash   3 0 0   100%
tdom / utils_test.py (no function)   4 0 0   100%
Total     1958 24 51   99%

No items found using the specified filter.