Commit 9e486497 authored by Ariel Flesler's avatar Ariel Flesler

test runner: the changes are:

- Replaced all the $ for jQuery in the tests and suite.
- Added a noConflict to testrunner.js.
- Modified the test for noConflict() so that it still work.
- Added jQuery 1.2.1 and 1.2.3 to otherlibs.
parent abb055bb
jQuery.noConflict(); // Allow the test to run with other libs or jQuery's.
var _config = { var _config = {
fixture: null, fixture: null,
Test: [], Test: [],
...@@ -14,12 +16,12 @@ var _config = { ...@@ -14,12 +16,12 @@ var _config = {
}; };
_config.filters = location.search.length > 1 && //restrict modules/tests by get parameters _config.filters = location.search.length > 1 && //restrict modules/tests by get parameters
$.map( location.search.slice(1).split('&'), decodeURIComponent ); jQuery.map( location.search.slice(1).split('&'), decodeURIComponent );
var isLocal = !!(window.location.protocol == 'file:'); var isLocal = !!(window.location.protocol == 'file:');
$(function() { jQuery(function() {
$('#userAgent').html(navigator.userAgent); jQuery('#userAgent').html(navigator.userAgent);
runTest(); runTest();
}); });
...@@ -81,15 +83,15 @@ function runTest() { ...@@ -81,15 +83,15 @@ function runTest() {
_config.blocking = false; _config.blocking = false;
var time = new Date(); var time = new Date();
_config.fixture = document.getElementById('main').innerHTML; _config.fixture = document.getElementById('main').innerHTML;
_config.ajaxSettings = $.ajaxSettings; _config.ajaxSettings = jQuery.ajaxSettings;
synchronize(function() { synchronize(function() {
time = new Date() - time; time = new Date() - time;
$("<div>").html(['<p class="result">Tests completed in ', jQuery("<div>").html(['<p class="result">Tests completed in ',
time, ' milliseconds.<br/>', time, ' milliseconds.<br/>',
_config.stats.bad, ' tests of ', _config.stats.all, ' failed.</p>'] _config.stats.bad, ' tests of ', _config.stats.all, ' failed.</p>']
.join('')) .join(''))
.appendTo("body"); .appendTo("body");
$("#banner").addClass(_config.stats.bad ? "fail" : "pass"); jQuery("#banner").addClass(_config.stats.bad ? "fail" : "pass");
}); });
} }
...@@ -154,11 +156,11 @@ function test(name, callback, nowait) { ...@@ -154,11 +156,11 @@ function test(name, callback, nowait) {
else else
n.style.display = "none"; n.style.display = "none";
}; };
$(b).dblclick(function(event) { jQuery(b).dblclick(function(event) {
var target = jQuery(event.target).filter("strong").clone(); var target = jQuery(event.target).filter("strong").clone();
if ( target.length ) { if ( target.length ) {
target.children().remove(); target.children().remove();
location.href = location.href.match(/^(.+?)(\?.*)?$/)[1] + "?" + encodeURIComponent($.trim(target.text())); location.href = location.href.match(/^(.+?)(\?.*)?$/)[1] + "?" + encodeURIComponent(jQuery.trim(target.text()));
} }
}); });
li.appendChild( b ); li.appendChild( b );
...@@ -184,14 +186,14 @@ function expect(asserts) { ...@@ -184,14 +186,14 @@ function expect(asserts) {
* Resets the test setup. Useful for tests that modify the DOM. * Resets the test setup. Useful for tests that modify the DOM.
*/ */
function reset() { function reset() {
$("#main").html( _config.fixture ); jQuery("#main").html( _config.fixture );
$.event.global = {}; jQuery.event.global = {};
$.ajaxSettings = $.extend({}, _config.ajaxSettings); jQuery.ajaxSettings = jQuery.extend({}, _config.ajaxSettings);
} }
/** /**
* Asserts true. * Asserts true.
* @example ok( $("a").size() > 5, "There must be at least 5 anchors" ); * @example ok( jQuery("a").size() > 5, "There must be at least 5 anchors" );
*/ */
function ok(a, msg) { function ok(a, msg) {
_config.Test.push( [ !!a, msg ] ); _config.Test.push( [ !!a, msg ] );
......
...@@ -5,7 +5,12 @@ ...@@ -5,7 +5,12 @@
<title>jQuery Test Suite</title> <title>jQuery Test Suite</title>
<link rel="Stylesheet" media="screen" href="data/testsuite.css" /> <link rel="Stylesheet" media="screen" href="data/testsuite.css" />
<!-- Includes --> <!-- Includes -->
<script type="text/javascript">var jQuery = "jQuery", $ = "$"; // For testing .noConflict()</script> <script type="text/javascript">
var jQuery = this.jQuery || "jQuery", // For testing .noConflict()
$ = this.$ || "$",
originaljQuery = jQuery,
original$ = $;
</script>
<script type="text/javascript" src="../dist/jquery.js"></script> <script type="text/javascript" src="../dist/jquery.js"></script>
<script type="text/javascript" src="data/testrunner.js"></script> <script type="text/javascript" src="data/testrunner.js"></script>
<script type="text/javascript" src="unit/core.js"></script> <script type="text/javascript" src="unit/core.js"></script>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -3,7 +3,7 @@ module("dimensions"); ...@@ -3,7 +3,7 @@ module("dimensions");
test("innerWidth()", function() { test("innerWidth()", function() {
expect(3); expect(3);
var $div = $("#nothiddendiv"); var $div = jQuery("#nothiddendiv");
// set styles // set styles
$div.css({ $div.css({
margin: 10, margin: 10,
...@@ -24,7 +24,7 @@ test("innerWidth()", function() { ...@@ -24,7 +24,7 @@ test("innerWidth()", function() {
test("innerHeight()", function() { test("innerHeight()", function() {
expect(3); expect(3);
var $div = $("#nothiddendiv"); var $div = jQuery("#nothiddendiv");
// set styles // set styles
$div.css({ $div.css({
margin: 10, margin: 10,
...@@ -45,7 +45,7 @@ test("innerHeight()", function() { ...@@ -45,7 +45,7 @@ test("innerHeight()", function() {
test("outerWidth()", function() { test("outerWidth()", function() {
expect(6); expect(6);
var $div = $("#nothiddendiv"); var $div = jQuery("#nothiddendiv");
$div.css("width", 30); $div.css("width", 30);
equals($div.outerWidth(), 30, "Test with only width set"); equals($div.outerWidth(), 30, "Test with only width set");
...@@ -67,7 +67,7 @@ test("outerWidth()", function() { ...@@ -67,7 +67,7 @@ test("outerWidth()", function() {
test("outerHeight()", function() { test("outerHeight()", function() {
expect(6); expect(6);
var $div = $("#nothiddendiv"); var $div = jQuery("#nothiddendiv");
$div.css("height", 30); $div.css("height", 30);
equals($div.outerHeight(), 30, "Test with only width set"); equals($div.outerHeight(), 30, "Test with only width set");
......
This diff is collapsed.
...@@ -4,8 +4,8 @@ test("animate(Hash, Object, Function)", function() { ...@@ -4,8 +4,8 @@ test("animate(Hash, Object, Function)", function() {
expect(1); expect(1);
stop(); stop();
var hash = {opacity: 'show'}; var hash = {opacity: 'show'};
var hashCopy = $.extend({}, hash); var hashCopy = jQuery.extend({}, hash);
$('#foo').animate(hash, 0, function() { jQuery('#foo').animate(hash, 0, function() {
equals( hash.opacity, hashCopy.opacity, 'Check if animate changed the hash parameter' ); equals( hash.opacity, hashCopy.opacity, 'Check if animate changed the hash parameter' );
start(); start();
}); });
...@@ -17,7 +17,7 @@ test("animate option (queue === false)", function () { ...@@ -17,7 +17,7 @@ test("animate option (queue === false)", function () {
var order = []; var order = [];
var $foo = $("#foo"); var $foo = jQuery("#foo");
$foo.animate({width:'100px'}, 200, function () { $foo.animate({width:'100px'}, 200, function () {
// should finish after unqueued animation so second // should finish after unqueued animation so second
order.push(2); order.push(2);
...@@ -38,7 +38,7 @@ test("queue() defaults to 'fx' type", function () { ...@@ -38,7 +38,7 @@ test("queue() defaults to 'fx' type", function () {
expect(2); expect(2);
stop(); stop();
var $foo = $("#foo"); var $foo = jQuery("#foo");
$foo.queue("fx", [ "sample", "array" ]); $foo.queue("fx", [ "sample", "array" ]);
var arr = $foo.queue(); var arr = $foo.queue();
isSet(arr, [ "sample", "array" ], "queue() got an array set with type 'fx'"); isSet(arr, [ "sample", "array" ], "queue() got an array set with type 'fx'");
...@@ -55,7 +55,7 @@ test("stop()", function() { ...@@ -55,7 +55,7 @@ test("stop()", function() {
expect(3); expect(3);
stop(); stop();
var $foo = $("#nothiddendiv"); var $foo = jQuery("#nothiddendiv");
var w = 0; var w = 0;
$foo.hide().width(200).width(); $foo.hide().width(200).width();
...@@ -78,7 +78,7 @@ test("stop() - several in queue", function() { ...@@ -78,7 +78,7 @@ test("stop() - several in queue", function() {
expect(4); expect(4);
stop(); stop();
var $foo = $("#nothiddendiv"); var $foo = jQuery("#nothiddendiv");
var w = 0; var w = 0;
$foo.hide().width(200).width(); $foo.hide().width(200).width();
...@@ -103,7 +103,7 @@ test("stop(clearQueue)", function() { ...@@ -103,7 +103,7 @@ test("stop(clearQueue)", function() {
expect(4); expect(4);
stop(); stop();
var $foo = $("#nothiddendiv"); var $foo = jQuery("#nothiddendiv");
var w = 0; var w = 0;
$foo.hide().width(200).width(); $foo.hide().width(200).width();
...@@ -130,7 +130,7 @@ test("stop(clearQueue, gotoEnd)", function() { ...@@ -130,7 +130,7 @@ test("stop(clearQueue, gotoEnd)", function() {
expect(3); expect(3);
stop(); stop();
var $foo = $("#nothiddendiv"); var $foo = jQuery("#nothiddendiv");
var w = 0; var w = 0;
$foo.hide().width(200).width(); $foo.hide().width(200).width();
...@@ -156,7 +156,7 @@ test("stop(clearQueue, gotoEnd)", function() { ...@@ -156,7 +156,7 @@ test("stop(clearQueue, gotoEnd)", function() {
test("toggle()", function() { test("toggle()", function() {
expect(3); expect(3);
var x = $("#foo"); var x = jQuery("#foo");
ok( x.is(":visible"), "is visible" ); ok( x.is(":visible"), "is visible" );
x.toggle(); x.toggle();
ok( x.is(":hidden"), "is hidden" ); ok( x.is(":hidden"), "is hidden" );
...@@ -167,68 +167,68 @@ test("toggle()", function() { ...@@ -167,68 +167,68 @@ test("toggle()", function() {
var visible = { var visible = {
Normal: function(elem){}, Normal: function(elem){},
"CSS Hidden": function(elem){ "CSS Hidden": function(elem){
$(this).addClass("hidden"); jQuery(this).addClass("hidden");
}, },
"JS Hidden": function(elem){ "JS Hidden": function(elem){
$(this).hide(); jQuery(this).hide();
} }
}; };
var from = { var from = {
"CSS Auto": function(elem,prop){ "CSS Auto": function(elem,prop){
$(elem).addClass("auto" + prop) jQuery(elem).addClass("auto" + prop)
.text("This is a long string of text."); .text("This is a long string of text.");
return ""; return "";
}, },
"JS Auto": function(elem,prop){ "JS Auto": function(elem,prop){
$(elem).css(prop,"auto") jQuery(elem).css(prop,"auto")
.text("This is a long string of text."); .text("This is a long string of text.");
return ""; return "";
}, },
"CSS 100": function(elem,prop){ "CSS 100": function(elem,prop){
$(elem).addClass("large" + prop); jQuery(elem).addClass("large" + prop);
return ""; return "";
}, },
"JS 100": function(elem,prop){ "JS 100": function(elem,prop){
$(elem).css(prop,prop == "opacity" ? 1 : "100px"); jQuery(elem).css(prop,prop == "opacity" ? 1 : "100px");
return prop == "opacity" ? 1 : 100; return prop == "opacity" ? 1 : 100;
}, },
"CSS 50": function(elem,prop){ "CSS 50": function(elem,prop){
$(elem).addClass("med" + prop); jQuery(elem).addClass("med" + prop);
return ""; return "";
}, },
"JS 50": function(elem,prop){ "JS 50": function(elem,prop){
$(elem).css(prop,prop == "opacity" ? 0.50 : "50px"); jQuery(elem).css(prop,prop == "opacity" ? 0.50 : "50px");
return prop == "opacity" ? 0.5 : 50; return prop == "opacity" ? 0.5 : 50;
}, },
"CSS 0": function(elem,prop){ "CSS 0": function(elem,prop){
$(elem).addClass("no" + prop); jQuery(elem).addClass("no" + prop);
return ""; return "";
}, },
"JS 0": function(elem,prop){ "JS 0": function(elem,prop){
$(elem).css(prop,prop == "opacity" ? 0 : "0px"); jQuery(elem).css(prop,prop == "opacity" ? 0 : "0px");
return 0; return 0;
} }
}; };
var to = { var to = {
"show": function(elem,prop){ "show": function(elem,prop){
$(elem).hide().addClass("wide"+prop); jQuery(elem).hide().addClass("wide"+prop);
return "show"; return "show";
}, },
"hide": function(elem,prop){ "hide": function(elem,prop){
$(elem).addClass("wide"+prop); jQuery(elem).addClass("wide"+prop);
return "hide"; return "hide";
}, },
"100": function(elem,prop){ "100": function(elem,prop){
$(elem).addClass("wide"+prop); jQuery(elem).addClass("wide"+prop);
return prop == "opacity" ? 1 : 100; return prop == "opacity" ? 1 : 100;
}, },
"50": function(elem,prop){ "50": function(elem,prop){
return prop == "opacity" ? 0.50 : 50; return prop == "opacity" ? 0.50 : 50;
}, },
"0": function(elem,prop){ "0": function(elem,prop){
$(elem).addClass("noback"); jQuery(elem).addClass("noback");
return 0; return 0;
} }
}; };
...@@ -339,7 +339,7 @@ jQuery.each( from, function(fn, f){ ...@@ -339,7 +339,7 @@ jQuery.each( from, function(fn, f){
if ( t_h == "show" ) { if ( t_h == "show" ) {
var old_h = jQuery.curCSS(this, "height"); var old_h = jQuery.curCSS(this, "height");
$(elem).append("<br/>Some more text<br/>and some more..."); jQuery(elem).append("<br/>Some more text<br/>and some more...");
ok(old_h != jQuery.css(this, "height" ), "Make sure height is auto."); ok(old_h != jQuery.css(this, "height" ), "Make sure height is auto.");
} }
...@@ -374,50 +374,50 @@ function checkState(){ ...@@ -374,50 +374,50 @@ function checkState(){
// Chaining Tests // Chaining Tests
test("Chain fadeOut fadeIn", function() { test("Chain fadeOut fadeIn", function() {
$('#fadein div').saveState().fadeOut('fast').fadeIn('fast',checkState); jQuery('#fadein div').saveState().fadeOut('fast').fadeIn('fast',checkState);
}); });
test("Chain fadeIn fadeOut", function() { test("Chain fadeIn fadeOut", function() {
$('#fadeout div').saveState().fadeIn('fast').fadeOut('fast',checkState); jQuery('#fadeout div').saveState().fadeIn('fast').fadeOut('fast',checkState);
}); });
test("Chain hide show", function() { test("Chain hide show", function() {
$('#show div').saveState().hide('fast').show('fast',checkState); jQuery('#show div').saveState().hide('fast').show('fast',checkState);
}); });
test("Chain show hide", function() { test("Chain show hide", function() {
$('#hide div').saveState().show('fast').hide('fast',checkState); jQuery('#hide div').saveState().show('fast').hide('fast',checkState);
}); });
test("Chain toggle in", function() { test("Chain toggle in", function() {
$('#togglein div').saveState().toggle('fast').toggle('fast',checkState); jQuery('#togglein div').saveState().toggle('fast').toggle('fast',checkState);
}); });
test("Chain toggle out", function() { test("Chain toggle out", function() {
$('#toggleout div').saveState().toggle('fast').toggle('fast',checkState); jQuery('#toggleout div').saveState().toggle('fast').toggle('fast',checkState);
}); });
test("Chain slideDown slideUp", function() { test("Chain slideDown slideUp", function() {
$('#slidedown div').saveState().slideDown('fast').slideUp('fast',checkState); jQuery('#slidedown div').saveState().slideDown('fast').slideUp('fast',checkState);
}); });
test("Chain slideUp slideDown", function() { test("Chain slideUp slideDown", function() {
$('#slideup div').saveState().slideUp('fast').slideDown('fast',checkState); jQuery('#slideup div').saveState().slideUp('fast').slideDown('fast',checkState);
}); });
test("Chain slideToggle in", function() { test("Chain slideToggle in", function() {
$('#slidetogglein div').saveState().slideToggle('fast').slideToggle('fast',checkState); jQuery('#slidetogglein div').saveState().slideToggle('fast').slideToggle('fast',checkState);
}); });
test("Chain slideToggle out", function() { test("Chain slideToggle out", function() {
$('#slidetoggleout div').saveState().slideToggle('fast').slideToggle('fast',checkState); jQuery('#slidetoggleout div').saveState().slideToggle('fast').slideToggle('fast',checkState);
}); });
function makeTest( text ){ function makeTest( text ){
var elem = $("<div></div>") var elem = jQuery("<div></div>")
.attr("id", "test" + makeTest.id++) .attr("id", "test" + makeTest.id++)
.addClass("box"); .addClass("box");
$("<h4></h4>") jQuery("<h4></h4>")
.text( text ) .text( text )
.appendTo("#fx-tests") .appendTo("#fx-tests")
.click(function(){ .click(function(){
$(this).next().toggle(); jQuery(this).next().toggle();
}) })
.after( elem ); .after( elem );
......
This diff is collapsed.
...@@ -2,8 +2,8 @@ module("selector"); ...@@ -2,8 +2,8 @@ module("selector");
test("element", function() { test("element", function() {
expect(9); expect(9);
ok( $("*").size() >= 30, "Select all" ); ok( jQuery("*").size() >= 30, "Select all" );
var all = $("*"), good = true; var all = jQuery("*"), good = true;
for ( var i = 0; i < all.length; i++ ) for ( var i = 0; i < all.length; i++ )
if ( all[i].nodeType == 8 ) if ( all[i].nodeType == 8 )
good = false; good = false;
...@@ -12,18 +12,18 @@ test("element", function() { ...@@ -12,18 +12,18 @@ test("element", function() {
t( "Element Selector", "body", ["body"] ); t( "Element Selector", "body", ["body"] );
t( "Element Selector", "html", ["html"] ); t( "Element Selector", "html", ["html"] );
t( "Parent Element", "div p", ["firstp","ap","sndp","en","sap","first"] ); t( "Parent Element", "div p", ["firstp","ap","sndp","en","sap","first"] );
equals( $("param", "#object1").length, 2, "Object/param as context" ); equals( jQuery("param", "#object1").length, 2, "Object/param as context" );
ok( $("#length").length, '&lt;input name="length"&gt; cannot be found under IE, see #945' ); ok( jQuery("#length").length, '&lt;input name="length"&gt; cannot be found under IE, see #945' );
ok( $("#lengthtest input").length, '&lt;input name="length"&gt; cannot be found under IE, see #945' ); ok( jQuery("#lengthtest input").length, '&lt;input name="length"&gt; cannot be found under IE, see #945' );
}); });
if ( location.protocol != "file:" ) { if ( location.protocol != "file:" ) {
test("Element Selector with underscore", function() { test("Element Selector with underscore", function() {
expect(1); expect(1);
stop(); stop();
$.get("data/with_fries.xml", function(xml) { jQuery.get("data/with_fries.xml", function(xml) {
equals( $("foo_bar", xml).length, 1, "Element Selector with underscore" ); equals( jQuery("foo_bar", xml).length, 1, "Element Selector with underscore" );
start(); start();
}); });
}); });
...@@ -66,14 +66,14 @@ test("id", function() { ...@@ -66,14 +66,14 @@ test("id", function() {
t( "All Children of ID", "#foo > *", ["sndp", "en", "sap"] ); t( "All Children of ID", "#foo > *", ["sndp", "en", "sap"] );
t( "All Children of ID with no children", "#firstUL/*", [] ); t( "All Children of ID with no children", "#firstUL/*", [] );
$('<a name="tName1">tName1 A</a><a name="tName2">tName2 A</a><div id="tName1">tName1 Div</div>').appendTo('#main'); jQuery('<a name="tName1">tName1 A</a><a name="tName2">tName2 A</a><div id="tName1">tName1 Div</div>').appendTo('#main');
equals( $("#tName1")[0].id, 'tName1', "ID selector with same value for a name attribute" ); equals( jQuery("#tName1")[0].id, 'tName1', "ID selector with same value for a name attribute" );
equals( $("#tName2").length, 0, "ID selector non-existing but name attribute on an A tag" ); equals( jQuery("#tName2").length, 0, "ID selector non-existing but name attribute on an A tag" );
t( "ID Selector on Form with an input that has a name of 'id'", "#lengthtest", ["lengthtest"] ); t( "ID Selector on Form with an input that has a name of 'id'", "#lengthtest", ["lengthtest"] );
t( "ID selector with non-existant ancestor", "#asdfasdf #foobar", [] ); // bug #986 t( "ID selector with non-existant ancestor", "#asdfasdf #foobar", [] ); // bug #986
isSet( $("body").find("div#form"), [], "ID selector within the context of another element" ); isSet( jQuery("body").find("div#form"), [], "ID selector within the context of another element" );
}); });
test("class", function() { test("class", function() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment