mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-10-16 08:14:03 -04:00
43 lines
1.0 KiB
Go
43 lines
1.0 KiB
Go
package notifyactions
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/godbus/dbus/v5"
|
|
)
|
|
|
|
func TestUnrelatedOwnerChangeKeepsWatchers(t *testing.T) {
|
|
m := &Manager{signals: make(chan *dbus.Signal), watched: map[uint32]watched{7: {path: "/tmp/x"}}}
|
|
done := make(chan struct{})
|
|
go func() {
|
|
m.loop()
|
|
close(done)
|
|
}()
|
|
|
|
m.signals <- &dbus.Signal{Name: ownerChanged, Body: []any{"org.example.Other", ":1.2", ":1.3"}}
|
|
m.signals <- &dbus.Signal{Name: ownerChanged, Body: []any{notifyInterface, ":1.4", ":1.5"}}
|
|
close(m.signals)
|
|
<-done
|
|
|
|
if _, ok := m.watched[7]; ok {
|
|
t.Fatal("notification server restart did not clear watchers")
|
|
}
|
|
}
|
|
|
|
func TestUnrelatedOwnerChangeAlone(t *testing.T) {
|
|
m := &Manager{signals: make(chan *dbus.Signal), watched: map[uint32]watched{7: {path: "/tmp/x"}}}
|
|
done := make(chan struct{})
|
|
go func() {
|
|
m.loop()
|
|
close(done)
|
|
}()
|
|
|
|
m.signals <- &dbus.Signal{Name: ownerChanged, Body: []any{"org.example.Other", ":1.2", ":1.3"}}
|
|
close(m.signals)
|
|
<-done
|
|
|
|
if _, ok := m.watched[7]; !ok {
|
|
t.Fatal("an unrelated NameOwnerChanged cleared the watchers")
|
|
}
|
|
}
|