Sha256: 79c64b56bd821f7adef2fe1e5698cb6132538ef243bccec39b26c06dc4f82aa3

Contents?: true

Size: 1.15 KB

Versions: 45

Compression:

Stored size: 1.15 KB

Contents

"use strict";

module.exports = function (t) {
	if (typeof Promise !== "function") return null; // Run tests only in ES2015+ env

	return {
		"Delays execution": function (a, d) {
			var invoked = false;
			var promise = t(function (resolve) {
				invoked = true;
				setTimeout(function () {
					resolve(20);
				}, 10);
			});

			a(invoked, false);

			setTimeout(function () {
				a(invoked, false);
				promise.then(function (value) {
					a(value, 20);
					setTimeout(d, 0); // Escape error swallowing
				});
				a(invoked, true);
			}, 15);
		},
		"Passes rejection": function (a, d) {
			var promise = t(function (resolve, reject) {
				setTimeout(function () {
					reject(new Error("Stop"));
				}, 10);
			});

			promise.catch(function (error) {
				a(error instanceof Error, true);
				a(error.message, "Stop");
				setTimeout(d, 0); // Escape error swallowing
			});
		},
		"Passes sync exception": function (a, d) {
			var promise = t(function () {
				throw new Error("Stop");
			});

			promise.catch(function (error) {
				a(error instanceof Error, true);
				a(error.message, "Stop");
				setTimeout(d, 0); // Escape error swallowing
			});
		}
	};
};

Version data entries

45 entries across 45 versions & 2 rubygems

Version Path
govuk_publishing_components-18.0.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.21.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.20.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.19.1 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.19.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.18.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.17.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.16.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.15.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.14.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.13.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.12.2 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.12.1 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.12.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.11.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.10.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.9.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.8.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.7.0 node_modules/es5-ext/test/promise/lazy.js
govuk_publishing_components-17.6.1 node_modules/es5-ext/test/promise/lazy.js