1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-30 00:12:50 -05:00

core: mock wayland context for tests & add i18n guidance to CONTRIBUTING

This commit is contained in:
bbedward
2025-12-11 14:50:02 -05:00
parent 9cac93b724
commit 6d66f93565
25 changed files with 1145 additions and 130 deletions

View File

@@ -19,7 +19,7 @@ import (
const animKelvinStep = 25
func NewManager(display *wlclient.Display, config Config) (*Manager, error) {
func NewManager(display wlclient.WaylandDisplay, config Config) (*Manager, error) {
if err := config.Validate(); err != nil {
return nil, err
}

View File

@@ -1,11 +1,14 @@
package wayland
import (
"errors"
"sync"
"testing"
"time"
"github.com/stretchr/testify/assert"
mocks_wlclient "github.com/AvengeMedia/DankMaterialShell/core/internal/mocks/wlclient"
)
func TestManager_ActorSerializesOutputStateAccess(t *testing.T) {
@@ -384,3 +387,28 @@ func TestNotifySubscribers_NonBlocking(t *testing.T) {
assert.Len(t, m.dirty, 1)
}
func TestNewManager_GetRegistryError(t *testing.T) {
mockDisplay := mocks_wlclient.NewMockWaylandDisplay(t)
mockDisplay.EXPECT().Context().Return(nil)
mockDisplay.EXPECT().GetRegistry().Return(nil, errors.New("failed to get registry"))
config := DefaultConfig()
_, err := NewManager(mockDisplay, config)
assert.Error(t, err)
assert.Contains(t, err.Error(), "get registry")
}
func TestNewManager_InvalidConfig(t *testing.T) {
mockDisplay := mocks_wlclient.NewMockWaylandDisplay(t)
config := Config{
LowTemp: 500,
HighTemp: 6500,
Gamma: 1.0,
}
_, err := NewManager(mockDisplay, config)
assert.Error(t, err)
}

View File

@@ -65,7 +65,7 @@ type Manager struct {
state *State
stateMutex sync.RWMutex
display *wlclient.Display
display wlclient.WaylandDisplay
ctx *wlclient.Context
registry *wlclient.Registry
gammaControl any