diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 00000000..50fc1994
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "test/qunit"]
+ path = test/qunit
+ url = git://github.com/jquery/qunit.git
diff --git a/test/data/testinit.js b/test/data/testinit.js
new file mode 100644
index 00000000..a66f71d2
--- /dev/null
+++ b/test/data/testinit.js
@@ -0,0 +1,47 @@
+var jQuery = this.jQuery || "jQuery", // For testing .noConflict()
+ $ = this.$ || "$",
+ originaljQuery = jQuery,
+ original$ = $;
+
+/**
+ * Returns an array of elements with the given IDs, eg.
+ * @example q("main", "foo", "bar")
+ * @result [
,
, ]
+ */
+function q() {
+ var r = [];
+
+ for ( var i = 0; i < arguments.length; i++ ) {
+ r.push( document.getElementById( arguments[i] ) );
+ }
+
+ return r;
+}
+
+/**
+ * Asserts that a select matches the given IDs * @example t("Check for something", "//[a]", ["foo", "baar"]);
+ * @result returns true if "//[a]" return two elements with the IDs 'foo' and 'baa
+r'
+ */
+function t(a,b,c) {
+ var f = jQuery(b).get(), s = "";
+
+ for ( var i = 0; i < f.length; i++ ) {
+ s += (s && ",") + '"' + f[i].id + '"';
+ }
+
+ same(f, q.apply(q,c), a + " (" + b + ")");
+}
+
+/**
+ * Add random number to url to stop IE from caching
+ *
+ * @example url("data/test.html")
+ * @result "data/test.html?10538358428943"
+ *
+ * @example url("data/test.php?foo=bar")
+ * @result "data/test.php?foo=bar&10538358345554"
+ */
+function url(value) {
+ return value + (/\?/.test(value) ? "&" : "?") + new Date().getTime() + "" + parseInt(Math.random()*100000);
+}
diff --git a/test/index.html b/test/index.html
index 81151cb7..9e4f22e3 100644
--- a/test/index.html
+++ b/test/index.html
@@ -3,14 +3,8 @@
jQuery Test Suite
-
+
-
-
+
+
-
-
-
+
+
+
+
-
+