package wails_test import ( "context" "reflect" "testing" "github.com/leonmika/wails-release/internal/runner" "github.com/leonmika/wails-release/internal/wails" ) func TestBuild_DefaultArgs(t *testing.T) { f := &runner.Fake{} f.On("wails", nil).Return(nil, nil) err := wails.Build(context.Background(), f, wails.BuildOpts{Dir: "/work"}) if err != nil { t.Fatalf("unexpected: %v", err) } want := []string{"build", "-platform", "darwin/universal", "-clean", "-trimpath"} if !reflect.DeepEqual(f.Calls[0].Args, want) { t.Fatalf("args got %v want %v", f.Calls[0].Args, want) } if f.Calls[0].Dir != "/work" { t.Fatalf("dir got %q want /work", f.Calls[0].Dir) } } func TestBuild_AppendsExtraFlags(t *testing.T) { f := &runner.Fake{} f.On("wails", nil).Return(nil, nil) err := wails.Build(context.Background(), f, wails.BuildOpts{ Dir: "/work", ExtraFlags: `-tags release -ldflags "-X main.commit=abc"`, }) if err != nil { t.Fatalf("unexpected: %v", err) } want := []string{ "build", "-platform", "darwin/universal", "-clean", "-trimpath", "-tags", "release", "-ldflags", "-X main.commit=abc", } if !reflect.DeepEqual(f.Calls[0].Args, want) { t.Fatalf("args got %v want %v", f.Calls[0].Args, want) } } func TestBuild_MalformedExtraFlagsErrors(t *testing.T) { err := wails.Build(context.Background(), &runner.Fake{}, wails.BuildOpts{ Dir: "/work", ExtraFlags: `-foo "unterminated`, }) if err == nil { t.Fatal("expected parse error") } }