Exemple #1
0
def test_theme() -> None:
    cfg = config.Config({"root": "root_value"})
    cfg.add_themecfg({"theme": "theme_value"})

    assert (cfg.get(
        (
            "dir1",
            "dir2",
        ),
        "theme",
    ) == "theme_value")
Exemple #2
0
def test_value() -> None:
    cfg = config.Config({
        "site_url": "http://localhost",
        "draft": "false",
        "tags": "tag1, tag2",
        "date": "2020-01-01 00:00:00",
        "order": "100",
    })

    assert cfg.get((), "site_url") == "http://localhost/"
    assert not cfg.get((), "draft")
    assert cfg.get((), "tags") == ["tag1", "tag2"]
    assert cfg.get((), "date") == datetime.datetime(2020, 1, 1, 0, 0, 0)
    assert cfg.get((), "order") == 100
Exemple #3
0
def test_loadfiles(siteroot: SiteRoot) -> None:
    siteroot.write_text(siteroot.contents / "root1.yml",
                        "root_prop: root_prop_value")
    siteroot.write_text(siteroot.contents / "root1.txt", "content_root1")
    siteroot.write_text(siteroot.contents / "root_content1.txt",
                        "root_content1")

    siteroot.write_text(siteroot.files / "root1.txt", "file_root1")
    siteroot.write_text(siteroot.files / "root_file1.txt", "root_file1")
    siteroot.write_text(siteroot.files / "root_file2.rst", "root_file2")

    files = loader.ContentFiles()
    cfg = config.Config({})
    root = siteroot.path
    ignores: Set[str] = set()
    themes = ["package3", "package4"]

    site = siteroot.load({}, {})
    loader.loadfiles(site, files, cfg, root, ignores, themes)

    assert len(files._contentfiles) == 8
    assert files._contentfiles[((),
                                "root1.txt")].get_body() == b"content_root1"
    assert files._contentfiles[(
        (), "root_content1.txt")].get_body() == b"root_content1"
    assert files._contentfiles[((),
                                "root_file1.txt")].get_body() == b"root_file1"
    assert isinstance(files._contentfiles[((), "root_file2.rst")],
                      contents.BinContent)

    assert (files._contentfiles[((), "package3_root.rst")].get_body().strip()
            == b"<p>package3/contents/package3_root.rst</p>")
    assert (files._contentfiles[((), "package_root.rst")].get_body().strip() ==
            b"<p>package3/contents/package_root.rst</p>")
    package3_files_1 = files._contentfiles[((), "package3_files_1.rst")]
    assert isinstance(package3_files_1, contents.BinContent)
    assert package3_files_1.get_body().strip(
    ) == b"package3/files/package3_file_1.rst"

    assert (files._contentfiles[((), "package4_root.rst")].get_body().strip()
            == b"<p>package4/contents/package4_root.rst</p>")

    assert cfg.get((), "root_prop") == "root_prop_value"
    assert cfg.get((), "package3_prop_a1") == "value_package3_a1"
Exemple #4
0
def test_get() -> None:
    cfg = config.Config({"root": "root_value"})

    cfg.add(("dir1", ), {"prop_a1": "value_a1"})
    cfg.add(("dir1", ), {"prop_b1": "value_b1"})
    cfg.add(("dir1", "dir2"), {"prop_a1": "value_a11"})

    assert cfg.get(("dir1", ), "prop_a1") == "value_a1"
    assert cfg.get(("dir1", "dir2"), "prop_a1") == "value_a11"
    assert (cfg.get(
        (
            "dir1",
            "dir2",
        ),
        "prop_b1",
    ) == "value_b1")

    assert (cfg.get(
        (
            "dir1",
            "dir2",
        ),
        "root",
    ) == "root_value")
Exemple #5
0
def test_import() -> None:
    cfg = config.Config({"imports": "a"})
    cfg.add(("dir1", ), {"imports": "b"})
    cfg.add_themecfg({"imports": "c"})

    assert set(cfg.get(("dir1", ), "imports")) == {"a", "b", "c"}
Exemple #6
0
def test_add_str() -> None:
    cfg = config.Config({})
    cfg.add("/", {"root1": "value1"})
    assert cfg.get("/", "root1") == "value1"
    assert cfg.get((), "root1") == "value1"