| 550 | } |
| 551 | } |
| 552 | func TestBasic4(t *testing.T) { |
| 553 | if get(basicJSON, "items.3.tags.#").Num != 3 { |
| 554 | t.Fatalf("expected 3, got %v", get(basicJSON, "items.3.tags.#").Num) |
| 555 | } |
| 556 | if get(basicJSON, "items.3.points.1.#").Num != 2 { |
| 557 | t.Fatalf("expected 2, got %v", |
| 558 | get(basicJSON, "items.3.points.1.#").Num) |
| 559 | } |
| 560 | if get(basicJSON, "items.#").Num != 8 { |
| 561 | t.Fatalf("expected 6, got %v", get(basicJSON, "items.#").Num) |
| 562 | } |
| 563 | if get(basicJSON, "vals.#").Num != 4 { |
| 564 | t.Fatalf("expected 4, got %v", get(basicJSON, "vals.#").Num) |
| 565 | } |
| 566 | if !get(basicJSON, "name.last").Exists() { |
| 567 | t.Fatal("expected true, got false") |
| 568 | } |
| 569 | token := get(basicJSON, "name.here") |
| 570 | if token.String() != "B\\\"R" { |
| 571 | t.Fatal("expecting 'B\\\"R'", "got", token.String()) |
| 572 | } |
| 573 | token = get(basicJSON, "arr.#") |
| 574 | if token.String() != "6" { |
| 575 | fmt.Printf("%#v\n", token) |
| 576 | t.Fatal("expecting 6", "got", token.String()) |
| 577 | } |
| 578 | token = get(basicJSON, "arr.3.hello") |
| 579 | if token.String() != "world" { |
| 580 | t.Fatal("expecting 'world'", "got", token.String()) |
| 581 | } |
| 582 | _ = token.Value().(string) |
| 583 | token = get(basicJSON, "name.first") |
| 584 | if token.String() != "tom" { |
| 585 | t.Fatal("expecting 'tom'", "got", token.String()) |
| 586 | } |
| 587 | _ = token.Value().(string) |
| 588 | token = get(basicJSON, "name.last") |
| 589 | if token.String() != "" { |
| 590 | t.Fatal("expecting ''", "got", token.String()) |
| 591 | } |
| 592 | if token.Value() != nil { |
| 593 | t.Fatal("should be nil") |
| 594 | } |
| 595 | } |
| 596 | func TestBasic5(t *testing.T) { |
| 597 | token := get(basicJSON, "age") |
| 598 | if token.String() != "100" { |