blob: 7accfc05f3d100249866ce04335601e4e4c1d171 [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 MockMessage, mockInfo;
class T extends MockMessage {
get info_ => _info;
static final _info = mockInfo("T", () => new T());
}
main() {
T example = new T()
..val = 123
..str = "hello";
test('testWriteToJson', () {
String json = example.writeToJson();
checkJsonMap(JSON.decode(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");
}