mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-04 12:07:09 +00:00
refactor: rename inspect to replay across the codebase
Renames inspect-ui/ to replay-ui/, internal/inspect/ to internal/replay/, the CLI subcommand from `sanderling inspect` to `sanderling replay`, and updates all references in docs, Makefile, README, and Go comments.
This commit is contained in:
1 parent
a6f43e15b2
commit
4f381841dd
71 files changed
+92
-90
No files matched your search
@@ -0,0 +1,54 @@
|
||||
package replay
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestWatcher_UnsubscribeRemovesChannel(t *testing.T) {
|
||||
w := NewWatcher(t.TempDir())
|
||||
first := w.Subscribe()
|
||||
second := w.Subscribe()
|
||||
third := w.Subscribe()
|
||||
|
||||
if count := len(w.subscribers); count != 3 {
|
||||
t.Fatalf("expected 3 subscribers, got %d", count)
|
||||
}
|
||||
|
||||
w.Unsubscribe(second)
|
||||
|
||||
if count := len(w.subscribers); count != 2 {
|
||||
t.Fatalf("expected 2 subscribers after Unsubscribe, got %d", count)
|
||||
}
|
||||
|
||||
// broadcast should still notify remaining subscribers
|
||||
w.broadcast()
|
||||
select {
|
||||
case <-first:
|
||||
default:
|
||||
t.Error("first subscriber did not receive broadcast")
|
||||
}
|
||||
select {
|
||||
case <-third:
|
||||
default:
|
||||
t.Error("third subscriber did not receive broadcast")
|
||||
}
|
||||
}
|
||||
|
||||
func TestWatcher_UnsubscribeUnknownChannelIsNoop(t *testing.T) {
|
||||
w := NewWatcher(t.TempDir())
|
||||
existing := w.Subscribe()
|
||||
|
||||
stranger := make(chan struct{})
|
||||
w.Unsubscribe(stranger)
|
||||
|
||||
if count := len(w.subscribers); count != 1 {
|
||||
t.Fatalf("expected 1 subscriber after no-op Unsubscribe, got %d", count)
|
||||
}
|
||||
|
||||
w.broadcast()
|
||||
select {
|
||||
case <-existing:
|
||||
default:
|
||||
t.Error("existing subscriber did not receive broadcast")
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user