| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package rgb
- import (
- "reflect"
- "testing"
- intrgb "github.com/wobkey/rgb/internal/rgb"
- )
- func TestResolveEffectTargetsBacklightOnly(t *testing.T) {
- targets, skipped, err := resolveEffectTargets("rainbow_moving_chevron", intrgb.AllZones())
- if err != nil {
- t.Fatalf("resolveEffectTargets() unexpected error: %v", err)
- }
- wantTargets := []intrgb.EffectTarget{{Zone: intrgb.ZoneBacklight, ID: 17}}
- if !reflect.DeepEqual(targets, wantTargets) {
- t.Errorf("resolveEffectTargets() targets = %v, want %v", targets, wantTargets)
- }
- wantSkipped := []intrgb.Zone{intrgb.ZoneLogo, intrgb.ZoneSide}
- if !reflect.DeepEqual(skipped, wantSkipped) {
- t.Errorf("resolveEffectTargets() skipped = %v, want %v", skipped, wantSkipped)
- }
- }
- func TestResolveEffectTargetsBreathing(t *testing.T) {
- targets, skipped, err := resolveEffectTargets("breathing", intrgb.AllZones())
- if err != nil {
- t.Fatalf("resolveEffectTargets() unexpected error: %v", err)
- }
- wantTargets := []intrgb.EffectTarget{
- {Zone: intrgb.ZoneLogo, ID: 4},
- {Zone: intrgb.ZoneBacklight, ID: 5},
- {Zone: intrgb.ZoneSide, ID: 4},
- }
- if !reflect.DeepEqual(targets, wantTargets) {
- t.Errorf("resolveEffectTargets() targets = %v, want %v", targets, wantTargets)
- }
- if len(skipped) != 0 {
- t.Errorf("resolveEffectTargets() skipped = %v, want none", skipped)
- }
- }
- func TestResolveEffectTargetsExplicitUnsupported(t *testing.T) {
- cases := []struct {
- name string
- zones []intrgb.Zone
- }{
- {"rainbow_moving_chevron", []intrgb.Zone{intrgb.ZoneLogo}},
- {"rainbow_wave", []intrgb.Zone{intrgb.ZoneBacklight}},
- {"splash", []intrgb.Zone{intrgb.ZoneSide}},
- }
- for _, tc := range cases {
- t.Run(tc.name+string(tc.zones[0]), func(t *testing.T) {
- targets, skipped, err := resolveEffectTargets(tc.name, tc.zones)
- if err == nil {
- t.Fatal("resolveEffectTargets() expected error, got nil")
- }
- if len(targets) != 0 {
- t.Errorf("resolveEffectTargets() targets = %v, want none", targets)
- }
- if len(skipped) != 0 {
- t.Errorf("resolveEffectTargets() skipped = %v, want none", skipped)
- }
- })
- }
- }
- func TestResolveEffectTargetsUnknownName(t *testing.T) {
- targets, skipped, err := resolveEffectTargets("not_an_effect", intrgb.AllZones())
- if err == nil {
- t.Fatal("resolveEffectTargets() expected error, got nil")
- }
- if len(targets) != 0 {
- t.Errorf("resolveEffectTargets() targets = %v, want none", targets)
- }
- if len(skipped) != 0 {
- t.Errorf("resolveEffectTargets() skipped = %v, want none", skipped)
- }
- }
- func TestResolveEffectTargetsStaticCompatibility(t *testing.T) {
- targets, skipped, err := resolveEffectTargets("static", intrgb.AllZones())
- if err != nil {
- t.Fatalf("resolveEffectTargets() unexpected error: %v", err)
- }
- wantTargets := []intrgb.EffectTarget{
- {Zone: intrgb.ZoneLogo, ID: 5},
- {Zone: intrgb.ZoneBacklight, ID: 1},
- {Zone: intrgb.ZoneSide, ID: 5},
- }
- if !reflect.DeepEqual(targets, wantTargets) {
- t.Errorf("resolveEffectTargets() targets = %v, want %v", targets, wantTargets)
- }
- if len(skipped) != 0 {
- t.Errorf("resolveEffectTargets() skipped = %v, want none", skipped)
- }
- }
|