← Về thư mục
scripts/adapters/tests/test_common.py
- test_sanitize_strips_non_alnum · function · L22-L23 — def test_sanitize_strips_non_alnum()
- test_sanitize_does_not_lowercase · function · L26-L27 — def test_sanitize_does_not_lowercase()
- test_sanitize_rejects_empty · function · L30-L31 — def test_sanitize_rejects_empty()
- test_make_citation_key_simple · function · L36-L42 — def test_make_citation_key_simple()
- test_make_citation_key_collision_suffix · function · L45-L50 — def test_make_citation_key_collision_suffix()
- test_make_citation_key_multiple_collisions · function · L53-L58 — def test_make_citation_key_multiple_collisions()
- test_make_citation_key_empty_family_falls_back_to_ref · function · L61-L70 — def test_make_citation_key_empty_family_falls_back_to_ref()
- test_make_citation_key_digit_start_falls_back_to_ref · function · L73-L85 — def test_make_citation_key_digit_start_falls_back_to_ref()
- test_make_citation_key_digit_start_with_title_recovers · function · L88-L96 — def test_make_citation_key_digit_start_with_title_recovers()
- test_make_citation_key_skips_stopwords_in_title · function · L99-L105 — def test_make_citation_key_skips_stopwords_in_title()
- test_parse_csl_name_family_given · function · L110-L111 — def test_parse_csl_name_family_given()
- test_parse_csl_name_family_initial · function · L114-L115 — def test_parse_csl_name_family_initial()
- test_parse_csl_name_institution_with_braces · function · L118-L121 — def test_parse_csl_name_institution_with_braces()
- test_parse_csl_name_bare_single_token_is_family · function · L124-L125 — def test_parse_csl_name_bare_single_token_is_family()
- test_parse_csl_name_strips_whitespace · function · L128-L129 — def test_parse_csl_name_strips_whitespace()
- test_parse_semicolon_names · function · L134-L139 — def test_parse_semicolon_names()
- test_parse_semicolon_names_empty_returns_empty_list · function · L142-L144 — def test_parse_semicolon_names_empty_returns_empty_list()
- test_parse_semicolon_names_skips_empty_segments · function · L147-L153 — def test_parse_semicolon_names_skips_empty_segments()
- test_dump_yaml_stable_is_sorted · function · L158-L161 — def test_dump_yaml_stable_is_sorted()
- test_dump_yaml_stable_is_deterministic · function · L164-L168 — def test_dump_yaml_stable_is_deterministic()
- test_now_iso_is_rfc3339_z · function · L171-L178 — def test_now_iso_is_rfc3339_z()
- test_adapter_spec_version_is_string · function · L181-L183 — def test_adapter_spec_version_is_string()
- test_write_passport_sorts_by_citation_key · function · L188-L199 — def test_write_passport_sorts_by_citation_key(tmp_path: Path)
- test_write_passport_empty_list · function · L202-L206 — def test_write_passport_empty_list(tmp_path: Path)
- test_write_rejection_log_minimal · function · L211-L224 — def test_write_rejection_log_minimal(tmp_path: Path)
- test_write_rejection_log_sorts_by_source · function · L227-L240 — def test_write_rejection_log_sorts_by_source(tmp_path: Path)
- test_write_rejection_log_passes_validation · function · L243-L267 — def test_write_rejection_log_passes_validation(tmp_path: Path)
- test_write_rejection_log_with_input_source · function · L270-L280 — def test_write_rejection_log_with_input_source(tmp_path: Path)
- test_write_rejection_log_with_summary_totals · function · L283-L303 — def test_write_rejection_log_with_summary_totals(tmp_path: Path)
- test_path_to_file_uri_encodes_spaces · function · L308-L314 — def test_path_to_file_uri_encodes_spaces(tmp_path: Path)
- test_path_to_file_uri_resolves_relative · function · L317-L325 — def test_path_to_file_uri_resolves_relative(tmp_path: Path, monkeypatch)
- test_path_to_file_uri_accepts_string · function · L328-L331 — def test_path_to_file_uri_accepts_string(): # The helper accepts both Path and str inputs.
- test_ensure_unique_citekey_passes_through_unique · function · L336-L339 — def test_ensure_unique_citekey_passes_through_unique()
- test_ensure_unique_citekey_disambiguates_duplicates · function · L342-L348 — def test_ensure_unique_citekey_disambiguates_duplicates()
- test_ensure_unique_citekey_normalizes_invalid_base · function · L351-L357 — def test_ensure_unique_citekey_normalizes_invalid_base(): # Schema requires ^[A-Za-z]; bases that don't satisfy it (empty, # leading digit, leading punctuation) must be sanitized + prefixed # so the returned key always passes the citation_key pattern.
- test_ensure_unique_citekey_strips_disallowed_chars · function · L360-L365 — def test_ensure_unique_citekey_strips_disallowed_chars(): # Schema pattern: ^[A-Za-z][A-Za-z0-9_:-]*$. Spaces and other punct # are stripped so the result satisfies the pattern.