blob: 34dbbc8bf04e8c68e49394e6f2f36910ba900b8a [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 decode(String str, {reviver(key, value)})
* The optional reviver function is called once for each object or list property
* that has been parsed during decoding.
* The key argument is either the integer list index for a list property,
* the map string for object properties, or null for the final result.
* The default reviver (when not provided) is the identity function.
* @description Checks that reviver function, if provided, is called at least once
* for each object or list property parsed.
* @author kaigorodov
*/
import "dart:convert";
import "../../../Utils/expect.dart";
import "../JsonDecoder/table1.lib.dart" show table;
int count=0;
Object reviver(key, value) {
++count;
return value;
}
main() {
for (List<Object> pair in table) {
// print("parsing ${pair[1]}...");
Object jsonObject=pair[0];
String jsonString=pair[1];
Object res = new JsonCodec().decode(jsonString, reviver:reviver);
Expect.deepEquals(jsonObject, res);
Expect.isTrue(count>0);
count=0;
}
}