예제 #1
0
def test_news_entry_sorting(directory):
    oldest_entry = directory / "45.md"
    newest_entry = directory / "123.md"
    oldest_entry.write_text("45", encoding="utf-8")
    newest_entry.write_text("123", encoding="utf-8")
    results = list(ann.news_entries(directory))
    assert len(results) == 2
    assert results[0].issue_number == 45
    assert results[1].issue_number == 123
예제 #2
0
def test_news_entry_formatting(directory):
    issue = 42
    normal_entry = directory / f"{issue}.md"
    nonce_entry = directory / f"{issue}-nonce.md"
    body = "Hello, world!"
    normal_entry.write_text(body, encoding="utf-8")
    nonce_entry.write_text(body, encoding="utf-8")
    results = list(ann.news_entries(directory))
    assert len(results) == 2
    for result in results:
        assert result.issue_number == issue
        assert result.description == body
예제 #3
0
def test_news_entry_README_skipping(directory):
    entry = directory / "README.md"
    entry.write_text("Hello, world!")
    assert len(list(ann.news_entries(directory))) == 0
예제 #4
0
def test_bad_news_entry_file_name(directory):
    entry = directory / "bunk.md"
    entry.write_text("Hello, world!")
    with pytest.raises(ValueError):
        list(ann.news_entries(directory))
예제 #5
0
def test_no_bom_allowed(directory):
    entry = directory / "42.md"
    entry.write_bytes(codecs.BOM_UTF8 + "Hello, world".encode("utf-8"))
    with pytest.raises(ValueError):
        list(ann.news_entries(directory))
예제 #6
0
def test_only_utf8(directory):
    entry = directory / "42.md"
    entry.write_text("Hello, world", encoding="utf-16")
    with pytest.raises(ValueError):
        list(ann.news_entries(directory))