| var tape = require("tape"); |
| |
| var protobuf = require("../.."); |
| |
| tape.test("load sync", function(test) { |
| var root = protobuf.loadSync("tests/data/common.proto"); |
| |
| test.ok(root.lookup("Something"), "should parse message Something"); |
| |
| test.throws(function() { |
| protobuf.loadSync("tests/data/__NOTFOUND__", root); |
| }, Error, "should throw if not found"); |
| |
| var isNode = protobuf.util.isNode; |
| try { |
| protobuf.util.isNode = false; |
| test.throws(function() { |
| protobuf.loadSync("tests/data/common.proto"); |
| }, "should throw when not running under node"); |
| } finally { |
| protobuf.util.isNode = isNode; |
| } |
| |
| test.throws(function() { |
| protobuf.loadSync("tests/data/invalid.proto"); |
| }, Error, "should throw when trying to load an invalid proto"); |
| |
| test.throws(function() { |
| protobuf.loadSync("tests/data/invalid.json"); |
| }, Error, "should throw when trying to load invalid json"); |
| |
| root = protobuf.loadSync("tests/data/weak.proto"); |
| test.ok(root.files.indexOf("tests/data/NOT_FOUND") > -1, "should ignore missing weak protos and remember them"); |
| test.ok(root.files.indexOf("google/protobuf/any.proto") > -1, "should still load other protos when ignoring weak protos"); |
| |
| test.end(); |
| }); |
| |
| tape.test("should load bundled definitions even if resolvePath method was overrided", function(test) { |
| var protoFilePath = "tests/data/common.proto"; |
| var root = new protobuf.Root(); |
| root.resolvePath = (origin, target) => origin === "" && target === protoFilePath ? target : null; |
| |
| root.loadSync(protoFilePath); |
| |
| test.ok(root.lookup("Something"), "should parse message Something"); |
| test.end(); |
| }); |