testrunner: Removing every global variable leaked within (and outside) tests. Some were deleted and some saved within the jQuery namespace.
This commit is contained in:
parent
ec7baf230d
commit
d62875fb01
7 changed files with 108 additions and 125 deletions
162
test/unit/fx.js
162
test/unit/fx.js
|
@ -166,17 +166,41 @@ test("toggle()", function() {
|
|||
ok( x.is(":visible"), "is visible again" );
|
||||
});
|
||||
|
||||
var visible = {
|
||||
Normal: function(elem){},
|
||||
"CSS Hidden": function(elem){
|
||||
jQuery(this).addClass("hidden");
|
||||
},
|
||||
"JS Hidden": function(elem){
|
||||
jQuery(this).hide();
|
||||
}
|
||||
};
|
||||
jQuery.checkOverflowDisplay = function(){
|
||||
var o = jQuery.css( this, "overflow" );
|
||||
|
||||
var from = {
|
||||
equals(o, "visible", "Overflow should be visible: " + o);
|
||||
equals(jQuery.css( this, "display" ), "inline", "Display shouldn't be tampered with.");
|
||||
|
||||
start();
|
||||
}
|
||||
|
||||
test("JS Overflow and Display", function() {
|
||||
expect(2);
|
||||
stop();
|
||||
jQuery.makeTest( "JS Overflow and Display" )
|
||||
.addClass("widewidth")
|
||||
.css({ overflow: "visible", display: "inline" })
|
||||
.addClass("widewidth")
|
||||
.text("Some sample text.")
|
||||
.before("text before")
|
||||
.after("text after")
|
||||
.animate({ opacity: 0.5 }, "slow", jQuery.checkOverflowDisplay);
|
||||
});
|
||||
|
||||
test("CSS Overflow and Display", function() {
|
||||
expect(2);
|
||||
stop();
|
||||
jQuery.makeTest( "CSS Overflow and Display" )
|
||||
.addClass("overflow inline")
|
||||
.addClass("widewidth")
|
||||
.text("Some sample text.")
|
||||
.before("text before")
|
||||
.after("text after")
|
||||
.animate({ opacity: 0.5 }, "slow", jQuery.checkOverflowDisplay);
|
||||
});
|
||||
|
||||
jQuery.each( {
|
||||
"CSS Auto": function(elem,prop){
|
||||
jQuery(elem).addClass("auto" + prop)
|
||||
.text("This is a long string of text.");
|
||||
|
@ -211,68 +235,30 @@ var from = {
|
|||
jQuery(elem).css(prop,prop == "opacity" ? 0 : "0px");
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
var to = {
|
||||
"show": function(elem,prop){
|
||||
jQuery(elem).hide().addClass("wide"+prop);
|
||||
return "show";
|
||||
},
|
||||
"hide": function(elem,prop){
|
||||
jQuery(elem).addClass("wide"+prop);
|
||||
return "hide";
|
||||
},
|
||||
"100": function(elem,prop){
|
||||
jQuery(elem).addClass("wide"+prop);
|
||||
return prop == "opacity" ? 1 : 100;
|
||||
},
|
||||
"50": function(elem,prop){
|
||||
return prop == "opacity" ? 0.50 : 50;
|
||||
},
|
||||
"0": function(elem,prop){
|
||||
jQuery(elem).addClass("noback");
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
function checkOverflowDisplay(){
|
||||
var o = jQuery.css( this, "overflow" );
|
||||
|
||||
equals(o, "visible", "Overflow should be visible: " + o);
|
||||
equals(jQuery.css( this, "display" ), "inline", "Display shouldn't be tampered with.");
|
||||
|
||||
start();
|
||||
}
|
||||
|
||||
test("JS Overflow and Display", function() {
|
||||
expect(2);
|
||||
stop();
|
||||
makeTest( "JS Overflow and Display" )
|
||||
.addClass("widewidth")
|
||||
.css({ overflow: "visible", display: "inline" })
|
||||
.addClass("widewidth")
|
||||
.text("Some sample text.")
|
||||
.before("text before")
|
||||
.after("text after")
|
||||
.animate({ opacity: 0.5 }, "slow", checkOverflowDisplay);
|
||||
});
|
||||
|
||||
test("CSS Overflow and Display", function() {
|
||||
expect(2);
|
||||
stop();
|
||||
makeTest( "CSS Overflow and Display" )
|
||||
.addClass("overflow inline")
|
||||
.addClass("widewidth")
|
||||
.text("Some sample text.")
|
||||
.before("text before")
|
||||
.after("text after")
|
||||
.animate({ opacity: 0.5 }, "slow", checkOverflowDisplay);
|
||||
});
|
||||
|
||||
jQuery.each( from, function(fn, f){
|
||||
jQuery.each( to, function(tn, t){
|
||||
}, function(fn, f){
|
||||
jQuery.each( {
|
||||
"show": function(elem,prop){
|
||||
jQuery(elem).hide().addClass("wide"+prop);
|
||||
return "show";
|
||||
},
|
||||
"hide": function(elem,prop){
|
||||
jQuery(elem).addClass("wide"+prop);
|
||||
return "hide";
|
||||
},
|
||||
"100": function(elem,prop){
|
||||
jQuery(elem).addClass("wide"+prop);
|
||||
return prop == "opacity" ? 1 : 100;
|
||||
},
|
||||
"50": function(elem,prop){
|
||||
return prop == "opacity" ? 0.50 : 50;
|
||||
},
|
||||
"0": function(elem,prop){
|
||||
jQuery(elem).addClass("noback");
|
||||
return 0;
|
||||
}
|
||||
}, function(tn, t){
|
||||
test(fn + " to " + tn, function() {
|
||||
var elem = makeTest( fn + " to " + tn );
|
||||
var elem = jQuery.makeTest( fn + " to " + tn );
|
||||
|
||||
var t_w = t( elem, "width" );
|
||||
var f_w = f( elem, "width" );
|
||||
|
@ -351,21 +337,21 @@ jQuery.each( from, function(fn, f){
|
|||
});
|
||||
});
|
||||
|
||||
var check = ['opacity','height','width','display','overflow'];
|
||||
jQuery.check = ['opacity','height','width','display','overflow'];
|
||||
|
||||
jQuery.fn.saveState = function(){
|
||||
expect(check.length);
|
||||
expect(jQuery.check.length);
|
||||
stop();
|
||||
return this.each(function(){
|
||||
var self = this;
|
||||
self.save = {};
|
||||
jQuery.each(check, function(i,c){
|
||||
jQuery.each(jQuery.check, function(i,c){
|
||||
self.save[c] = jQuery.css(self,c);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
function checkState(){
|
||||
jQuery.checkState = function(){
|
||||
var self = this;
|
||||
jQuery.each(this.save, function(c,v){
|
||||
var cur = jQuery.css(self,c);
|
||||
|
@ -376,43 +362,43 @@ function checkState(){
|
|||
|
||||
// Chaining Tests
|
||||
test("Chain fadeOut fadeIn", function() {
|
||||
jQuery('#fadein div').saveState().fadeOut('fast').fadeIn('fast',checkState);
|
||||
jQuery('#fadein div').saveState().fadeOut('fast').fadeIn('fast',jQuery.checkState);
|
||||
});
|
||||
test("Chain fadeIn fadeOut", function() {
|
||||
jQuery('#fadeout div').saveState().fadeIn('fast').fadeOut('fast',checkState);
|
||||
jQuery('#fadeout div').saveState().fadeIn('fast').fadeOut('fast',jQuery.checkState);
|
||||
});
|
||||
|
||||
test("Chain hide show", function() {
|
||||
jQuery('#show div').saveState().hide('fast').show('fast',checkState);
|
||||
jQuery('#show div').saveState().hide('fast').show('fast',jQuery.checkState);
|
||||
});
|
||||
test("Chain show hide", function() {
|
||||
jQuery('#hide div').saveState().show('fast').hide('fast',checkState);
|
||||
jQuery('#hide div').saveState().show('fast').hide('fast',jQuery.checkState);
|
||||
});
|
||||
|
||||
test("Chain toggle in", function() {
|
||||
jQuery('#togglein div').saveState().toggle('fast').toggle('fast',checkState);
|
||||
jQuery('#togglein div').saveState().toggle('fast').toggle('fast',jQuery.checkState);
|
||||
});
|
||||
test("Chain toggle out", function() {
|
||||
jQuery('#toggleout div').saveState().toggle('fast').toggle('fast',checkState);
|
||||
jQuery('#toggleout div').saveState().toggle('fast').toggle('fast',jQuery.checkState);
|
||||
});
|
||||
|
||||
test("Chain slideDown slideUp", function() {
|
||||
jQuery('#slidedown div').saveState().slideDown('fast').slideUp('fast',checkState);
|
||||
jQuery('#slidedown div').saveState().slideDown('fast').slideUp('fast',jQuery.checkState);
|
||||
});
|
||||
test("Chain slideUp slideDown", function() {
|
||||
jQuery('#slideup div').saveState().slideUp('fast').slideDown('fast',checkState);
|
||||
jQuery('#slideup div').saveState().slideUp('fast').slideDown('fast',jQuery.checkState);
|
||||
});
|
||||
|
||||
test("Chain slideToggle in", function() {
|
||||
jQuery('#slidetogglein div').saveState().slideToggle('fast').slideToggle('fast',checkState);
|
||||
jQuery('#slidetogglein div').saveState().slideToggle('fast').slideToggle('fast',jQuery.checkState);
|
||||
});
|
||||
test("Chain slideToggle out", function() {
|
||||
jQuery('#slidetoggleout div').saveState().slideToggle('fast').slideToggle('fast',checkState);
|
||||
jQuery('#slidetoggleout div').saveState().slideToggle('fast').slideToggle('fast',jQuery.checkState);
|
||||
});
|
||||
|
||||
function makeTest( text ){
|
||||
jQuery.makeTest = function( text ){
|
||||
var elem = jQuery("<div></div>")
|
||||
.attr("id", "test" + makeTest.id++)
|
||||
.attr("id", "test" + jQuery.makeTest.id++)
|
||||
.addClass("box");
|
||||
|
||||
jQuery("<h4></h4>")
|
||||
|
@ -426,4 +412,4 @@ function makeTest( text ){
|
|||
return elem;
|
||||
}
|
||||
|
||||
makeTest.id = 1;
|
||||
jQuery.makeTest.id = 1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue