wails-release/internal/wails/build_test.go

58 lines
1.5 KiB
Go
Raw Normal View History

package wails_test
import (
"context"
"reflect"
"testing"
2026-05-02 01:47:13 +00:00
"lmika.dev/actions/wails-release/internal/runner"
"lmika.dev/actions/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")
}
}