summaryrefslogtreecommitdiff
path: root/frontend-old/node_modules/@protobufjs/aspromise/tests/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend-old/node_modules/@protobufjs/aspromise/tests/index.js')
-rw-r--r--frontend-old/node_modules/@protobufjs/aspromise/tests/index.js130
1 files changed, 130 insertions, 0 deletions
diff --git a/frontend-old/node_modules/@protobufjs/aspromise/tests/index.js b/frontend-old/node_modules/@protobufjs/aspromise/tests/index.js
new file mode 100644
index 0000000..6d8d24c
--- /dev/null
+++ b/frontend-old/node_modules/@protobufjs/aspromise/tests/index.js
@@ -0,0 +1,130 @@
+var tape = require("tape");
+
+var asPromise = require("..");
+
+tape.test("aspromise", function(test) {
+
+ test.test(this.name + " - resolve", function(test) {
+
+ function fn(arg1, arg2, callback) {
+ test.equal(this, ctx, "function should be called with this = ctx");
+ test.equal(arg1, 1, "function should be called with arg1 = 1");
+ test.equal(arg2, 2, "function should be called with arg2 = 2");
+ callback(null, arg2);
+ }
+
+ var ctx = {};
+
+ var promise = asPromise(fn, ctx, 1, 2);
+ promise.then(function(arg2) {
+ test.equal(arg2, 2, "promise should be resolved with arg2 = 2");
+ test.end();
+ }).catch(function(err) {
+ test.fail("promise should not be rejected (" + err + ")");
+ });
+ });
+
+ test.test(this.name + " - reject", function(test) {
+
+ function fn(arg1, arg2, callback) {
+ test.equal(this, ctx, "function should be called with this = ctx");
+ test.equal(arg1, 1, "function should be called with arg1 = 1");
+ test.equal(arg2, 2, "function should be called with arg2 = 2");
+ callback(arg1);
+ }
+
+ var ctx = {};
+
+ var promise = asPromise(fn, ctx, 1, 2);
+ promise.then(function() {
+ test.fail("promise should not be resolved");
+ }).catch(function(err) {
+ test.equal(err, 1, "promise should be rejected with err = 1");
+ test.end();
+ });
+ });
+
+ test.test(this.name + " - resolve twice", function(test) {
+
+ function fn(arg1, arg2, callback) {
+ test.equal(this, ctx, "function should be called with this = ctx");
+ test.equal(arg1, 1, "function should be called with arg1 = 1");
+ test.equal(arg2, 2, "function should be called with arg2 = 2");
+ callback(null, arg2);
+ callback(null, arg1);
+ }
+
+ var ctx = {};
+ var count = 0;
+
+ var promise = asPromise(fn, ctx, 1, 2);
+ promise.then(function(arg2) {
+ test.equal(arg2, 2, "promise should be resolved with arg2 = 2");
+ if (++count > 1)
+ test.fail("promise should not be resolved twice");
+ test.end();
+ }).catch(function(err) {
+ test.fail("promise should not be rejected (" + err + ")");
+ });
+ });
+
+ test.test(this.name + " - reject twice", function(test) {
+
+ function fn(arg1, arg2, callback) {
+ test.equal(this, ctx, "function should be called with this = ctx");
+ test.equal(arg1, 1, "function should be called with arg1 = 1");
+ test.equal(arg2, 2, "function should be called with arg2 = 2");
+ callback(arg1);
+ callback(arg2);
+ }
+
+ var ctx = {};
+ var count = 0;
+
+ var promise = asPromise(fn, ctx, 1, 2);
+ promise.then(function() {
+ test.fail("promise should not be resolved");
+ }).catch(function(err) {
+ test.equal(err, 1, "promise should be rejected with err = 1");
+ if (++count > 1)
+ test.fail("promise should not be rejected twice");
+ test.end();
+ });
+ });
+
+ test.test(this.name + " - reject error", function(test) {
+
+ function fn(callback) {
+ test.ok(arguments.length === 1 && typeof callback === "function", "function should be called with just a callback");
+ throw 3;
+ }
+
+ var promise = asPromise(fn, null);
+ promise.then(function() {
+ test.fail("promise should not be resolved");
+ }).catch(function(err) {
+ test.equal(err, 3, "promise should be rejected with err = 3");
+ test.end();
+ });
+ });
+
+ test.test(this.name + " - reject and error", function(test) {
+
+ function fn(callback) {
+ callback(3);
+ throw 4;
+ }
+
+ var count = 0;
+
+ var promise = asPromise(fn, null);
+ promise.then(function() {
+ test.fail("promise should not be resolved");
+ }).catch(function(err) {
+ test.equal(err, 3, "promise should be rejected with err = 3");
+ if (++count > 1)
+ test.fail("promise should not be rejected twice");
+ test.end();
+ });
+ });
+});