Ensure that a Tx cursor can iterate over a single root with a couple elements.
(t *testing.T)
| 410 | |
| 411 | // Ensure that a Tx cursor can iterate over a single root with a couple elements. |
| 412 | func TestCursor_Iterate_Leaf(t *testing.T) { |
| 413 | db := btesting.MustCreateDB(t) |
| 414 | |
| 415 | if err := db.Update(func(tx *bolt.Tx) error { |
| 416 | b, err := tx.CreateBucket([]byte("widgets")) |
| 417 | if err != nil { |
| 418 | t.Fatal(err) |
| 419 | } |
| 420 | if err := b.Put([]byte("baz"), []byte{}); err != nil { |
| 421 | t.Fatal(err) |
| 422 | } |
| 423 | if err := b.Put([]byte("foo"), []byte{0}); err != nil { |
| 424 | t.Fatal(err) |
| 425 | } |
| 426 | if err := b.Put([]byte("bar"), []byte{1}); err != nil { |
| 427 | t.Fatal(err) |
| 428 | } |
| 429 | return nil |
| 430 | }); err != nil { |
| 431 | t.Fatal(err) |
| 432 | } |
| 433 | tx, err := db.Begin(false) |
| 434 | if err != nil { |
| 435 | t.Fatal(err) |
| 436 | } |
| 437 | defer func() { _ = tx.Rollback() }() |
| 438 | |
| 439 | c := tx.Bucket([]byte("widgets")).Cursor() |
| 440 | |
| 441 | k, v := c.First() |
| 442 | if !bytes.Equal(k, []byte("bar")) { |
| 443 | t.Fatalf("unexpected key: %v", k) |
| 444 | } else if !bytes.Equal(v, []byte{1}) { |
| 445 | t.Fatalf("unexpected value: %v", v) |
| 446 | } |
| 447 | |
| 448 | k, v = c.Next() |
| 449 | if !bytes.Equal(k, []byte("baz")) { |
| 450 | t.Fatalf("unexpected key: %v", k) |
| 451 | } else if !bytes.Equal(v, []byte{}) { |
| 452 | t.Fatalf("unexpected value: %v", v) |
| 453 | } |
| 454 | |
| 455 | k, v = c.Next() |
| 456 | if !bytes.Equal(k, []byte("foo")) { |
| 457 | t.Fatalf("unexpected key: %v", k) |
| 458 | } else if !bytes.Equal(v, []byte{0}) { |
| 459 | t.Fatalf("unexpected value: %v", v) |
| 460 | } |
| 461 | |
| 462 | k, v = c.Next() |
| 463 | if k != nil { |
| 464 | t.Fatalf("expected nil key: %v", k) |
| 465 | } else if v != nil { |
| 466 | t.Fatalf("expected nil value: %v", v) |
| 467 | } |
| 468 | |
| 469 | k, v = c.Next() |
nothing calls this directly
no test coverage detected