Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / grpc-cloned / node_modules / @protobufjs / utf8 / tests / index.js
diff --git a/legacy-libs/grpc-cloned/node_modules/@protobufjs/utf8/tests/index.js b/legacy-libs/grpc-cloned/node_modules/@protobufjs/utf8/tests/index.js
new file mode 100644 (file)
index 0000000..222cd8a
--- /dev/null
@@ -0,0 +1,57 @@
+var tape = require("tape");\r
+\r
+var utf8 = require("..");\r
+\r
+var data = require("fs").readFileSync(require.resolve("./data/utf8.txt")),\r
+    dataStr = data.toString("utf8");\r
+\r
+tape.test("utf8", function(test) {\r
+\r
+    test.test(test.name + " - length", function(test) {\r
+        test.equal(utf8.length(""), 0, "should return a byte length of zero for an empty string");\r
+\r
+        test.equal(utf8.length(dataStr), Buffer.byteLength(dataStr), "should return the same byte length as node buffers");\r
+\r
+        test.end();\r
+    });\r
+\r
+    test.test(test.name + " - read", function(test) {\r
+        var comp = utf8.read([], 0, 0);\r
+        test.equal(comp, "", "should decode an empty buffer to an empty string");\r
+\r
+        comp = utf8.read(data, 0, data.length);\r
+        test.equal(comp, data.toString("utf8"), "should decode to the same byte data as node buffers");\r
+\r
+        var longData = Buffer.concat([data, data, data, data]);\r
+        comp = utf8.read(longData, 0, longData.length);\r
+        test.equal(comp, longData.toString("utf8"), "should decode to the same byte data as node buffers (long)");\r
+\r
+        var chunkData = new Buffer(data.toString("utf8").substring(0, 8192));\r
+        comp = utf8.read(chunkData, 0, chunkData.length);\r
+        test.equal(comp, chunkData.toString("utf8"), "should decode to the same byte data as node buffers (chunk size)");\r
+\r
+        test.end();\r
+    });\r
+\r
+    test.test(test.name + " - write", function(test) {\r
+        var buf = new Buffer(0);\r
+        test.equal(utf8.write("", buf, 0), 0, "should encode an empty string to an empty buffer");\r
+\r
+        var len = utf8.length(dataStr);\r
+        buf = new Buffer(len);\r
+        test.equal(utf8.write(dataStr, buf, 0), len, "should encode to exactly " + len + " bytes");\r
+\r
+        test.equal(buf.length, data.length, "should encode to a buffer length equal to that of node buffers");\r
+\r
+        for (var i = 0; i < buf.length; ++i) {\r
+            if (buf[i] !== data[i]) {\r
+                test.fail("should encode to the same buffer data as node buffers (offset " + i + ")");\r
+                return;\r
+            }\r
+        }\r
+        test.pass("should encode to the same buffer data as node buffers");\r
+\r
+        test.end();\r
+    });\r
+\r
+});\r