Side navigation
Ticket #787: 787.2.patch
File 787.2.patch, 1.3 KB (added by Fil, January 11, 2007 10:21PM UTC)
test and fix for this bug ; .substring() is also used for speed
Index: src/selector/selector.js
===================================================================
--- src/selector/selector.js (revision 1016)
+++ src/selector/selector.js (working copy)
@@ -297,6 +297,10 @@
},
filter: function(t,r,not) {
+ // Support for array selectors
+ if ( typeof t == 'object' )
+ t = t.join(',');
+
// Look for common filter expressions
while ( t && /^[a-z[({<*:.#]/i.test(t) ) {
@@ -312,13 +316,13 @@
var m = re.exec( t );
if ( m ) {
+ // Remove what we just matched
+ t = t.substring( m[0].length );
+
// Re-organize the first match
if ( jQuery.expr[ m[1] ]._resort )
m = jQuery.expr[ m[1] ]._resort( m );
- // Remove what we just matched
- t = t.replace( re, "" );
-
break;
}
}
Index: src/selector/selectorTest.js
===================================================================
--- src/selector/selectorTest.js (revision 1016)
+++ src/selector/selectorTest.js (working copy)
@@ -41,6 +41,12 @@
t( "Comma Support", "a.blog,div", ["mark","simon","main","foo"] );
});
+test("expressions - array", function() {
+ expect(1);
+ t( "Array Support", ["a.blog", "div"], ["mark","simon","main","foo"] );
+});
+
+
test("expressions - child and adjacent", function() {
expect(14);
t( "Child", "p > a", ["simon1","google","groups","mark","yahoo","simon"] );
Download in other formats:
Original Format
File 787.2.patch, 1.3 KB (added by Fil, January 11, 2007 10:21PM UTC)
test and fix for this bug ; .substring() is also used for speed
Index: src/selector/selector.js
===================================================================
--- src/selector/selector.js (revision 1016)
+++ src/selector/selector.js (working copy)
@@ -297,6 +297,10 @@
},
filter: function(t,r,not) {
+ // Support for array selectors
+ if ( typeof t == 'object' )
+ t = t.join(',');
+
// Look for common filter expressions
while ( t && /^[a-z[({<*:.#]/i.test(t) ) {
@@ -312,13 +316,13 @@
var m = re.exec( t );
if ( m ) {
+ // Remove what we just matched
+ t = t.substring( m[0].length );
+
// Re-organize the first match
if ( jQuery.expr[ m[1] ]._resort )
m = jQuery.expr[ m[1] ]._resort( m );
- // Remove what we just matched
- t = t.replace( re, "" );
-
break;
}
}
Index: src/selector/selectorTest.js
===================================================================
--- src/selector/selectorTest.js (revision 1016)
+++ src/selector/selectorTest.js (working copy)
@@ -41,6 +41,12 @@
t( "Comma Support", "a.blog,div", ["mark","simon","main","foo"] );
});
+test("expressions - array", function() {
+ expect(1);
+ t( "Array Support", ["a.blog", "div"], ["mark","simon","main","foo"] );
+});
+
+
test("expressions - child and adjacent", function() {
expect(14);
t( "Child", "p > a", ["simon1","google","groups","mark","yahoo","simon"] );