def test_theme() -> None: cfg = config.Config({"root": "root_value"}) cfg.add_themecfg({"theme": "theme_value"}) assert (cfg.get( ( "dir1", "dir2", ), "theme", ) == "theme_value")
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
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"
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")
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"}
def test_add_str() -> None: cfg = config.Config({}) cfg.add("/", {"root1": "value1"}) assert cfg.get("/", "root1") == "value1" assert cfg.get((), "root1") == "value1"