def test_parse_labels_invalud(labels) -> None:
    with pytest.raises(PARSE_ERRORS):
        parse_labels(labels)
def test_parse_labels_empty() -> None:
    assert parse_labels("") == tuple()
def test_parse_labels_multiple() -> None:
    labels = (SurfaceLabel.from_label(Surface.OBVERSE),
              ColumnLabel.from_int(3))
    assert parse_labels(" ".join(label.to_value()
                                 for label in labels)) == labels
def test_parse_labels(label, status, _, expected) -> None:
    assert parse_labels(f"{label}{status}") == (expected, )
def parse_manuscript(atf):
    return parse_chapter(atf, MANUSCRIPTS, "manuscript_line")


@pytest.mark.parametrize(
    "lines,expected",
    [
        (
            [
                f"{MANUSCRIPTS[0].siglum} o iii 1. kur",
                "#note: a note",
                "$ single ruling",
            ],
            ManuscriptLine(
                MANUSCRIPTS[0].id,
                parse_labels("o iii"),
                parse_text_line("1. kur"),
                (parse_paratext("#note: a note"),
                 parse_paratext("$ single ruling")),
            ),
        ),
        (
            [f"{MANUSCRIPTS[0].siglum} 1. kur"],
            ManuscriptLine(MANUSCRIPTS[0].id, tuple(),
                           parse_text_line("1. kur")),
        ),
        (
            [f"    {MANUSCRIPTS[0].siglum} 1. kur"],
            ManuscriptLine(MANUSCRIPTS[0].id, tuple(),
                           parse_text_line("1. kur")),
        ),
Пример #6
0
def try_parse_labels(value):
    try:
        return parse_labels(" ".join(value))
    except PARSE_ERRORS as error:
        raise ValidationError(str(error)) from error