| 1234567891011121314151617181920212223242526272829303132333435363738 | package pubsub_testimport (	"testing"	"time"	"github.com/v2ray/v2ray-core/app"	. "github.com/v2ray/v2ray-core/app/pubsub"	apptesting "github.com/v2ray/v2ray-core/app/testing"	v2testing "github.com/v2ray/v2ray-core/testing"	"github.com/v2ray/v2ray-core/testing/assert")func TestPubsub(t *testing.T) {	v2testing.Current(t)	messages := make(map[string]app.PubsubMessage)	pubsub := New()	pubsub.Subscribe(&apptesting.Context{}, "t1", func(message app.PubsubMessage) {		messages["t1"] = message	})	pubsub.Subscribe(&apptesting.Context{}, "t2", func(message app.PubsubMessage) {		messages["t2"] = message	})	message := app.PubsubMessage([]byte("This is a pubsub message."))	pubsub.Publish(&apptesting.Context{}, "t2", message)	<-time.Tick(time.Second)	_, found := messages["t1"]	assert.Bool(found).IsFalse()	actualMessage, found := messages["t2"]	assert.Bool(found).IsTrue()	assert.StringLiteral(string(actualMessage)).Equals(string(message))}
 |