TestGetTimelineFiltered 测试过滤获取时间线
(t *testing.T)
| 217 | |
| 218 | // TestGetTimelineFiltered 测试过滤获取时间线 |
| 219 | func 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 测试获取事件数量 |
| 241 | func TestGetTimelineCount(t *testing.T) { |
nothing calls this directly
no test coverage detected