MCPcopy Create free account
hub / github.com/astercloud/aster / TestGetTimelineFiltered

Function TestGetTimelineFiltered

pkg/events/bus_test.go:219–238  ·  view source on GitHub ↗

TestGetTimelineFiltered 测试过滤获取时间线

(t *testing.T)

Source from the content-addressed store, hash-verified

217
218// TestGetTimelineFiltered 测试过滤获取时间线
219func TestGetTimelineFiltered(t *testing.T) {
220 eb := NewEventBus()
221 defer eb.Close()
222
223 // 添加不同类型的事件
224 for i := range 5 {
225 eb.EmitProgress(&types.ProgressTextChunkEvent{Step: i, Delta: "test"})
226 }
227 eb.EmitProgress(&types.ProgressDoneEvent{})
228
229 // 过滤只获取 ProgressDoneEvent
230 events := eb.GetTimelineFiltered(func(env types.AgentEventEnvelope) bool {
231 _, ok := env.Event.(*types.ProgressDoneEvent)
232 return ok
233 })
234
235 if len(events) != 1 {
236 t.Errorf("expected 1 done event, got %d", len(events))
237 }
238}
239
240// TestGetTimelineCount 测试获取事件数量
241func TestGetTimelineCount(t *testing.T) {

Callers

nothing calls this directly

Calls 4

CloseMethod · 0.95
EmitProgressMethod · 0.95
GetTimelineFilteredMethod · 0.95
NewEventBusFunction · 0.85

Tested by

no test coverage detected