|
10 | 10 | ORG = "LLM-Coding" |
11 | 11 |
|
12 | 12 |
|
13 | | -def repo(name, desc="", pages=True, archived=False, homepage=""): |
| 13 | +def repo(name, desc="", pages=True, archived=False, homepage="", fork=False): |
14 | 14 | return {"name": name, "description": desc, "has_pages": pages, |
15 | | - "archived": archived, "homepage": homepage, |
| 15 | + "archived": archived, "homepage": homepage, "fork": fork, |
16 | 16 | "html_url": f"https://github.com/{ORG}/{name}"} |
17 | 17 |
|
18 | 18 |
|
19 | 19 | def test_select_projects_filters_pages_archived_and_org_site(): |
20 | 20 | repos = [repo("b"), repo("a"), repo("no-pages", pages=False), |
21 | 21 | repo("old", archived=True), repo("llm-coding.github.io")] |
22 | | - names = [r["name"] for r in g.select_projects(repos, "llm-coding.github.io")] |
| 22 | + names = [r["name"] for r in g.select_projects(repos, {}, "llm-coding.github.io")] |
23 | 23 | assert names == ["a", "b"] |
24 | 24 |
|
25 | 25 |
|
| 26 | +def test_select_projects_drops_forks_and_excluded_unless_included(): |
| 27 | + repos = [repo("own"), repo("fork", fork=True), repo("kept-fork", fork=True), |
| 28 | + repo("hidden")] |
| 29 | + ov = {"kept-fork": {"include": True}, "hidden": {"exclude": True}} |
| 30 | + assert [r["name"] for r in g.select_projects(repos, ov)] == ["kept-fork", "own"] |
| 31 | + |
| 32 | + |
| 33 | +def test_load_overrides_reads_flags(tmp_path): |
| 34 | + f = tmp_path / "o.yaml" |
| 35 | + f.write_text("a:\n name: A\n exclude: true\nb:\n include: true\n") |
| 36 | + assert g.load_overrides(f) == {"a": {"name": "A", "exclude": True}, |
| 37 | + "b": {"include": True}} |
| 38 | + |
| 39 | + |
26 | 40 | def test_overrides_win_over_github_for_name_and_description(): |
27 | 41 | ov = {"x": {"name": "X Docs", "description": "Override"}} |
28 | 42 | assert g.display_name(repo("x"), ov) == "X Docs" |
|
0 commit comments