aboutsummaryrefslogtreecommitdiffstats
path: root/test/promises_aplus_adapter.js
diff options
context:
space:
mode:
authorMichał Gołębiowski <m.goleb@gmail.com>2015-04-26 19:33:05 +0200
committerMichał Gołębiowski <m.goleb@gmail.com>2015-04-27 22:44:47 +0200
commitab407258795bfa05756b009058757f8b42aa9c53 (patch)
treef96c0057a86c7d53deae69dd442ae55311263ee8 /test/promises_aplus_adapter.js
parentff18d8e2060ae7c15c7694dc6bcbbeb9cbfbdaa4 (diff)
downloadjquery-ab407258795bfa05756b009058757f8b42aa9c53.tar.gz
jquery-ab407258795bfa05756b009058757f8b42aa9c53.zip
Core: Test all factory use cases from intro.js
There is a lot of logic in intro.js; now we test four cases: 1. (implicitly, via QUnit tests) A real browser with window being the global 2. Browserify where there are both global & window variables. 3. Node with jsdom where window is passed manually to the jQuery factory. 4. Pure Node with incorrect window passed; jQuery should throw then. Previously the second & fourth case was not tested and the third was tested in a way that interfered with the main test environment. We now also test if in the Browserify case we're not creating a jQuery global by default. Fixes gh-2181 Closes gh-2234
Diffstat (limited to 'test/promises_aplus_adapter.js')
-rw-r--r--test/promises_aplus_adapter.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/promises_aplus_adapter.js b/test/promises_aplus_adapter.js
new file mode 100644
index 000000000..decc3e0f0
--- /dev/null
+++ b/test/promises_aplus_adapter.js
@@ -0,0 +1,22 @@
+/* jshint node: true */
+
+"use strict";
+
+require( "jsdom" ).env( "", function ( errors, window ) {
+ if ( errors ) {
+ console.error( errors );
+ return;
+ }
+
+ var jQuery = require( ".." )( window );
+
+ exports.deferred = function () {
+ var deferred = jQuery.Deferred();
+
+ return {
+ promise: deferred.promise(),
+ resolve: deferred.resolve.bind( deferred ),
+ reject: deferred.reject.bind( deferred )
+ };
+ };
+} );