Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / protobufjs / ext / descriptor / test.js
diff --git a/legacy-libs/protobufjs/ext/descriptor/test.js b/legacy-libs/protobufjs/ext/descriptor/test.js
new file mode 100644 (file)
index 0000000..ceb80f8
--- /dev/null
@@ -0,0 +1,54 @@
+/*eslint-disable no-console*/
+"use strict";
+var protobuf   = require("../../"),
+    descriptor = require(".");
+
+/* var proto = {
+    nested: {
+        Message: {
+            fields: {
+                foo: {
+                    type: "string",
+                    id: 1
+                }
+            },
+            nested: {
+                SubMessage: {
+                    fields: {}
+                }
+            }
+        },
+        Enum: {
+            values: {
+                ONE: 1,
+                TWO: 2
+            }
+        }
+    }
+}; */
+
+// var root = protobuf.Root.fromJSON(proto).resolveAll();
+var root = protobuf.loadSync("tests/data/google/protobuf/descriptor.proto").resolveAll();
+
+// console.log("Original proto", JSON.stringify(root, null, 2));
+
+var msg  = root.toDescriptor();
+
+// console.log("\nDescriptor", JSON.stringify(msg.toObject(), null, 2));
+
+var buf  = descriptor.FileDescriptorSet.encode(msg).finish();
+var root2 = protobuf.Root.fromDescriptor(buf, "proto2").resolveAll();
+
+// console.log("\nDecoded proto", JSON.stringify(root2, null, 2));
+
+var diff = require("deep-diff").diff(root.toJSON(), root2.toJSON());
+if (diff) {
+    diff.forEach(function(diff) {
+        console.log(diff.kind + " @ " + diff.path.join("."));
+        console.log("lhs:", typeof diff.lhs, diff.lhs);
+        console.log("rhs:", typeof diff.rhs, diff.rhs);
+        console.log();
+    });
+    process.exitCode = 1;
+} else
+    console.log("no differences");