Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ def __init__(
self._chapter_strategies = chapter_strategies

def get_action_for_chapter(self, chapter_number: int) -> QuotationMarkUpdateStrategy:
if chapter_number <= len(self._chapter_strategies):
if chapter_number > -1 and chapter_number <= len(self._chapter_strategies):
return self._chapter_strategies[chapter_number - 1]
return self._default_chapter_strategy
2 changes: 1 addition & 1 deletion machine/scripture/verse_ref.py
Original file line number Diff line number Diff line change
Expand Up @@ -592,7 +592,7 @@ def _get_verse_num(verse: Optional[str]) -> Tuple[bool, int]:

class IgnoreSegmentsVerseRef(VerseRef):
def __init__(self, verse_ref: VerseRef):
super().__init__(verse_ref.book_num, verse_ref.chapter_num, verse_ref.verse_num, verse_ref.versification)
super().__init__(verse_ref.book_num, verse_ref.chapter, verse_ref.verse_num, verse_ref.versification)

def __eq__(self, other):
if not isinstance(other, VerseRef):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -775,6 +775,27 @@ def test_start_new_chapter() -> None:
assert quote_convention_changer._current_strategy == QuotationMarkUpdateStrategy.APPLY_FALLBACK


def test_invalid_chapter_number() -> None:
input_usfm = """\\c 1
\\p
\\v 1 Chapter 1, "Verse 1"
\\c 2.
\\p
\\v v1 Chapter 2, "Invalid Verse 1"
"""
expected_usfm = (
"\\c 1\n"
+ "\\p\n"
+ "\\v 1 Chapter 1, “Verse 1”\n"
+ "\\c 2.\n"
+ "\\p\n"
+ "\\v v1 Chapter 2, “Invalid Verse 1”"
)

observed_usfm = change_quotation_marks(input_usfm, "typewriter_english", "standard_english")
assert_usfm_equal(observed_usfm, expected_usfm)


def change_quotation_marks(
normalized_usfm: str,
source_quote_convention_name: str,
Expand Down
Loading