blob: 1290d0e96ccc5844cceea594633fb3700bc1d48d [file] [log] [blame]
// Basic smoke tests for the GeneratedMessage JSON API.
//
// There are more JSON tests in the dart-protoc-plugin package.
library json_test;
import 'dart:convert';
import 'package:test/test.dart';
import 'mock_util.dart' show T;
main() {
T example = new T()
..val = 123
..str = "hello";
test('testWriteToJson', () {
String json = example.writeToJson();
checkJsonMap(jsonDecode(json));
});
test('writeToJsonMap', () {
Map m = example.writeToJsonMap();
checkJsonMap(m);
});
test('testMergeFromJson', () {
var t = new T();
t.mergeFromJson('''{"1": 123, "2": "hello"}''');
checkMessage(t);
});
test('testMergeFromJsonMap', () {
var t = new T();
t.mergeFromJsonMap({"1": 123, "2": "hello"});
checkMessage(t);
});
}
checkJsonMap(Map m) {
expect(m.length, 2);
expect(m["1"], 123);
expect(m["2"], "hello");
}
checkMessage(T t) {
expect(t.val, 123);
expect(t.str, "hello");
}