]> source.dussan.org Git - jquery.git/commitdiff
UPDATE SIZZLE: completed rewrite for better things!
authortimmywil <timmywillisn@gmail.com>
Mon, 2 Jul 2012 15:30:22 +0000 (11:30 -0400)
committertimmywil <timmywillisn@gmail.com>
Mon, 2 Jul 2012 15:34:26 +0000 (11:34 -0400)
Remove reverse in traversing for comma selectors. Sizzle's handling of commas is now more consistent.

src/sizzle
src/traversing.js
test/unit/css.js
test/unit/effects.js
test/unit/event.js
test/unit/manipulation.js

index 2ae520aa9b7fdc18798df25948191dae69e33ace..e89d06c4134ec439e52382acd0e569e97fed7ebc 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 2ae520aa9b7fdc18798df25948191dae69e33ace
+Subproject commit e89d06c4134ec439e52382acd0e569e97fed7ebc
index 0cca81a0a5a18407f7c6eb62632cbc13460f80a2..4a68ccb5e31706e9d67a71ac3d2a5cfdde53c18e 100644 (file)
@@ -1,7 +1,5 @@
 var runtil = /Until$/,
-       rparentsprev = /^(?:parents|prevUntil|prevAll)/,
-       // Note: This RegExp should be improved, or likely pulled from Sizzle
-       rmultiselector = /,/,
+       rparentsprev = /^(?:parents|prev(?:Until|All))/,
        isSimple = /^.[^:#\[\.,]*$/,
        POS = jQuery.expr.match.globalPOS,
        // methods guaranteed to produce a unique set when starting from a unique set
@@ -217,7 +215,7 @@ jQuery.each({
 
                ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret;
 
-               if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) {
+               if ( this.length > 1 && rparentsprev.test( name ) ) {
                        ret = ret.reverse();
                }
 
index d968775e0ea1ca3b553bcaa3e9f188ea602e4e64..208353777ec8b72ef4f4384ac76da8f80562781b 100644 (file)
@@ -547,14 +547,17 @@ test( "show() resolves correct default display, detached nodes (#10006)", functi
        div = jQuery("<div>");
        div.show().appendTo("#qunit-fixture");
        ok( !!div.get( 0 ).style.display, "Make sure not hidden div has a inline style." );
+       div.remove();
 
        div = jQuery( document.createElement("div") );
        div.show().appendTo("#qunit-fixture");
        equal( div.css("display"), "block", "Make sure a pre-created element has default display." );
+       div.remove();
 
        div = jQuery("<div style='display: inline'/>");
        div.show().appendTo("#qunit-fixture");
        equal( div.css("display"), "inline", "Make sure that element has same display when it was created." );
+       div.remove();
 });
 
 test("toggle()", function() {
index 392d7e74b9f2d9aa5b774483ad47da684110cc9a..3ca00951f7ca2b4d5a07c68b7994734c9ce275a0 100644 (file)
@@ -95,6 +95,8 @@ test("show()", function() {
                equal( elem.css("display"), expected, "Show using correct display type for " + selector );
        });
 
+       jQuery("#show-tests").remove();
+
        // Make sure that showing or hiding a text node doesn't cause an error
        jQuery("<div>test</div> text <span>test</span>").show().remove();
        jQuery("<div>test</div> text <span>test</span>").hide().remove();
@@ -137,6 +139,8 @@ test("show(Number) - other displays", function() {
                        }
                });
        });
+
+       jQuery("#show-tests").remove();
 });
 
 
@@ -726,6 +730,7 @@ jQuery.checkOverflowDisplay = function(){
        equal(o, "visible", "Overflow should be visible: " + o);
        equal(jQuery.css( this, "display" ), "inline", "Display shouldn't be tampered with.");
 
+       jQuery(this).remove();
        start();
 };
 
@@ -779,6 +784,8 @@ test( "jQuery.fx.prototype.cur() - <1.8 Back Compat", 7, function() {
                -11000,
                "support negative values < -10000 (bug #7193)"
        );
+
+       jQuery( div ).remove();
 });
 
 test("JS Overflow and Display", function() {
@@ -1352,10 +1359,10 @@ test("animate will scale margin properties individually", function() {
 
        // clean up for next test
        foo.css({
-               marginLeft: '',
-               marginRight: '',
-               marginTop: '',
-               marginBottom: ''
+               marginLeft: "",
+               marginRight: "",
+               marginTop: "",
+               marginBottom: ""
        });
        start();
 });
@@ -1365,6 +1372,7 @@ test("Do not append px to 'fill-opacity' #9548", 1, function() {
 
        $div.css("fill-opacity", 0).animate({ "fill-opacity": 1.0 }, 0, function () {
                equal( jQuery(this).css("fill-opacity"), 1, "Do not append px to 'fill-opacity'");
+               $div.remove();
        });
 });
 
@@ -1532,6 +1540,7 @@ asyncTest( "hide called on element within hidden parent should set display to no
                strictEqual( elems.get( 1 ).style.display, "none", "hide( 0 ) called on element within hidden parent should set display to none" );
                strictEqual( elems.get( 2 ).style.display, "none", "hide( 1 ) called on element within hidden parent should set display to none" );
 
+               elems.remove();
                start();
        });
 });
