| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "platform/assert.h" | 5 #include "platform/assert.h" |
| 6 #include "platform/json.h" | 6 #include "platform/json.h" |
| 7 #include "vm/json_stream.h" | 7 #include "vm/json_stream.h" |
| 8 #include "vm/unit_test.h" | 8 #include "vm/unit_test.h" |
| 9 | 9 |
| 10 namespace dart { | 10 namespace dart { |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 222 jsobj.AddProperty("key1", "a"); | 222 jsobj.AddProperty("key1", "a"); |
| 223 jsobj.AddProperty("key2", "b"); | 223 jsobj.AddProperty("key2", "b"); |
| 224 } | 224 } |
| 225 EXPECT_STREQ("{\"key1\":\"a\",\"key2\":\"b\"}", js.ToCString()); | 225 EXPECT_STREQ("{\"key1\":\"a\",\"key2\":\"b\"}", js.ToCString()); |
| 226 } | 226 } |
| 227 | 227 |
| 228 TEST_CASE(JSON_JSONStream_NestedObject) { | 228 TEST_CASE(JSON_JSONStream_NestedObject) { |
| 229 JSONStream js; | 229 JSONStream js; |
| 230 { | 230 { |
| 231 JSONObject jsobj(&js); | 231 JSONObject jsobj(&js); |
| 232 JSONObject jsobj1(jsobj, "key"); | 232 JSONObject jsobj1(&jsobj, "key"); |
| 233 jsobj1.AddProperty("key1", "d"); | 233 jsobj1.AddProperty("key1", "d"); |
| 234 } | 234 } |
| 235 EXPECT_STREQ("{\"key\":{\"key1\":\"d\"}}", js.ToCString()); | 235 EXPECT_STREQ("{\"key\":{\"key1\":\"d\"}}", js.ToCString()); |
| 236 } | 236 } |
| 237 | 237 |
| 238 | 238 |
| 239 TEST_CASE(JSON_JSONStream_ObjectArray) { | 239 TEST_CASE(JSON_JSONStream_ObjectArray) { |
| 240 JSONStream js; | 240 JSONStream js; |
| 241 { | 241 { |
| 242 JSONArray jsarr(&js); | 242 JSONArray jsarr(&js); |
| 243 { | 243 { |
| 244 JSONObject jsobj(jsarr); | 244 JSONObject jsobj(&jsarr); |
| 245 jsobj.AddProperty("key", "e"); | 245 jsobj.AddProperty("key", "e"); |
| 246 } | 246 } |
| 247 { | 247 { |
| 248 JSONObject jsobj(jsarr); | 248 JSONObject jsobj(&jsarr); |
| 249 jsobj.AddProperty("yek", "f"); | 249 jsobj.AddProperty("yek", "f"); |
| 250 } | 250 } |
| 251 } | 251 } |
| 252 EXPECT_STREQ("[{\"key\":\"e\"},{\"yek\":\"f\"}]", js.ToCString()); | 252 EXPECT_STREQ("[{\"key\":\"e\"},{\"yek\":\"f\"}]", js.ToCString()); |
| 253 } | 253 } |
| 254 | 254 |
| 255 | 255 |
| 256 TEST_CASE(JSON_JSONStream_ArrayArray) { | 256 TEST_CASE(JSON_JSONStream_ArrayArray) { |
| 257 JSONStream js; | 257 JSONStream js; |
| 258 { | 258 { |
| 259 JSONArray jsarr(&js); | 259 JSONArray jsarr(&js); |
| 260 { | 260 { |
| 261 JSONArray jsarr1(jsarr); | 261 JSONArray jsarr1(&jsarr); |
| 262 jsarr1.AddValue(static_cast<intptr_t>(4)); | 262 jsarr1.AddValue(static_cast<intptr_t>(4)); |
| 263 } | 263 } |
| 264 { | 264 { |
| 265 JSONArray jsarr1(jsarr); | 265 JSONArray jsarr1(&jsarr); |
| 266 jsarr1.AddValue(false); | 266 jsarr1.AddValue(false); |
| 267 } | 267 } |
| 268 } | 268 } |
| 269 EXPECT_STREQ("[[4],[false]]", js.ToCString()); | 269 EXPECT_STREQ("[[4],[false]]", js.ToCString()); |
| 270 } | 270 } |
| 271 | 271 |
| 272 | 272 |
| 273 TEST_CASE(JSON_JSONStream_Printf) { | 273 TEST_CASE(JSON_JSONStream_Printf) { |
| 274 JSONStream js; | 274 JSONStream js; |
| 275 { | 275 { |
| (...skipping 12 matching lines...) Expand all Loading... |
| 288 } | 288 } |
| 289 EXPECT_STREQ("{\"key\":\"2 hello\"}", js.ToCString()); | 289 EXPECT_STREQ("{\"key\":\"2 hello\"}", js.ToCString()); |
| 290 } | 290 } |
| 291 | 291 |
| 292 | 292 |
| 293 TEST_CASE(JSON_JSONStream_DartObject) { | 293 TEST_CASE(JSON_JSONStream_DartObject) { |
| 294 JSONStream js; | 294 JSONStream js; |
| 295 { | 295 { |
| 296 JSONArray jsarr(&js); | 296 JSONArray jsarr(&js); |
| 297 jsarr.AddValue(Object::Handle(Object::null())); | 297 jsarr.AddValue(Object::Handle(Object::null())); |
| 298 JSONObject jsobj(jsarr); | 298 JSONObject jsobj(&jsarr); |
| 299 jsobj.AddProperty("object_key", Object::Handle(Object::null())); | 299 jsobj.AddProperty("object_key", Object::Handle(Object::null())); |
| 300 } | 300 } |
| 301 EXPECT_STREQ("[{\"type\":\"null\"},{\"object_key\":{\"type\":\"null\"}}]", | 301 EXPECT_STREQ("[{\"type\":\"null\"},{\"object_key\":{\"type\":\"null\"}}]", |
| 302 js.ToCString()); | 302 js.ToCString()); |
| 303 } | 303 } |
| 304 | 304 |
| 305 TEST_CASE(JSON_JSONStream_EscapedString) { | 305 TEST_CASE(JSON_JSONStream_EscapedString) { |
| 306 JSONStream js; | 306 JSONStream js; |
| 307 { | 307 { |
| 308 JSONArray jsarr(&js); | 308 JSONArray jsarr(&js); |
| 309 jsarr.AddValue("Hel\"\"lo\r\n\t"); | 309 jsarr.AddValue("Hel\"\"lo\r\n\t"); |
| 310 } | 310 } |
| 311 EXPECT_STREQ("[\"Hel\\\"\\\"lo\\r\\n\\t\"]", js.ToCString()); | 311 EXPECT_STREQ("[\"Hel\\\"\\\"lo\\r\\n\\t\"]", js.ToCString()); |
| 312 } | 312 } |
| 313 | 313 |
| 314 | 314 |
| 315 } // namespace dart | 315 } // namespace dart |
| OLD | NEW |