Refactor build and topdata path resolution through project config
This commit is contained in:
@@ -9182,6 +9182,41 @@ func TestBuildAndPackageIncludesCompiled2DAAndTopAssets(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildAndPackageHonorsConfiguredTopPackageOutputNames(t *testing.T) {
|
||||
root := testProjectRoot(t)
|
||||
mkdirAll(t, filepath.Join(root, "topdata", "data", "repadjust"))
|
||||
mkdirAll(t, filepath.Join(root, "topdata", "assets", "gui"))
|
||||
writeFile(t, filepath.Join(root, "topdata", "base_dialog.json"), "{}\n")
|
||||
writeFile(t, filepath.Join(root, "topdata", "data", "repadjust", "base.json"), `{
|
||||
"output": "repadjust.2da",
|
||||
"columns": ["Label"],
|
||||
"rows": [{"id": 0, "Label": "TEST_LABEL"}]
|
||||
}`+"\n")
|
||||
writeFile(t, filepath.Join(root, "topdata", "assets", "gui", "testicon.png"), "icon-data")
|
||||
|
||||
proj := testProject(root)
|
||||
proj.Config.TopData.ReferenceBuilder = ""
|
||||
proj.Config.TopData.PackageHAK = "custom_top.hak"
|
||||
proj.Config.TopData.PackageTLK = "custom_dialog.tlk"
|
||||
|
||||
result, err := BuildAndPackage(proj, nil)
|
||||
if err != nil {
|
||||
t.Fatalf("BuildAndPackage failed: %v", err)
|
||||
}
|
||||
if result.OutputHAKPath != proj.TopDataPackageHAKPath() {
|
||||
t.Fatalf("unexpected hak path: %s", result.OutputHAKPath)
|
||||
}
|
||||
if result.OutputTLKPath != proj.TopDataPackageTLKPath() {
|
||||
t.Fatalf("unexpected tlk path: %s", result.OutputTLKPath)
|
||||
}
|
||||
if _, err := os.Stat(proj.TopDataPackageHAKPath()); err != nil {
|
||||
t.Fatalf("expected configured packaged hak output: %v", err)
|
||||
}
|
||||
if _, err := os.Stat(proj.TopDataPackageTLKPath()); err != nil {
|
||||
t.Fatalf("expected configured packaged tlk output: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildAndPackageNoOpsWhenOutputsAreCurrent(t *testing.T) {
|
||||
root := topPackageTestProject(t)
|
||||
proj := testProject(root)
|
||||
|
||||
Reference in New Issue
Block a user