SYMBOL INDEX (337 symbols across 18 files) FILE: pygount/analysis.py class SourceState (line 70) | class SourceState(Enum): class PathData (line 205) | class PathData: function is_markup_file (line 211) | def is_markup_file(source_path: str) -> bool: class DuplicatePool (line 215) | class DuplicatePool: method __init__ (line 220) | def __init__(self): method _hash_for (line 225) | def _hash_for(path_to_hash): method duplicate_path (line 235) | def duplicate_path(self, source_path: str) -> Optional[str]: class SourceAnalysis (line 259) | class SourceAnalysis: method __init__ (line 267) | def __init__( method from_state (line 291) | def from_state( method _check_state_info (line 320) | def _check_state_info(state: SourceState, state_info: Optional[str]): method from_file (line 332) | def from_file( method path (line 464) | def path(self) -> str: method language (line 468) | def language(self) -> str: method group (line 477) | def group(self) -> str: method code_count (line 489) | def code_count(self) -> int: method documentation_count (line 494) | def documentation_count(self) -> int: method empty_count (line 499) | def empty_count(self) -> int: method line_count (line 509) | def line_count(self) -> int: method string_count (line 516) | def string_count(self) -> int: method source_count (line 521) | def source_count(self) -> int: method state (line 526) | def state(self) -> SourceState: method state_info (line 533) | def state_info(self) -> Optional[Union[str, Exception]]: method is_countable (line 547) | def is_countable(self) -> bool: method __repr__ (line 553) | def __repr__(self): class SourceScanner (line 574) | class SourceScanner: method __init__ (line 579) | def __init__( method close (line 600) | def close(self): method __enter__ (line 604) | def __enter__(self): method __exit__ (line 607) | def __exit__(self, exc_type, exc_val, exc_tb): method source_patterns (line 612) | def source_patterns(self): method suffixes (line 616) | def suffixes(self) -> list[Pattern]: method folder_regexps_to_skip (line 620) | def folder_regexps_to_skip(self) -> list[Pattern]: method folder_regexps_to_skip (line 624) | def folder_regexps_to_skip(self, regexps_or_pattern_text): method name_regexps_to_skip (line 630) | def name_regexps_to_skip(self) -> list[Pattern]: method name_regexps_to_skip (line 634) | def name_regexps_to_skip(self, regexps_or_pattern_text): method _is_path_to_skip (line 637) | def _is_path_to_skip(self, name, is_folder) -> bool: method _paths_and_group_to_analyze_in (line 642) | def _paths_and_group_to_analyze_in(self, folder, group, tmp_dir) -> Pa... method _paths_and_group_to_analyze (line 657) | def _paths_and_group_to_analyze(self, path_to_analyse_pattern, group=N... method _source_paths_and_groups_to_analyze (line 681) | def _source_paths_and_groups_to_analyze(self, source_patterns_to_analy... method source_paths (line 723) | def source_paths(self) -> Iterator[PathData]: function matching_number_line_and_regex (line 743) | def matching_number_line_and_regex( function white_characters (line 770) | def white_characters(language_id: str) -> str: function white_code_words (line 780) | def white_code_words(language_id: str) -> set[str]: function _delined_tokens (line 789) | def _delined_tokens(tokens: Iterator[tuple[TokenType, str]]) -> Iterator... function _pythonized_comments (line 801) | def _pythonized_comments(tokens: Iterator[tuple[TokenType, str]]) -> Ite... function _line_parts (line 820) | def _line_parts(lexer: pygments.lexer.Lexer, text: str, is_markup: bool ... function check_file_handle_is_seekable (line 850) | def check_file_handle_is_seekable(file_handle: Optional[Union[BufferedIO... function encoding_for (line 855) | def encoding_for( function encoding_from_header (line 954) | def encoding_from_header(header: bytes) -> Optional[str]: function encoding_from_possible_magic_comment (line 962) | def encoding_from_possible_magic_comment(ascii_header: str) -> Optional[... function _magic_comment_encodings (line 966) | def _magic_comment_encodings(ascii_header: str) -> Iterator[str]: function encoding_from_possible_xml_prolog (line 979) | def encoding_from_possible_xml_prolog(ascii_header: str) -> Optional[str]: function is_binary_file (line 985) | def is_binary_file(source_path: str) -> bool: function is_plain_text (line 991) | def is_plain_text(source_path): function has_lexer (line 995) | def has_lexer(source_path: str) -> bool: function guess_lexer (line 1008) | def guess_lexer(source_path: str, text: str) -> pygments.lexer.Lexer: function base_language (line 1020) | def base_language(language: str) -> str: FILE: pygount/command.py function _check_encoding (line 82) | def _check_encoding(name, encoding_to_check, alternative_encoding, sourc... class Command (line 102) | class Command: method __init__ (line 108) | def __init__(self): method set_encodings (line 125) | def set_encodings(self, encoding, source=None): method default_encoding (line 143) | def default_encoding(self): method set_default_encoding (line 146) | def set_default_encoding(self, default_encoding, source=None): method fallback_encoding (line 151) | def fallback_encoding(self): method set_fallback_encoding (line 154) | def set_fallback_encoding(self, fallback_encoding, source=None): method folders_to_skip (line 159) | def folders_to_skip(self): method set_folders_to_skip (line 162) | def set_folders_to_skip(self, regexes_or_patterns_text, source=None): method generated_regexps (line 168) | def generated_regexps(self): method set_generated_regexps (line 171) | def set_generated_regexps(self, regexes_or_patterns_text, source=None): method generated_name_regexps (line 177) | def generated_name_regexps(self): method set_generated_name_regexps (line 180) | def set_generated_name_regexps(self, regexes_or_pattern_text, source=N... method has_duplicates (line 186) | def has_duplicates(self): method set_has_duplicates (line 189) | def set_has_duplicates(self, has_duplicates, source=None): method has_to_merge_embedded_languages (line 193) | def has_to_merge_embedded_languages(self): method set_has_to_merge_embedded_languages (line 196) | def set_has_to_merge_embedded_languages(self, has_to_merge_embedded_la... method is_verbose (line 200) | def is_verbose(self): method set_is_verbose (line 203) | def set_is_verbose(self, is_verbose, source=None): method names_to_skip (line 207) | def names_to_skip(self): method set_names_to_skip (line 210) | def set_names_to_skip(self, regexes_or_pattern_text, source=None): method output (line 216) | def output(self): method set_output (line 219) | def set_output(self, output, source=None): method output_format (line 224) | def output_format(self): method set_output_format (line 227) | def set_output_format(self, output_format, source=None): method source_patterns (line 236) | def source_patterns(self): method set_source_patterns (line 239) | def set_source_patterns(self, glob_patterns_or_text, source=None): method suffixes (line 245) | def suffixes(self): method set_suffixes (line 248) | def set_suffixes(self, regexes_or_patterns_text, source=None): method argument_parser (line 252) | def argument_parser(self): method parsed_args (line 317) | def parsed_args(self, arguments): method apply_arguments (line 348) | def apply_arguments(self, arguments=None): method execute (line 366) | def execute(self): function pygount_command (line 404) | def pygount_command(arguments=None): function main (line 421) | def main(): # pragma: no cover FILE: pygount/common.py class Error (line 28) | class Error(Exception): class OptionError (line 34) | class OptionError(Error): method __init__ (line 40) | def __init__(self, message, source=None): method __str__ (line 45) | def __str__(self): function as_list (line 49) | def as_list(items_or_text: Union[str, Sequence[str]]) -> list[str]: function regex_from (line 58) | def regex_from(pattern: Union[str, Pattern], is_shell_pattern=False) -> ... function regexes_from (line 67) | def regexes_from( function matching_regex (line 106) | def matching_regex(text: str, regexes: list[typing.Pattern]) -> Optional... function lines (line 110) | def lines(text: str) -> Iterator[str]: function deprecated (line 129) | def deprecated(reason: Optional[str]): # pragma: no cover function mapped_repr (line 190) | def mapped_repr(type_, name_to_value_map) -> str: FILE: pygount/git_storage.py function git_remote_url_and_revision_if_any (line 15) | def git_remote_url_and_revision_if_any(git_url: str) -> tuple[Optional[s... class GitStorage (line 23) | class GitStorage: method __init__ (line 24) | def __init__(self, remote_url: str, revision: Optional[str] = None): method temp_folder (line 31) | def temp_folder(self) -> str: method extract (line 34) | def extract(self): method close (line 40) | def close(self): FILE: pygount/lexers.py class IdlLexer (line 13) | class IdlLexer(pygments.lexers.JavaLexer): class MinimalisticM4Lexer (line 24) | class MinimalisticM4Lexer(pygments.lexer.RegexLexer): class MinimalisticVBScriptLexer (line 39) | class MinimalisticVBScriptLexer(pygments.lexer.RegexLexer): class MinimalisticWebFocusLexer (line 49) | class MinimalisticWebFocusLexer(pygments.lexer.RegexLexer): class PlainTextLexer (line 59) | class PlainTextLexer(pygments.lexer.RegexLexer): FILE: pygount/summary.py class LanguageSummary (line 18) | class LanguageSummary: method __init__ (line 23) | def __init__(self, language: str): method language (line 35) | def language(self) -> str: method code_count (line 40) | def code_count(self) -> int: method code_percentage (line 45) | def code_percentage(self) -> float: method _assert_has_up_to_date_percentages (line 49) | def _assert_has_up_to_date_percentages(self): method documentation_count (line 53) | def documentation_count(self) -> int: method documentation_percentage (line 58) | def documentation_percentage(self) -> float: method empty_count (line 63) | def empty_count(self) -> int: method empty_percentage (line 68) | def empty_percentage(self) -> float: method file_count (line 73) | def file_count(self) -> int: method file_percentage (line 78) | def file_percentage(self) -> float: method line_count (line 84) | def line_count(self) -> int: method string_count (line 89) | def string_count(self) -> int: method string_percentage (line 94) | def string_percentage(self) -> float: method source_count (line 99) | def source_count(self) -> int: method source_percentage (line 104) | def source_percentage(self) -> float: method is_pseudo_language (line 109) | def is_pseudo_language(self) -> bool: method sort_key (line 113) | def sort_key(self) -> Hashable: method __hash__ (line 117) | def __hash__(self): method __eq__ (line 120) | def __eq__(self, other): method __lt__ (line 123) | def __lt__(self, other): method add (line 126) | def add(self, source_analysis: SourceAnalysis) -> None: method update_file_percentage (line 141) | def update_file_percentage(self, project_summary: "ProjectSummary"): method __repr__ (line 145) | def __repr__(self): function _percentage_or_0 (line 162) | def _percentage_or_0(partial_count: int, total_count: int) -> float: class ProjectSummary (line 168) | class ProjectSummary: method __init__ (line 173) | def __init__(self): method language_to_language_summary_map (line 183) | def language_to_language_summary_map(self) -> dict[str, LanguageSummary]: method total_code_count (line 190) | def total_code_count(self) -> int: method total_code_percentage (line 194) | def total_code_percentage(self) -> float: method total_documentation_count (line 198) | def total_documentation_count(self) -> int: method total_documentation_percentage (line 202) | def total_documentation_percentage(self) -> float: method total_empty_count (line 206) | def total_empty_count(self) -> int: method total_empty_percentage (line 210) | def total_empty_percentage(self) -> float: method total_file_count (line 214) | def total_file_count(self) -> int: method total_line_count (line 218) | def total_line_count(self) -> int: method total_source_count (line 222) | def total_source_count(self) -> int: method total_source_percentage (line 226) | def total_source_percentage(self) -> float: method total_string_count (line 230) | def total_string_count(self) -> int: method total_string_percentage (line 234) | def total_string_percentage(self) -> float: method add (line 237) | def add(self, source_analysis: SourceAnalysis) -> None: method update_file_percentages (line 260) | def update_file_percentages(self) -> None: method __repr__ (line 265) | def __repr__(self): FILE: pygount/write.py class BaseWriter (line 27) | class BaseWriter: method __init__ (line 28) | def __init__(self, target_stream): method __enter__ (line 43) | def __enter__(self): method __exit__ (line 46) | def __exit__(self, exc_type, exc_val, exc_tb): method add (line 50) | def add(self, source_analysis): method close (line 53) | def close(self): method _utc_now (line 64) | def _utc_now() -> datetime.datetime: class LineWriter (line 69) | class LineWriter(BaseWriter): method __init__ (line 74) | def __init__(self, target_stream): method add (line 78) | def add(self, source_analysis): class ClocXmlWriter (line 86) | class ClocXmlWriter(BaseWriter): method __init__ (line 93) | def __init__(self, target_stream): method __exit__ (line 101) | def __exit__(self, exc_type, exc_val, exc_tb): method add (line 106) | def add(self, source_analysis: SourceAnalysis): method close (line 117) | def close(self): class SummaryWriter (line 143) | class SummaryWriter(BaseWriter): method close (line 159) | def close(self): class JsonWriter (line 190) | class JsonWriter(BaseWriter): method __init__ (line 195) | def __init__(self, target_stream): method add (line 199) | def add(self, source_analysis: SourceAnalysis): method close (line 217) | def close(self): function digit_width (line 267) | def digit_width(line_count: int) -> int: function formatted_percentage (line 272) | def formatted_percentage(percentage: float) -> str: FILE: pygount/xmldialect.py class SaxParserDone (line 31) | class SaxParserDone(Exception): class XmlDialectHandler (line 37) | class XmlDialectHandler(xml.sax.ContentHandler, xml.sax.handler.DTDHandl... method __init__ (line 38) | def __init__(self, max_element_count=100): method _set_dialect_and_stop_parsing (line 45) | def _set_dialect_and_stop_parsing(self, dialect): method startElement (line 49) | def startElement(self, name, attrs): method endElement (line 66) | def endElement(self, name): function xml_dialect (line 70) | def xml_dialect(xml_path, xml_code): function without_xml_header (line 107) | def without_xml_header(xml_code: str) -> str: FILE: tests/_common.py class TempFolderTest (line 19) | class TempFolderTest(unittest.TestCase): method setUp (line 20) | def setUp(self): method create_temp_file (line 24) | def create_temp_file( method create_temp_binary_file (line 39) | def create_temp_binary_file(self, relative_target_path, content: bytes): method tearDown (line 45) | def tearDown(self): function temp_binary_file (line 50) | def temp_binary_file(data: bytes) -> Iterator[IO]: function temp_source_file (line 59) | def temp_source_file(suffix: str, lines: list[str], *, encoding: str = "... FILE: tests/test_analysis.py class SourceScannerTest (line 31) | class SourceScannerTest(TempFolderTest): method setUp (line 32) | def setUp(self): method test_can_find_no_files (line 36) | def test_can_find_no_files(self): method test_can_find_any_files (line 41) | def test_can_find_any_files(self): method test_can_find_python_files (line 46) | def test_can_find_python_files(self): method test_can_skip_dot_folder (line 54) | def test_can_skip_dot_folder(self): method test_succeeds_on_not_git_extension (line 67) | def test_succeeds_on_not_git_extension(self): method test_fails_on_non_git_urls (line 73) | def test_fails_on_non_git_urls(self): method test_can_find_python_files_in_dot (line 82) | def test_can_find_python_files_in_dot(self): method test_can_find_files_from_mixed_cloned_git_remote_url_and_local (line 90) | def test_can_find_files_from_mixed_cloned_git_remote_url_and_local(self): class AnalysisTest (line 99) | class AnalysisTest(unittest.TestCase): method test_can_deline_tokens (line 100) | def test_can_deline_tokens(self): method test_can_compute_python_line_parts (line 116) | def test_can_compute_python_line_parts(self): method test_can_detect_white_text (line 121) | def test_can_detect_white_text(self): method test_can_convert_python_strings_to_comments (line 126) | def test_can_convert_python_strings_to_comments(self): method test_can_analyze_python (line 133) | def test_can_analyze_python(self): method test_can_analyze_c (line 146) | def test_can_analyze_c(self): function test_can_detect_all_lines_as_documentation_with_markup_enabled (line 161) | def test_can_detect_all_lines_as_documentation_with_markup_enabled(): function _line_parts_with_detected_markup (line 176) | def _line_parts_with_detected_markup(lexer_name: str, source_lines: list... class _NonSeekableEmptyBytesIO (line 183) | class _NonSeekableEmptyBytesIO(BytesIO): method seekable (line 185) | def seekable(self) -> bool: class FileAnalysisTest (line 189) | class FileAnalysisTest(TempFolderTest): method test_can_analyze_encoding_error (line 190) | def test_can_analyze_encoding_error(self): method test_can_detect_silent_dos_batch_remarks (line 197) | def test_can_detect_silent_dos_batch_remarks(self): method test_can_ignore_almost_magic_comment (line 207) | def test_can_ignore_almost_magic_comment(self): method test_fails_on_unknown_magic_encoding_comment (line 217) | def test_fails_on_unknown_magic_encoding_comment(self): method test_can_analyze_oracle_sql (line 228) | def test_can_analyze_oracle_sql(self): method test_can_analyze_webfocus (line 238) | def test_can_analyze_webfocus(self): method test_can_analyze_xml_dialect (line 247) | def test_can_analyze_xml_dialect(self): method test_can_analyze_unknown_language (line 253) | def test_can_analyze_unknown_language(self): method test_can_detect_binary_source_code (line 258) | def test_can_detect_binary_source_code(self): method test_can_analyze_stringio (line 264) | def test_can_analyze_stringio(self): method test_can_analyze_bytesio (line 272) | def test_can_analyze_bytesio(self): method test_can_analyze_embedded_language (line 280) | def test_can_analyze_embedded_language(self): method test_can_analyze_generated_name (line 289) | def test_can_analyze_generated_name(self): method test_can_merge_embedded_language (line 298) | def test_can_merge_embedded_language(self): method test_can_analyze_unknown_magic_comment_encoding (line 309) | def test_can_analyze_unknown_magic_comment_encoding(self): method test_fails_on_non_seekable_file_handle_with_encoding_automatic (line 315) | def test_fails_on_non_seekable_file_handle_with_encoding_automatic(self): method test_fails_on_non_seekable_file_handle_with_encoding_chardet (line 321) | def test_fails_on_non_seekable_file_handle_with_encoding_chardet(self): function test_can_analyze_markup_as_plain_documentation (line 337) | def test_can_analyze_markup_as_plain_documentation( function test_can_repr_source_analysis_from_file (line 351) | def test_can_repr_source_analysis_from_file(): function test_can_repr_empty_source_analysis_from_file (line 361) | def test_can_repr_empty_source_analysis_from_file(): function test_can_repr_error_source_analysis_from_file (line 368) | def test_can_repr_error_source_analysis_from_file(): function test_can_guess_lexer_for_python (line 379) | def test_can_guess_lexer_for_python(): function test_can_guess_lexer_for_plain_text (line 385) | def test_can_guess_lexer_for_plain_text(): function test_can_guess_lexer_for_cmakelists (line 391) | def test_can_guess_lexer_for_cmakelists(): class GeneratedCodeTest (line 406) | class GeneratedCodeTest(TempFolderTest): method test_can_detect_non_generated_code (line 418) | def test_can_detect_non_generated_code(self): method test_can_detect_generated_code (line 426) | def test_can_detect_generated_code(self): method test_can_not_detect_generated_code_with_late_comment (line 436) | def test_can_not_detect_generated_code_with_late_comment(self): method test_can_analyze_generated_code_with_own_pattern (line 442) | def test_can_analyze_generated_code_with_own_pattern(self): class SizeTest (line 451) | class SizeTest(TempFolderTest): method test_can_detect_empty_source_code (line 452) | def test_can_detect_empty_source_code(self): function test_can_analyze_project_markdown_files (line 459) | def test_can_analyze_project_markdown_files(): function test_has_no_duplicate_in_pygount_source (line 468) | def test_has_no_duplicate_in_pygount_source(): function test_can_compute_base_language (line 484) | def test_can_compute_base_language(): class DuplicatePoolTest (line 493) | class DuplicatePoolTest(TempFolderTest): method test_can_distinguish_different_files (line 494) | def test_can_distinguish_different_files(self): method test_can_detect_duplicate (line 501) | def test_can_detect_duplicate(self): function test_can_detect_markup_file (line 514) | def test_can_detect_markup_file(suffix, expected_result): FILE: tests/test_command.py class CommandTest (line 25) | class CommandTest(TempFolderTest): method test_fails_on_unknown_output_format (line 26) | def test_fails_on_unknown_output_format(self): method test_can_set_encoding (line 32) | def test_can_set_encoding(self): method test_can_execute_on_own_code (line 38) | def test_can_execute_on_own_code(self): method test_fails_on_broken_regex (line 53) | def test_fails_on_broken_regex(self): method test_can_use_chardet_for_encoding (line 58) | def test_can_use_chardet_for_encoding(self): class PygountCommandTest (line 65) | class PygountCommandTest(TempFolderTest): method test_can_show_help (line 66) | def test_can_show_help(self): method test_can_show_version (line 71) | def test_can_show_version(self): method test_fails_on_unknown_encoding (line 76) | def test_fails_on_unknown_encoding(self): method test_fails_on_unknown_format (line 81) | def test_fails_on_unknown_format(self): method test_fails_on_broken_regex_pattern (line 86) | def test_fails_on_broken_regex_pattern(self): method test_can_analyze_pygount_setup_py (line 90) | def test_can_analyze_pygount_setup_py(self): method test_can_analyze_pygount_source_code (line 95) | def test_can_analyze_pygount_source_code(self): method test_can_detect_generated_code (line 99) | def test_can_detect_generated_code(self): method test_can_detect_generated_code_with_own_pattern (line 118) | def test_can_detect_generated_code_with_own_pattern(self): method test_can_analyze_pygount_source_code_as_cloc_xml (line 144) | def test_can_analyze_pygount_source_code_as_cloc_xml(self): method test_can_analyze_pygount_source_code_as_json (line 156) | def test_can_analyze_pygount_source_code_as_json(self): method test_can_detect_duplicates (line 172) | def test_can_detect_duplicates(self): method test_can_accept_duplicates (line 191) | def test_can_accept_duplicates(self): method test_can_write_all_output_formats (line 210) | def test_can_write_all_output_formats(self): method test_can_merge_embedded_languages (line 215) | def test_can_merge_embedded_languages(self): FILE: tests/test_common.py function test_can_build_str (line 15) | def test_can_build_str(): function test_can_match_from_regex (line 23) | def test_can_match_from_regex(): function test_can_match_from_regex_pattern (line 29) | def test_can_match_from_regex_pattern(): function test_can_match_from_shell_pattern (line 35) | def test_can_match_from_shell_pattern(): function test_can_match_single_regex_from_shell_pattern (line 41) | def test_can_match_single_regex_from_shell_pattern(): function test_can_match_single_regex (line 48) | def test_can_match_single_regex(): function test_can_match_regex_from_multiple_regex_patterns (line 55) | def test_can_match_regex_from_multiple_regex_patterns(): function test_can_match_regex_from_multiple_default_shell_patterns (line 63) | def test_can_match_regex_from_multiple_default_shell_patterns(): function test_can_represent_text_as_list (line 74) | def test_can_represent_text_as_list(): function test_can_represent_iterable_as_list (line 81) | def test_can_represent_iterable_as_list(): function test_can_compute_matching_regex (line 99) | def test_can_compute_matching_regex(text: str, patterns: list[str], expe... function test_can_convert_empty_text_to_lines (line 106) | def test_can_convert_empty_text_to_lines(): function test_can_convert_single_letter_to_lines (line 110) | def test_can_convert_single_letter_to_lines(): function test_can_convert_single_letter_with_newline_to_lines (line 114) | def test_can_convert_single_letter_with_newline_to_lines(): function test_can_convert_multiple_lines (line 118) | def test_can_convert_multiple_lines(): function test_can_convert_empty_lines (line 123) | def test_can_convert_empty_lines(): function test_can_compute_mapped_repr (line 127) | def test_can_compute_mapped_repr(): FILE: tests/test_encoding.py function test_can_detect_encoding_from_magic_comments (line 34) | def test_can_detect_encoding_from_magic_comments(ascii_header: str): function test_can_ignore_encoding_from_magic_comments (line 50) | def test_can_ignore_encoding_from_magic_comments(ascii_header: str): function test_can_detect_bom_encodings (line 55) | def test_can_detect_bom_encodings(encoding: str): function _test_can_detect_bom_encoding (line 59) | def _test_can_detect_bom_encoding(encoding: str): function test_can_detect_plain_encoding (line 72) | def test_can_detect_plain_encoding(encoding: str): function test_can_detect_xml_prolog (line 78) | def test_can_detect_xml_prolog(): function test_can_detect_magic_comment (line 86) | def test_can_detect_magic_comment(): function test_can_detect_automatic_encoding_for_empty_source (line 94) | def test_can_detect_automatic_encoding_for_empty_source(): function test_can_detect_chardet_encoding (line 100) | def test_can_detect_chardet_encoding(): function test_can_detect_utf8_when_cp1252_would_fail (line 106) | def test_can_detect_utf8_when_cp1252_would_fail(): function test_can_use_hardcoded_encoding (line 117) | def test_can_use_hardcoded_encoding(): function test_can_detect_binary_with_zero_byte (line 127) | def test_can_detect_binary_with_zero_byte(): function test_can_detect_utf16_as_non_binary (line 132) | def test_can_detect_utf16_as_non_binary(): FILE: tests/test_git_storage.py function test_can_extract_git_remote_url_and_revision_if_any (line 6) | def test_can_extract_git_remote_url_and_revision_if_any(): function test_can_extract_and_close_and_find_files_from_cloned_git_remote_url_with_revision (line 23) | def test_can_extract_and_close_and_find_files_from_cloned_git_remote_url... FILE: tests/test_lexers.py function test_can_lex_idl (line 13) | def test_can_lex_idl(): function test_can_lex_m4 (line 63) | def test_can_lex_m4(): function test_can_lex_vbscript (line 80) | def test_can_lex_vbscript(): function test_can_lex_webfocus (line 90) | def test_can_lex_webfocus(): function test_can_lex_plain_text (line 102) | def test_can_lex_plain_text(): FILE: tests/test_summary.py function test_can_repr_language_summary (line 11) | def test_can_repr_language_summary(): function test_can_repr_pseudo_language_summary (line 22) | def test_can_repr_pseudo_language_summary(): function test_can_summarize_project_with_multiple_files_of_same_language (line 30) | def test_can_summarize_project_with_multiple_files_of_same_language(): function test_can_summarize_project_with_multiple_files_of_different_languages (line 48) | def test_can_summarize_project_with_multiple_files_of_different_language... function test_can_summarize_project_with_pseudo_languages (line 71) | def test_can_summarize_project_with_pseudo_languages(): function test_can_repr_empty_project_summary (line 95) | def test_can_repr_empty_project_summary(): FILE: tests/test_write.py function test_can_collect_totals (line 20) | def test_can_collect_totals(): function test_can_write_cloc_xml (line 37) | def test_can_write_cloc_xml(): function test_can_compute_digit_width (line 55) | def test_can_compute_digit_width(): class _LineData (line 66) | class _LineData: method __init__ (line 67) | def __init__(self, line: str): class SummaryWriterTest (line 78) | class SummaryWriterTest(TempFolderTest): method test_can_write_summary (line 79) | def test_can_write_summary(self): method _summary_lines_for (line 113) | def _summary_lines_for(self, source_analyses): FILE: tests/test_xmldialect.py function test_can_compute_xml_code_without_header (line 76) | def test_can_compute_xml_code_without_header(xml_code: str, expected: str): function test_can_detect_ant (line 80) | def test_can_detect_ant(): function test_can_detect_maven (line 84) | def test_can_detect_maven(): function test_can_ignore_broken_xml (line 88) | def test_can_ignore_broken_xml(): function test_can_detect_docbook_from_dtd (line 92) | def test_can_detect_docbook_from_dtd(): function test_can_detect_svg_from_dtd (line 96) | def test_can_detect_svg_from_dtd():