| /* |
| * Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| * for details. All rights reserved. Use of this source code is governed by a |
| * BSD-style license that can be found in the LICENSE file. |
| */ |
| /** |
| * @assertion String convert(Object o) |
| * Converts the given object o to its JSON representation. |
| * Directly serializable values are num, String, bool, and Null, as well as some |
| * List and Map values. For List, the elements must all be serializable. For |
| * Map, the keys must be String and the values must be serializable. If a value |
| * is any other type is attempted serialized, the conversion function provided |
| * in the constructor is invoked with the object as argument and the result, |
| * which must be a directly serializable value, is serialized instead of the |
| * original value. |
| |
| * If the conversion throws, or returns a value that is not directly |
| * serializable, a JsonUnsupportedObjectError exception is thrown. |
| * If the call throws, the error is caught and stored in the |
| * JsonUnsupportedObjectError's cause field. |
| |
| * If a List or Map contains a reference to itself, directly or through other |
| * lists or maps, it cannot be serialized and a JsonCyclicError is thrown. |
| |
| * Json Objects should not change during serialization. |
| * If an object is serialized more than once, stringify is allowed to cache the |
| * JSON text for it. I.e., if an object changes after it is first serialized, |
| * the new values may or may not be reflected in the result. |
| * @description Checks that num, String, bool, Null, List, and Map values are |
| * serialized correctly. |
| * @author kaigorodov |
| */ |
| import "dart:convert"; |
| import "../../../Utils/expect.dart"; |
| import "../JsonDecoder/table1.lib.dart"; |
| |
| main() { |
| for (List<Object> pair in table) { |
| JsonEncoder enc = new JsonEncoder(); |
| String res = enc.convert(pair[0]); |
| Expect.equals(pair[1], res); |
| } |
| } |