Bug Tracker

Ticket #787: 787.patch

File 787.patch, 1.3 KB (added by Fil, 15 years ago)

test and fix for this bug ; .substring() is also used for speed

  • src/selector/selector.js

     
    297297        },
    298298
    299299        filter: function(t,r,not) {
     300                // Support for array selectors
     301                if ( typeof t == 'object' )
     302                        t = t.join(',');
     303
    300304                // Look for common filter expressions
    301305                while ( t && /^[a-z[({<*:.#]/i.test(t) ) {
    302306
     
    312316                                var m = re.exec( t );
    313317
    314318                                if ( m ) {
     319                                        // Remove what we just matched
     320                                        t = t.substring( m[0].length );
     321
    315322                                        // Re-organize the first match
    316323                                        if ( jQuery.expr[ m[1] ]._resort )
    317324                                                m = jQuery.expr[ m[1] ]._resort( m );
    318325
    319                                         // Remove what we just matched
    320                                         t = t.replace( re, "" );
    321 
    322326                                        break;
    323327                                }
    324328                        }
  • src/selector/selectorTest.js

     
    4141        t( "Comma Support", "a.blog,div", ["mark","simon","main","foo"] );
    4242});
    4343
     44test("expressions - array", function() {
     45        expect(1);
     46        t( "Array Support", ["a.blog", "div"], ["mark","simon","main","foo"] );
     47});
     48
     49
    4450test("expressions - child and adjacent", function() {
    4551        expect(14);
    4652        t( "Child", "p > a", ["simon1","google","groups","mark","yahoo","simon"] );