2026-05-02 00:07:25 +00:00
|
|
|
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"
|
2026-05-02 00:07:25 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
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")
|
|
|
|
|
}
|
|
|
|
|
}
|