aboutsummaryrefslogtreecommitdiffstats
path: root/test/node_smoke_tests
diff options
context:
space:
mode:
Diffstat (limited to 'test/node_smoke_tests')
-rw-r--r--test/node_smoke_tests/document_missing.js19
-rw-r--r--test/node_smoke_tests/document_passed.js17
-rw-r--r--test/node_smoke_tests/document_present_originally.js20
-rw-r--r--test/node_smoke_tests/lib/ensure_global_not_created.js17
-rw-r--r--test/node_smoke_tests/lib/ensure_jquery.js11
5 files changed, 84 insertions, 0 deletions
diff --git a/test/node_smoke_tests/document_missing.js b/test/node_smoke_tests/document_missing.js
new file mode 100644
index 000000000..0a0bda350
--- /dev/null
+++ b/test/node_smoke_tests/document_missing.js
@@ -0,0 +1,19 @@
+/* jshint node: true */
+
+"use strict";
+
+var ensureGlobalNotCreated = require( "./lib/ensure_global_not_created" ),
+ jQueryFactory = require( "../../dist/jquery.js" );
+
+try {
+ jQueryFactory( {} );
+ console.error( "The jQuery factory should reject window without a document" );
+ process.exit( 1 );
+} catch ( e ) {
+ if ( e.message === "jQuery requires a window with a document" ) {
+ ensureGlobalNotCreated( module.exports );
+ process.exit( 0 );
+ }
+ console.error( "An unexpected error thrown; message: ", e.message );
+ process.exit( 1 );
+}
diff --git a/test/node_smoke_tests/document_passed.js b/test/node_smoke_tests/document_passed.js
new file mode 100644
index 000000000..5bbddb718
--- /dev/null
+++ b/test/node_smoke_tests/document_passed.js
@@ -0,0 +1,17 @@
+/* jshint node: true */
+
+"use strict";
+
+require( "jsdom" ).env( "", function( errors, window ) {
+ if ( errors ) {
+ console.error( errors );
+ process.exit( 1 );
+ }
+
+ var ensureJQuery = require( "./lib/ensure_jquery" ),
+ ensureGlobalNotCreated = require( "./lib/ensure_global_not_created" ),
+ jQuery = require( "../../dist/jquery.js" )( window );
+
+ ensureJQuery( jQuery );
+ ensureGlobalNotCreated( module.exports );
+} );
diff --git a/test/node_smoke_tests/document_present_originally.js b/test/node_smoke_tests/document_present_originally.js
new file mode 100644
index 000000000..76fa88e86
--- /dev/null
+++ b/test/node_smoke_tests/document_present_originally.js
@@ -0,0 +1,20 @@
+/* jshint node: true */
+
+"use strict";
+
+require( "jsdom" ).env( "", function( errors, window ) {
+ if ( errors ) {
+ console.error( errors );
+ process.exit( 1 );
+ }
+
+ // Pretend the window is a global.
+ global.window = window;
+
+ var ensureJQuery = require( "./lib/ensure_jquery" ),
+ ensureGlobalNotCreated = require( "./lib/ensure_global_not_created" ),
+ jQuery = require( "../../dist/jquery.js" );
+
+ ensureJQuery( jQuery );
+ ensureGlobalNotCreated( module.exports, window );
+} );
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 );
+ }
+};