Add GSP project manifest and design layout

This commit is contained in:
2026-05-06 19:06:32 +08:00
parent 69003c8152
commit 67a1bf2600
19 changed files with 288 additions and 31 deletions

View File

@@ -8,7 +8,11 @@ import (
func TestLoadValidateAndFlatten(t *testing.T) {
root := t.TempDir()
writeTestFile(t, root, "page.gsp", `id: page.lottery.main
design := filepath.Join(root, "design")
if err := os.MkdirAll(design, 0755); err != nil {
t.Fatal(err)
}
writeTestFile(t, design, "page.gsp", `id: page.lottery.main
type: page
resolution: L3
context: Lottery page.
@@ -18,17 +22,17 @@ with:
- feedback.positive
refines: page.lottery.base
`)
writeTestFile(t, root, "button.gsp", `id: ui.button.primary
writeTestFile(t, design, "button.gsp", `id: ui.button.primary
type: ui
resolution: L3
context: Primary button.
`)
writeTestFile(t, root, "feedback.gsp", `id: feedback.positive
writeTestFile(t, design, "feedback.gsp", `id: feedback.positive
type: feedback
resolution: L2
context: Positive feedback.
`)
writeTestFile(t, root, "base.gsp", `id: page.lottery.base
writeTestFile(t, design, "base.gsp", `id: page.lottery.base
resolution: L2
context: Base lottery page.
`)
@@ -52,7 +56,11 @@ context: Base lottery page.
func TestValidateMissingReference(t *testing.T) {
root := t.TempDir()
writeTestFile(t, root, "page.gsp", `id: page.missing
design := filepath.Join(root, "design")
if err := os.MkdirAll(design, 0755); err != nil {
t.Fatal(err)
}
writeTestFile(t, design, "page.gsp", `id: page.missing
with:
- ui.missing
`)
@@ -77,7 +85,11 @@ with:
func TestStageCheck(t *testing.T) {
root := t.TempDir()
writeTestFile(t, root, "page.gsp", `id: page.low
design := filepath.Join(root, "design")
if err := os.MkdirAll(design, 0755); err != nil {
t.Fatal(err)
}
writeTestFile(t, design, "page.gsp", `id: page.low
resolution: L2
`)
project, err := LoadProject(root)