From 3b221da8b03265543f335f6160b945bfe55f8d9e Mon Sep 17 00:00:00 2001 From: jeresig Date: Wed, 24 Mar 2010 15:18:11 -0400 Subject: [PATCH 1/5] Adjust isPlainObject test to run in an iframe. --- test/unit/core.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/core.js b/test/unit/core.js index eccf544b..590bb0c8 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -271,7 +271,7 @@ test("isPlainObject", function() { var doc = iframe.contentDocument || iframe.contentWindow.document; doc.open(); - doc.write(""); + doc.write(""); doc.close(); }); From 1ba2df02d6242d734297344a85b7bea3788a0671 Mon Sep 17 00:00:00 2001 From: jeresig Date: Wed, 24 Mar 2010 15:39:58 -0400 Subject: [PATCH 2/5] Use custom events for testing unbind instead of the, potentially conflicting, error event. --- test/unit/event.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/test/unit/event.js b/test/unit/event.js index 3d401ba7..9e1ac892 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -443,28 +443,28 @@ test("unbind(type)", function() { } message = "unbind passing function"; - $elem.bind('error', error).unbind('error',error).triggerHandler('error'); + $elem.bind('error1', error).unbind('error1',error).triggerHandler('error1'); message = "unbind all from event"; - $elem.bind('error', error).unbind('error').triggerHandler('error'); + $elem.bind('error1', error).unbind('error1').triggerHandler('error1'); message = "unbind all"; - $elem.bind('error', error).unbind().triggerHandler('error'); + $elem.bind('error1', error).unbind().triggerHandler('error1'); message = "unbind many with function"; - $elem.bind('error error2',error) - .unbind('error error2', error ) - .trigger('error').triggerHandler('error2'); + $elem.bind('error1 error2',error) + .unbind('error1 error2', error ) + .trigger('error1').triggerHandler('error2'); message = "unbind many"; // #3538 - $elem.bind('error error2',error) - .unbind('error error2') - .trigger('error').triggerHandler('error2'); + $elem.bind('error1 error2',error) + .unbind('error1 error2') + .trigger('error1').triggerHandler('error2'); message = "unbind without a type or handler"; - $elem.bind("error error2.test",error) + $elem.bind("error1 error2.test",error) .unbind() - .trigger("error").triggerHandler("error2"); + .trigger("error1").triggerHandler("error2"); }); test("unbind(eventObject)", function() { From 59124f92b52f24f2547afaecc55afe10e2955cb6 Mon Sep 17 00:00:00 2001 From: jeresig Date: Wed, 24 Mar 2010 16:04:10 -0400 Subject: [PATCH 3/5] Temporarily disable ajax tests when running in TestSwam. --- test/data/testrunner.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/data/testrunner.js b/test/data/testrunner.js index a0eb3621..cdc3bcb6 100644 --- a/test/data/testrunner.js +++ b/test/data/testrunner.js @@ -7,5 +7,9 @@ jQuery.noConflict(); // Allow the test to run with other libs or jQuery's. if ( !url || url.indexOf("http") !== 0 ) { return; } + + // (Temporarily) Disable Ajax tests to reduce network strain + QUnit.isLocal = true; + document.write(""); })(); From 298c81a8440169f3cbcacb9655ac3fef0a3e6d76 Mon Sep 17 00:00:00 2001 From: jeresig Date: Wed, 24 Mar 2010 16:16:13 -0400 Subject: [PATCH 4/5] Need to expose the isLocal change globally as well. --- test/data/testrunner.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/data/testrunner.js b/test/data/testrunner.js index cdc3bcb6..dc39bc5b 100644 --- a/test/data/testrunner.js +++ b/test/data/testrunner.js @@ -9,7 +9,7 @@ jQuery.noConflict(); // Allow the test to run with other libs or jQuery's. } // (Temporarily) Disable Ajax tests to reduce network strain - QUnit.isLocal = true; + isLocal = QUnit.isLocal = true; document.write(""); })(); From dab1d7467789c7092366f8231dceee0dc20d2553 Mon Sep 17 00:00:00 2001 From: jeresig Date: Thu, 25 Mar 2010 17:30:13 -0400 Subject: [PATCH 5/5] Mobile WebKit browsers don't support accessing the scroll position of the document/window. --- test/unit/offset.js | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/test/unit/offset.js b/test/unit/offset.js index 0f5c964e..284562e1 100644 --- a/test/unit/offset.js +++ b/test/unit/offset.js @@ -1,5 +1,7 @@ module("offset"); +var supportsScroll = false; + testoffset("absolute"/* in iframe */, function($, iframe) { expect(4); @@ -10,6 +12,12 @@ testoffset("absolute"/* in iframe */, function($, iframe) { // if the offset method is using the scroll offset // of the parent window var forceScroll = jQuery('
', { width: 2000, height: 2000 }).appendTo('body'); + window.scrollTo(200, 200); + + if ( document.documentElement.scrollTop || document.body.scrollTop ) { + supportsScroll = true; + } + window.scrollTo(1, 1); // get offset @@ -245,8 +253,13 @@ testoffset("fixed", function( jQuery ) { { id: '#fixed-1', top: 1001, left: 1001 }, { id: '#fixed-2', top: 1021, left: 1021 } ]; + jQuery.each( tests, function() { - if ( jQuery.offset.supportsFixedPosition ) { + if ( !supportsScroll ) { + ok( true, "Browser doesn't support scroll position." ); + ok( true, "Browser doesn't support scroll position." ); + + } else if ( jQuery.offset.supportsFixedPosition ) { equals( jQuery( this.id ).offset().top, this.top, "jQuery('" + this.id + "').offset().top" ); equals( jQuery( this.id ).offset().left, this.left, "jQuery('" + this.id + "').offset().left" ); } else { @@ -324,12 +337,20 @@ testoffset("scroll", function( jQuery, win ) { // equals( jQuery('body').scrollLeft(), 0, "jQuery('body').scrollTop()" ); win.name = "test"; + + if ( !supportsScroll ) { + ok( true, "Browser doesn't support scroll position." ); + ok( true, "Browser doesn't support scroll position." ); + + ok( true, "Browser doesn't support scroll position." ); + ok( true, "Browser doesn't support scroll position." ); + } else { + equals( jQuery(win).scrollTop(), 1000, "jQuery(window).scrollTop()" ); + equals( jQuery(win).scrollLeft(), 1000, "jQuery(window).scrollLeft()" ); - equals( jQuery(win).scrollTop(), 1000, "jQuery(window).scrollTop()" ); - equals( jQuery(win).scrollLeft(), 1000, "jQuery(window).scrollLeft()" ); - - equals( jQuery(win.document).scrollTop(), 1000, "jQuery(document).scrollTop()" ); - equals( jQuery(win.document).scrollLeft(), 1000, "jQuery(document).scrollLeft()" ); + equals( jQuery(win.document).scrollTop(), 1000, "jQuery(document).scrollTop()" ); + equals( jQuery(win.document).scrollLeft(), 1000, "jQuery(document).scrollLeft()" ); + } // test jQuery using parent window/document // jQuery reference here is in the iframe