diff options
author | Ariel Flesler <aflesler@gmail.com> | 2009-01-09 23:49:18 +0000 |
---|---|---|
committer | Ariel Flesler <aflesler@gmail.com> | 2009-01-09 23:49:18 +0000 |
commit | d62875fb0181c44f8b34a8e842ae323801637b25 (patch) | |
tree | be2496251094f01c6103cc9bf21af95808cd2383 /test | |
parent | ec7baf230d3c246dadf00c94115e6668425b9354 (diff) | |
download | jquery-d62875fb0181c44f8b34a8e842ae323801637b25.tar.gz jquery-d62875fb0181c44f8b34a8e842ae323801637b25.zip |
testrunner: Removing every global variable leaked within (and outside) tests. Some were deleted and some saved within the jQuery namespace.
Diffstat (limited to 'test')
-rw-r--r-- | test/data/test.html | 2 | ||||
-rw-r--r-- | test/data/test.js | 2 | ||||
-rw-r--r-- | test/data/test.php | 2 | ||||
-rw-r--r-- | test/data/test2.html | 2 | ||||
-rw-r--r-- | test/unit/ajax.js | 40 | ||||
-rw-r--r-- | test/unit/core.js | 23 | ||||
-rw-r--r-- | test/unit/fx.js | 162 |
7 files changed, 108 insertions, 125 deletions
diff --git a/test/data/test.html b/test/data/test.html index eec028e90..b7c74c888 100644 --- a/test/data/test.html +++ b/test/data/test.html @@ -1,6 +1,6 @@ html text<br/> <script type="text/javascript">/* <![CDATA[ */ -testFoo = "foo"; jQuery('#foo').html('foo'); +jQuery.testFoo = "foo"; jQuery('#foo').html('foo'); ok( true, "test.html executed" ); /* ]]> */</script> <script src="data/test.js"></script> diff --git a/test/data/test.js b/test/data/test.js index a41cb232b..98e76de36 100644 --- a/test/data/test.js +++ b/test/data/test.js @@ -1,3 +1,3 @@ -var foobar = "bar";
+jQuery.foobar = "bar";
jQuery('#ap').html('bar');
ok( true, "test.js executed");
diff --git a/test/data/test.php b/test/data/test.php index 3d08f3253..bb392f151 100644 --- a/test/data/test.php +++ b/test/data/test.php @@ -1,6 +1,6 @@ html text<br/> <script type="text/javascript">/* <![CDATA[ */ -testFoo = "foo"; jQuery('#foo').html('foo'); +jQuery.testFoo = "foo"; jQuery('#foo').html('foo'); ok( true, "test.php executed" ); /* ]]> */</script> <script src="data/test.js?<?php srand(); echo time() . '' . rand(); ?>"></script> diff --git a/test/data/test2.html b/test/data/test2.html index 1df6151a0..363c6de03 100644 --- a/test/data/test2.html +++ b/test/data/test2.html @@ -1,5 +1,5 @@ <script type="text/javascript"> -var testFoo = "foo"; +jQuery.testFoo = "foo"; jQuery('#foo').html('foo'); ok( true, "test2.html executed" ); </script> diff --git a/test/unit/ajax.js b/test/unit/ajax.js index 09074f309..357c5366f 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -157,18 +157,16 @@ test("jQuery.ajax - beforeSend, cancel request (#2688)", function() { ok( request === false, "canceled request must return false instead of XMLHttpRequest instance" ); }); -var foobar; - test("jQuery.ajax - dataType html", function() { expect(5); stop(); - foobar = null; - testFoo = undefined; + jQuery.foobar = null; + jQuery.testFoo = undefined; var verifyEvaluation = function() { - equals( testFoo, "foo", 'Check if script was evaluated for datatype html' ); - equals( foobar, "bar", 'Check if script src was evaluated for datatype html' ); + equals( jQuery.testFoo, "foo", 'Check if script was evaluated for datatype html' ); + equals( jQuery.foobar, "bar", 'Check if script src was evaluated for datatype html' ); start(); }; @@ -359,17 +357,17 @@ test("load(String, Function) - simple: inject text into DOM", function() { test("load(String, Function) - check scripts", function() { expect(7); stop(); - window.testFoo = undefined; - window.foobar = null; + jQuery.testFoo = undefined; + jQuery.foobar = null; var verifyEvaluation = function() { - equals( foobar, "bar", 'Check if script src was evaluated after load' ); + equals( jQuery.foobar, "bar", 'Check if script src was evaluated after load' ); equals( jQuery('#ap').html(), 'bar', 'Check if script evaluation has modified DOM'); - start(); + start(); }; jQuery('#first').load(url('data/test.html'), function() { ok( jQuery('#first').html().match(/^html text/), 'Check content after loading html' ); equals( jQuery('#foo').html(), 'foo', 'Check if script evaluation has modified DOM'); - equals( testFoo, "foo", 'Check if script was evaluated after load' ); + equals( jQuery.testFoo, "foo", 'Check if script was evaluated after load' ); setTimeout(verifyEvaluation, 600); }); }); @@ -377,10 +375,10 @@ test("load(String, Function) - check scripts", function() { test("load(String, Function) - check file with only a script tag", function() { expect(3); stop(); - testFoo = undefined; + jQuery.testFoo = undefined; jQuery('#first').load(url('data/test2.html'), function() { equals( jQuery('#foo').html(), 'foo', 'Check if script evaluation has modified DOM'); - equals( testFoo, "foo", 'Check if script was evaluated after load' ); + equals( jQuery.testFoo, "foo", 'Check if script was evaluated after load' ); start(); }); }); @@ -426,9 +424,9 @@ test("jQuery.get(String, Hash, Function) - parse xml and use text() on nodes", f test("jQuery.getScript(String, Function) - with callback", function() { expect(2); stop(); - window.foobar = null; + jQuery.foobar = null; jQuery.getScript(url("data/test.js"), function() { - equals( foobar, "bar", 'Check if script was evaluated' ); + equals( jQuery.foobar, "bar", 'Check if script was evaluated' ); setTimeout(start, 100); }); }); @@ -618,12 +616,12 @@ test("jQuery.ajax() - script, Remote", function() { stop(); - window.foobar = null; + jQuery.foobar = null; jQuery.ajax({ url: base + "data/test.js", dataType: "script", success: function(data){ - ok( foobar, "Script results returned (GET, no callback)" ); + ok( jQuery.foobar, "Script results returned (GET, no callback)" ); start(); } }); @@ -636,13 +634,13 @@ test("jQuery.ajax() - script, Remote with POST", function() { stop(); - window.foobar = null; + jQuery.foobar = null; jQuery.ajax({ url: base + "data/test.js", type: "POST", dataType: "script", success: function(data, status){ - ok( foobar, "Script results returned (GET, no callback)" ); + ok( jQuery.foobar, "Script results returned (GET, no callback)" ); equals( status, "success", "Script results returned (GET, no callback)" ); start(); } @@ -657,12 +655,12 @@ test("jQuery.ajax() - script, Remote with scheme-less URL", function() { stop(); - window.foobar = null; + jQuery.foobar = null; jQuery.ajax({ url: base + "data/test.js", dataType: "script", success: function(data){ - ok( foobar, "Script results returned (GET, no callback)" ); + ok( jQuery.foobar, "Script results returned (GET, no callback)" ); start(); } }); diff --git a/test/unit/core.js b/test/unit/core.js index 98a161fa8..ef36c4f78 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -146,7 +146,7 @@ test("browser", function() { }; for (var i in browsers) { var v = i.toLowerCase().match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ); // RegEx from Core jQuery.browser.version check - version = v ? v[1] : null; + var version = v ? v[1] : null; equals( version, browsers[i], "Checking UA string" ); } }); @@ -256,18 +256,16 @@ test("isFunction", function() { }); }); -var foo = false; - test("jQuery('html')", function() { expect(8); reset(); - foo = false; - var s = jQuery("<script>foo='test';</script>")[0]; + jQuery.foo = false; + var s = jQuery("<script>jQuery.foo='test';</script>")[0]; ok( s, "Creating a script" ); - ok( !foo, "Make sure the script wasn't executed prematurely" ); - jQuery("body").append("<script>foo='test';</script>"); - ok( foo, "Executing a scripts contents in the right context" ); + ok( !jQuery.foo, "Make sure the script wasn't executed prematurely" ); + jQuery("body").append("<script>jQuery.foo='test';</script>"); + ok( jQuery.foo, "Executing a scripts contents in the right context" ); reset(); ok( jQuery("<link rel='stylesheet'/>")[0], "Creating a link" ); @@ -460,7 +458,7 @@ test("attr(Hash)", function() { test("attr(String, Object)", function() { expect(19); - var div = jQuery("div").attr("foo", "bar"); + var div = jQuery("div").attr("foo", "bar"), fail = false; for ( var i = 0; i < div.size(); i++ ) { if ( div.get(i).getAttribute('foo') != "bar" ){ @@ -1350,10 +1348,11 @@ test("val(String/Number)", function() { j.removeAttr("value"); }); -var scriptorder = 0; - test("html(String)", function() { expect(13); + + jQuery.scriptorder = 0; + var div = jQuery("#main > div"); div.html("<b>test</b>"); var pass = true; @@ -1386,7 +1385,7 @@ test("html(String)", function() { jQuery("#main").html('foo <form><script type="text/javascript">ok( true, "jQuery().html().evalScripts() Evals Scripts Twice in Firefox, see #975" );</script></form>'); // it was decided that waiting to execute ALL scripts makes sense since nested ones have to wait anyway so this test case is changed, see #1959 - jQuery("#main").html("<script>equals(scriptorder++, 0, 'Script is executed in order');equals(jQuery('#scriptorder').length, 1,'Execute after html (even though appears before)')<\/script><span id='scriptorder'><script>equals(scriptorder++, 1, 'Script (nested) is executed in order');equals(jQuery('#scriptorder').length, 1,'Execute after html')<\/script></span><script>equals(scriptorder++, 2, 'Script (unnested) is executed in order');equals(jQuery('#scriptorder').length, 1,'Execute after html')<\/script>"); + jQuery("#main").html("<script>equals(jQuery.scriptorder++, 0, 'Script is executed in order');equals(jQuery('#scriptorder').length, 1,'Execute after html (even though appears before)')<\/script><span id='scriptorder'><script>equals(jQuery.scriptorder++, 1, 'Script (nested) is executed in order');equals(jQuery('#scriptorder').length, 1,'Execute after html')<\/script></span><script>equals(jQuery.scriptorder++, 2, 'Script (unnested) is executed in order');equals(jQuery('#scriptorder').length, 1,'Execute after html')<\/script>"); setTimeout( start, 100 ); }); diff --git a/test/unit/fx.js b/test/unit/fx.js index 28fb92d2f..d53f77a60 100644 --- a/test/unit/fx.js +++ b/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" ); + + 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); +}); -var from = { +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; |