Sha256: 7abfb0f4badabed1eda7b189bfa1782653a6e2ba5fc9d845d0b2805abc2d5bee

Contents?: true

Size: 1.64 KB

Versions: 44

Compression:

Stored size: 1.64 KB

Contents

"use strict";

var microtaskDelay = require("../../../../function/#/microtask-delay");

if (typeof Promise !== "function") global.Promise = require("plain-promise");

module.exports = function (t, a) {
	return {
		Success: function (d) {
			var invoked;
			t.call(Promise.resolve("foo"), function () {
				invoked = true;
				return "bar";
			}).then(
				microtaskDelay.call(function (result) {
					a(result, "foo");
					a(invoked, true);
					d();
				}, microtaskDelay.call(d))
			);
		},
		Failure: function (d) {
			var invoked;
			var error = new Error("Some error");
			t.call(Promise.reject(error), function () {
				invoked = true;
				return "bar";
			}).then(
				microtaskDelay.call(function () {
					a.never();
					d();
				}),
				microtaskDelay.call(function (result) {
					a(result, error);
					a(invoked, true);
					d();
				})
			);
		},
		SuccessFinallyError: function (d) {
			var invoked, finallyError = new Error("Finally error");
			t.call(Promise.resolve("foo"), function () {
				invoked = true;
				throw finallyError;
			}).then(
				microtaskDelay.call(function () {
					a.never();
					d();
				}),
				microtaskDelay.call(function (result) {
					a(result, finallyError);
					a(invoked, true);
					d();
				})
			);
		},
		FailureFinallyError: function (d) {
			var invoked, finallyError = new Error("Finally error");
			t.call(Promise.reject(new Error("Some error")), function () {
				invoked = true;
				throw finallyError;
			}).then(
				microtaskDelay.call(function () {
					a.never();
					d();
				}),
				microtaskDelay.call(function (result) {
					a(result, finallyError);
					a(invoked, true);
					d();
				})
			);
		}
	};
};

Version data entries

44 entries across 44 versions & 2 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-18.0.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.21.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.20.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.19.1 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.19.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.18.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.17.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.16.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.15.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.14.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.13.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.12.2 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.12.1 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.12.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.11.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.10.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.9.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.8.0 node_modules/es5-ext/test/promise/#/finally/shim.js
govuk_publishing_components-17.7.0 node_modules/es5-ext/test/promise/#/finally/shim.js