blob: 9cf1102182444c7f96b61c9f02a0a76369cf9c54 [file] [log] [blame]
/*
* 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 Object encode(Object value, {toEncodable(object)})
* If the object does not support "toJson()" method, throws, or returns a value
* that is not directly serializable, a JsonUnsupportedObjectError exception is
* thrown.
* If the call throws (including the case where there is no nullary "toJson"
* method, the error is caught and stored in the JsonUnsupportedObjectError's
* cause field.
* @description Checks that if the object does not support "toJson()" method,
* a JsonUnsupportedObjectError exception is thrown,
* and JsonUnsupportedObjectError's cause field is filled.
* @author kaigorodov
*/
import "dart:convert";
import "../../../Utils/expect.dart";
import "../JsonEncoder/table2.lib.dart" show table;
main() {
JsonCodec codec = new JsonCodec();
bool failed = false;
for (Object? obj in table) {
try {
String? res = codec.encode(obj);
failed = true;
} on JsonUnsupportedObjectError catch(e) {
Expect.isNotNull(e.cause);
}
if (failed) {
Expect.fail("");
}
}
}