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

Function TestGetTimelineRange

pkg/events/bus_test.go:167–199  ·  view source on GitHub ↗

TestGetTimelineRange 测试分页获取时间线

(t *testing.T)

Source from the content-addressed store, hash-verified

165
166// TestGetTimelineRange 测试分页获取时间线
167func TestGetTimelineRange(t *testing.T) {
168 eb := NewEventBus()
169 defer eb.Close()
170
171 // 添加 10 个事件
172 for i := range 10 {
173 eb.EmitProgress(&types.ProgressTextChunkEvent{Step: i, Delta: "test"})
174 }
175
176 // 测试获取前 5 个
177 events := eb.GetTimelineRange(0, 5)
178 if len(events) != 5 {
179 t.Errorf("expected 5 events, got %d", len(events))
180 }
181
182 // 测试获取后 5 个
183 events = eb.GetTimelineRange(5, 5)
184 if len(events) != 5 {
185 t.Errorf("expected 5 events, got %d", len(events))
186 }
187
188 // 测试超出范围
189 events = eb.GetTimelineRange(8, 10)
190 if len(events) != 2 {
191 t.Errorf("expected 2 events, got %d", len(events))
192 }
193
194 // 测试负数起始
195 events = eb.GetTimelineRange(-5, 3)
196 if len(events) != 3 {
197 t.Errorf("expected 3 events, got %d", len(events))
198 }
199}
200
201// TestGetTimelineSince 测试从指定 cursor 后获取事件
202func TestGetTimelineSince(t *testing.T) {

Callers

nothing calls this directly

Calls 4

CloseMethod · 0.95
EmitProgressMethod · 0.95
GetTimelineRangeMethod · 0.95
NewEventBusFunction · 0.85

Tested by

no test coverage detected