@@ -1661,6 +1670,7 @@ asyncTest( "animate does not change start value for non-px animation (#7109)", 1
                var ratio = computed[ 0 ] / actual;
                ok( ratio > 0.9 && ratio < 1.1 , "Starting width was close enough" );
                next();
+               parent.remove();
                start();
        });
 });
index 479509ffb1acff884b4725ee64189e3aa880046c..44f7e7f1e6547846fcd180c3e67b6bc577a43587 100644 (file)
@@ -38,7 +38,7 @@ test("Handler changes and .trigger() order", function() {
        expect(1);
 
        var markup = jQuery(
-               '<div><div><p><span><b class="a">b</b></span></p></div></div>'
+               "<div><div><p><span><b class=\"a\">b</b></span></p></div></div>"
        ),
        path = "";
 
@@ -1433,7 +1433,7 @@ test("jQuery.Event( type, props )", function() {
 test("jQuery.Event.currentTarget", function(){
        expect(2);
 
-       jQuery('<div><p><button>shiny</button></p></div>')
+       jQuery("<div><p><button>shiny</button></p></div>")
                .on( "click", "p", function( e ){
                                equal( e.currentTarget, this, "Check delegated currentTarget on event" );
                })
@@ -2359,7 +2359,7 @@ test( "delegated event with delegateTarget-relative selector (#)", function() {
 test("stopPropagation() stops directly-bound events on delegated target", function() {
        expect(1);
 
-       var markup = jQuery( '<div><p><a href="#">target</a></p></div>' );
+       var markup = jQuery("<div><p><a href=\"#\">target</a></p></div>");
        markup
                .on( "click", function() {
                        ok( false, "directly-bound event on delegate target was called" );
@@ -2540,7 +2540,7 @@ test("Non DOM element events", function() {
 test("inline handler returning false stops default", function() {
        expect(1);
 
-       var markup = jQuery('<div><a href="#" onclick="return false">x</a></div>');
+       var markup = jQuery("<div><a href=\"#\" onclick=\"return false\">x</a></div>");
        markup.click(function(e) {
                ok( e.isDefaultPrevented(), "inline handler prevented default");
                return false;
@@ -2613,7 +2613,7 @@ test(".on and .off", function() {
        expect(9);
        var counter, mixfn;
 
-       jQuery( '<div id="onandoff"><p>on<b>and</b>off</p><div>worked<em>or</em>borked?</div></div>' ).appendTo( 'body' );
+       var $onandoff = jQuery("<div id=\"onandoff\"><p>on<b>and</b>off</p><div>worked<em>or</em>borked?</div></div>").appendTo("body");
 
        // Simple case
        jQuery( "#onandoff" )
@@ -2705,7 +2705,7 @@ test(".on and .off", function() {
        var data = jQuery.data[ jQuery( "#onandoff" )[0].expando ] || {};
        equal( data.events, undefined, "no events left" );
 
-       jQuery("#onandoff").remove();
+       $onandoff.remove();
 });
 
 test("special bind/delegate name mapping", function() {
@@ -2723,7 +2723,7 @@ test("special bind/delegate name mapping", function() {
                ok( true, "event " + event.type + " triggered" );
        };
 
-       jQuery( '<div><button id="mammy">Are We Not Men?</button></div>' )
+       jQuery("<div><button id=\"mammy\">Are We Not Men?</button></div>")
                .on( "slap", "button", jQuery.noop )
                .on( "swing", "button", comeback )
                .find( "button" )
index 5e0607646672c663179d4464c08368d38b8532f8..d43e4d247603a3ceee187e2723e11a04f2845e82 100644 (file)
@@ -37,6 +37,8 @@ test("text()", function() {
        var $newLineTest = jQuery("<div>test<br/>testy</div>").appendTo("#moretests");
        $newLineTest.find("br").replaceWith("\n");
        equal( $newLineTest.text(), "test\ntesty", "text() does not remove new lines (#11153)" );
+
+       $newLineTest.remove();
 });
 
 test("text(undefined)", function() {