summaryrefslogtreecommitdiff
path: root/src/pkg/json/generic_test.go
diff options
context:
space:
mode:
authorSergey 'SnakE' Gromov <snake.scaly@gmail.com>2009-11-30 13:55:09 -0800
committerSergey 'SnakE' Gromov <snake.scaly@gmail.com>2009-11-30 13:55:09 -0800
commit7ea3f61ab343b1115d561dd051879fccbb35df20 (patch)
tree61f69f892695ac35bc78ad8c4f60739836ddc0b9 /src/pkg/json/generic_test.go
parent2b64b6a9acdf85fca4a457d4364fa468d0ad2ffe (diff)
downloadgolang-7ea3f61ab343b1115d561dd051879fccbb35df20.tar.gz
json: Decode into native Go data structures
This patch adds an ability to convert JSON-encoded data into a hierarchy of Go's native data types. R=rsc CC=golang-dev http://codereview.appspot.com/161060 Committer: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/pkg/json/generic_test.go')
-rw-r--r--src/pkg/json/generic_test.go80
1 files changed, 0 insertions, 80 deletions
diff --git a/src/pkg/json/generic_test.go b/src/pkg/json/generic_test.go
deleted file mode 100644
index 5b660f268..000000000
--- a/src/pkg/json/generic_test.go
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package json
-
-import (
- "reflect";
- "testing";
-)
-
-var jsontests = []string{
- `null`,
- `true`,
- `false`,
- `"abc"`,
- `123`,
- `0.1`,
- `1e-10`,
- `[]`,
- `[1,2,3,4]`,
- `[1,2,"abc",null,true,false]`,
- `{}`,
- `{"a":1}`,
- `"q\u0302"`,
-}
-
-func TestJson(t *testing.T) {
- for i := 0; i < len(jsontests); i++ {
- val, ok, errtok := StringToJson(jsontests[i]);
- if !ok {
- t.Errorf("StringToJson(%#q) => error near %v", jsontests[i], errtok);
- continue;
- }
- str := JsonToString(val);
- if str != jsontests[i] {
- t.Errorf("JsonToString(StringToJson(%#q)) = %#q", jsontests[i], str);
- continue;
- }
- }
-}
-
-func TestJsonMap(t *testing.T) {
- values := make(map[string]Json);
- mapstr := "{";
- for i := 0; i < len(jsontests); i++ {
- val, ok, errtok := StringToJson(jsontests[i]);
- if !ok {
- t.Errorf("StringToJson(%#q) => error near %v", jsontests[i], errtok)
- }
- if i > 0 {
- mapstr += ","
- }
- values[jsontests[i]] = val;
- mapstr += Quote(jsontests[i]);
- mapstr += ":";
- mapstr += JsonToString(val);
- }
- mapstr += "}";
-
- mapv, ok, errtok := StringToJson(mapstr);
- if !ok {
- t.Fatalf("StringToJson(%#q) => error near %v", mapstr, errtok)
- }
- if mapv == nil {
- t.Fatalf("StringToJson(%#q) => nil, %v, %v", mapstr, ok, errtok)
- }
- if cnt := mapv.Len(); cnt != len(jsontests) {
- t.Errorf("StringToJson(%#q).Len() => %v, want %v", mapstr, cnt,
- len(jsontests))
- }
- for k, v := range values {
- if v1 := mapv.Get(k); !Equal(v1, v) {
- t.Errorf("MapTest: Walk(%#q) => %v, want %v", k, v1, v)
- }
- }
- if !reflect.DeepEqual(values, mapv.Map()) {
- t.Errorf("DeepEqual(values, mapv.Map()) failed")
- }
-}