Skip to content

Commit

Permalink
testrunner: Removing every global variable leaked within (and outside…
Browse files Browse the repository at this point in the history
…) tests. Some were deleted and some saved within the jQuery namespace.
  • Loading branch information
flesler committed Jan 9, 2009
1 parent ec7baf2 commit d62875f
Show file tree
Hide file tree
Showing 7 changed files with 108 additions and 125 deletions.
2 changes: 1 addition & 1 deletion 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>
Expand Down
2 changes: 1 addition & 1 deletion test/data/test.js
@@ -1,3 +1,3 @@
var foobar = "bar";
jQuery.foobar = "bar";
jQuery('#ap').html('bar');
ok( true, "test.js executed");
2 changes: 1 addition & 1 deletion 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>
Expand Down
2 changes: 1 addition & 1 deletion 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>
40 changes: 19 additions & 21 deletions test/unit/ajax.js
Expand Up @@ -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();
};

Expand Down Expand Up @@ -359,28 +357,28 @@ 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);
});
});

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();
});
});
Expand Down Expand Up @@ -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);
});
});
Expand Down Expand Up @@ -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();
}
});
Expand All @@ -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();
}
Expand All @@ -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();
}
});
Expand Down
23 changes: 11 additions & 12 deletions test/unit/core.js
Expand Up @@ -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" );
}
});
Expand Down Expand Up @@ -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" );
Expand Down Expand Up @@ -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" ){
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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 );
});
Expand Down

0 comments on commit d62875f

Please sign in to comment.