mirror of
https://github.com/protobufjs/protobuf.js.git
synced 2025-12-08 20:58:55 +00:00
67 lines
2.8 KiB
JavaScript
67 lines
2.8 KiB
JavaScript
var tape = require("tape");
|
|
|
|
var protobuf = require("..");
|
|
|
|
tape.test("by default, drop comments through de/serialization", function(test) {
|
|
test.plan(16);
|
|
protobuf.load("tests/data/comment_serialization.proto", function(err, root) {
|
|
if (err) {
|
|
throw test.fail(err.message);
|
|
}
|
|
|
|
var copy = protobuf.Root.fromJSON(root.toJSON());
|
|
test.ok(root.lookup("TestMessage").comment);
|
|
test.notOk(copy.lookup("TestMessage").comment);
|
|
test.ok(root.lookup("TestMessage.testField").comment);
|
|
test.notOk(copy.lookup("TestMessage.testField").comment);
|
|
test.ok(root.lookup("TestMessage.testMap").comment);
|
|
test.notOk(copy.lookup("TestMessage.testMap").comment);
|
|
test.ok(root.lookup("TestMessage.testOneof").comment);
|
|
test.notOk(copy.lookup("TestMessage.testOneof").comment);
|
|
|
|
var rootService = root.lookupService("TestService");
|
|
var copyService = copy.lookupService("TestService");
|
|
test.ok(rootService.comment);
|
|
test.notOk(copyService.comment);
|
|
test.ok(rootService.methods["testMethod"].comment);
|
|
test.notOk(copyService.methods["testMethod"].comment);
|
|
|
|
var rootEnum = root.lookup("TestEnum");
|
|
var copyEnum = copy.lookup("TestEnum");
|
|
test.ok(rootEnum.comment);
|
|
test.notOk(copyEnum.comment);
|
|
test.ok(rootEnum.comments.VALUE);
|
|
test.notOk(copyEnum.comments.VALUE);
|
|
|
|
test.end();
|
|
});
|
|
});
|
|
|
|
tape.test("preserve comments through de/serialization if option set", function(test) {
|
|
test.plan(8);
|
|
protobuf.load("tests/data/comment_serialization.proto", function(err, root) {
|
|
if (err) {
|
|
throw test.fail(err.message);
|
|
}
|
|
|
|
var toJSONOptions = {keepComments: true};
|
|
var copy = protobuf.Root.fromJSON(root.toJSON(toJSONOptions));
|
|
test.equal(root.lookup("TestMessage").comment, copy.lookup("TestMessage").comment);
|
|
test.equal(root.lookup("TestMessage.testField").comment, copy.lookup("TestMessage.testField").comment);
|
|
test.equal(root.lookup("TestMessage.testMap").comment, copy.lookup("TestMessage.testMap").comment);
|
|
test.equal(root.lookup("TestMessage.testOneof").comment, copy.lookup("TestMessage.testOneof").comment);
|
|
|
|
var rootService = root.lookupService("TestService");
|
|
var copyService = copy.lookupService("TestService");
|
|
test.equal(rootService.comment, copyService.comment);
|
|
test.equal(rootService.methods["testMethod"].comment, copyService.methods["testMethod"].comment);
|
|
|
|
var rootEnum = root.lookup("TestEnum");
|
|
var copyEnum = copy.lookup("TestEnum");
|
|
test.equal(rootEnum.comment, copyEnum.comment);
|
|
test.equal(rootEnum.comments.VALUE, copyEnum.comments.VALUE);
|
|
|
|
test.end();
|
|
});
|
|
});
|