aboutsummaryrefslogtreecommitdiffstats
path: root/test/node_smoke_tests/lib
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/node_smoke_tests/lib
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/node_smoke_tests/lib')
-rw-r--r--test/node_smoke_tests/lib/ensure_global_not_created.js17
-rw-r--r--test/node_smoke_tests/lib/ensure_jquery.js11
2 files changed, 28 insertions, 0 deletions
diff --git a/test/node_smoke_tests/lib/ensure_global_not_created.js b/test/node_smoke_tests/lib/ensure_global_not_created.js
new file mode 100644
index 000000000..e2ce98309
--- /dev/null
+++ b/test/node_smoke_tests/lib/ensure_global_not_created.js
@@ -0,0 +1,17 @@
+/* jshint node: true */
+
+"use strict";
+
+// Ensure the jQuery property on global/window/module.exports/etc. was not
+// created in a CommonJS environment.
+// `global` is always checked in addition to passed parameters.
+module.exports = function ensureGlobalNotCreated() {
+ var args = [].slice.call( arguments ).concat( global );
+
+ args.forEach( function( object ) {
+ if ( object.jQuery ) {
+ console.error( "A jQuery global was created in a CommonJS environment." );
+ process.exit( 1 );
+ }
+ } );
+};
diff --git a/test/node_smoke_tests/lib/ensure_jquery.js b/test/node_smoke_tests/lib/ensure_jquery.js
new file mode 100644
index 000000000..f121f6652
--- /dev/null
+++ b/test/node_smoke_tests/lib/ensure_jquery.js
@@ -0,0 +1,11 @@
+/* jshint node: true */
+
+"use strict";
+
+// Check if the object we got is the jQuery object by invoking a basic API.
+module.exports = function ensureJQuery( jQuery ) {
+ if ( !/^jQuery/.test( jQuery.expando ) ) {
+ console.error( "jQuery.expando was not detected, the jQuery bootstrap process has failed" );
+ process.exit( 1 );
+ }
+};