ci-platforms / darwin arm64 smoke (push) Skipped
ci / build (amd64, linux, ubuntu-24.04) (push) Failing after 12m19s
ci-platforms / darwin amd64 smoke (push) Skipped
ci-platforms / windows amd64 smoke (push) Skipped
github-native / gitea-pending (push) Skipped
github-native / darwin amd64 native (push) Skipped
github-native / linux amd64 native (push) Skipped
github-native / windows amd64 native (push) Skipped
github-native / darwin arm64 native (push) Skipped
github-native / gitea-result (push) Skipped
ci / checks (push) Failing after 23m57s
ci / release (push) Skipped
GitHub / windows amd64 native GitHub-hosted native CI: failure
GitHub / darwin arm64 native GitHub-hosted native CI: failure
GitHub / darwin amd64 native GitHub-hosted native CI: failure
GitHub / linux amd64 native GitHub-hosted native CI: success
33 lines
925 B
Go
33 lines
925 B
Go
package editor
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"aego/modules/animation"
|
|
)
|
|
|
|
func TestEventDefaultsAndValidation(t *testing.T) {
|
|
events := []animation.EventDesc{{Name: "Event1"}, {Name: "Event3"}}
|
|
if got := nextName(events); got != "Event2" {
|
|
t.Fatalf("next event name = %q", got)
|
|
}
|
|
for _, tc := range []struct {
|
|
name string
|
|
events []animation.EventDesc
|
|
valid bool
|
|
}{
|
|
{"empty list", nil, true},
|
|
{"normal", []animation.EventDesc{{Name: "Land", Payload: animation.PayloadFloat}}, true},
|
|
{"missing name", []animation.EventDesc{{}}, false},
|
|
{"duplicate", []animation.EventDesc{{Name: "Land"}, {Name: "Land"}}, false},
|
|
{"unknown payload", []animation.EventDesc{{Name: "Land", Payload: 200}}, false},
|
|
} {
|
|
t.Run(tc.name, func(t *testing.T) {
|
|
got := validationMessage(&animation.Settings{Events: tc.events})
|
|
if (got == "") != tc.valid {
|
|
t.Fatalf("validation = %q, valid=%v", got, tc.valid)
|
|
}
|
|
})
|
|
}
|
|
}
|