1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| package pubsub_test
|
| import (
| "testing"
|
| . "github.com/v2fly/v2ray-core/v5/common/signal/pubsub"
| )
|
| func TestPubsub(t *testing.T) {
| service := NewService()
|
| sub := service.Subscribe("a")
| service.Publish("a", 1)
|
| select {
| case v := <-sub.Wait():
| if v != 1 {
| t.Error("expected subscribed value 1, but got ", v)
| }
| default:
| t.Fail()
| }
|
| sub.Close()
| service.Publish("a", 2)
|
| select {
| case <-sub.Wait():
| t.Fail()
| default:
| }
|
| service.Cleanup()
| }
|
|