| 475 | } |
| 476 | } |
| 477 | func TestBasic2(t *testing.T) { |
| 478 | mtok := get(basicJSON, `loggy.programmers.#[age=101].firstName`) |
| 479 | if mtok.String() != "1002.3" { |
| 480 | t.Fatalf("expected %v, got %v", "1002.3", mtok.String()) |
| 481 | } |
| 482 | mtok = get(basicJSON, |
| 483 | `loggy.programmers.#[firstName != "Brett"].firstName`) |
| 484 | if mtok.String() != "Jason" { |
| 485 | t.Fatalf("expected %v, got %v", "Jason", mtok.String()) |
| 486 | } |
| 487 | mtok = get(basicJSON, `loggy.programmers.#[firstName % "Bre*"].email`) |
| 488 | if mtok.String() != "aaaa" { |
| 489 | t.Fatalf("expected %v, got %v", "aaaa", mtok.String()) |
| 490 | } |
| 491 | mtok = get(basicJSON, `loggy.programmers.#[firstName !% "Bre*"].email`) |
| 492 | if mtok.String() != "bbbb" { |
| 493 | t.Fatalf("expected %v, got %v", "bbbb", mtok.String()) |
| 494 | } |
| 495 | mtok = get(basicJSON, `loggy.programmers.#[firstName == "Brett"].email`) |
| 496 | if mtok.String() != "aaaa" { |
| 497 | t.Fatalf("expected %v, got %v", "aaaa", mtok.String()) |
| 498 | } |
| 499 | mtok = get(basicJSON, "loggy") |
| 500 | if mtok.Type != JSON { |
| 501 | t.Fatalf("expected %v, got %v", JSON, mtok.Type) |
| 502 | } |
| 503 | if len(mtok.Map()) != 1 { |
| 504 | t.Fatalf("expected %v, got %v", 1, len(mtok.Map())) |
| 505 | } |
| 506 | programmers := mtok.Map()["programmers"] |
| 507 | if programmers.Array()[1].Map()["firstName"].Str != "Jason" { |
| 508 | t.Fatalf("expected %v, got %v", "Jason", |
| 509 | mtok.Map()["programmers"].Array()[1].Map()["firstName"].Str) |
| 510 | } |
| 511 | } |
| 512 | func TestBasic3(t *testing.T) { |
| 513 | var mtok Result |
| 514 | if Parse(basicJSON).Get("loggy.programmers").Get("1"). |