(t *testing.T)
| 322 | } |
| 323 | |
| 324 | func TestMemLSExpiry(t *testing.T) { |
| 325 | m := NewMemLS().(*memLS) |
| 326 | testCases := []string{ |
| 327 | "setNow 0", |
| 328 | "create /a.5", |
| 329 | "want /a.5", |
| 330 | "create /c.6", |
| 331 | "want /a.5 /c.6", |
| 332 | "create /a/b.7", |
| 333 | "want /a.5 /a/b.7 /c.6", |
| 334 | "setNow 4", |
| 335 | "want /a.5 /a/b.7 /c.6", |
| 336 | "setNow 5", |
| 337 | "want /a/b.7 /c.6", |
| 338 | "setNow 6", |
| 339 | "want /a/b.7", |
| 340 | "setNow 7", |
| 341 | "want ", |
| 342 | "setNow 8", |
| 343 | "want ", |
| 344 | "create /a.12", |
| 345 | "create /b.13", |
| 346 | "create /c.15", |
| 347 | "create /a/d.16", |
| 348 | "want /a.12 /a/d.16 /b.13 /c.15", |
| 349 | "refresh /a.14", |
| 350 | "want /a.14 /a/d.16 /b.13 /c.15", |
| 351 | "setNow 12", |
| 352 | "want /a.14 /a/d.16 /b.13 /c.15", |
| 353 | "setNow 13", |
| 354 | "want /a.14 /a/d.16 /c.15", |
| 355 | "setNow 14", |
| 356 | "want /a/d.16 /c.15", |
| 357 | "refresh /a/d.20", |
| 358 | "refresh /c.20", |
| 359 | "want /a/d.20 /c.20", |
| 360 | "setNow 20", |
| 361 | "want ", |
| 362 | } |
| 363 | |
| 364 | tokens := map[string]string{} |
| 365 | zTime := time.Unix(0, 0) |
| 366 | now := zTime |
| 367 | for i, tc := range testCases { |
| 368 | j := strings.IndexByte(tc, ' ') |
| 369 | if j < 0 { |
| 370 | t.Fatalf("test case #%d %q: invalid command", i, tc) |
| 371 | } |
| 372 | op, arg := tc[:j], tc[j+1:] |
| 373 | switch op { |
| 374 | default: |
| 375 | t.Fatalf("test case #%d %q: invalid operation %q", i, tc, op) |
| 376 | |
| 377 | case "create", "refresh": |
| 378 | parts := strings.Split(arg, ".") |
| 379 | if len(parts) != 2 { |
| 380 | t.Fatalf("test case #%d %q: invalid create", i, tc) |
| 381 | } |
nothing calls this directly
no test coverage detected