@@ -193,10 +193,26 @@ test("parents([String])", function() {
193193 equals ( jQuery ( "#groups" ) . parents ( ) [ 0 ] . id , "ap" , "Simple parents check" ) ;
194194 equals ( jQuery ( "#groups" ) . parents ( "p" ) [ 0 ] . id , "ap" , "Filtered parents check" ) ;
195195 equals ( jQuery ( "#groups" ) . parents ( "div" ) [ 0 ] . id , "main" , "Filtered parents check2" ) ;
196- same ( jQuery ( "#groups" ) . parents ( "p, div" ) . get ( ) , q ( "main " , "ap " ) , "Check for multiple filters" ) ;
196+ same ( jQuery ( "#groups" ) . parents ( "p, div" ) . get ( ) , q ( "ap " , "main " ) , "Check for multiple filters" ) ;
197197 same ( jQuery ( "#en, #sndp" ) . parents ( ) . get ( ) , q ( "foo" , "main" , "dl" , "body" , "html" ) , "Check for unique results from parents" ) ;
198198} ) ;
199199
200+ test ( "parentsUntil([String])" , function ( ) {
201+ expect ( 9 ) ;
202+
203+ var parents = jQuery ( "#groups" ) . parents ( ) ;
204+
205+ same ( jQuery ( "#groups" ) . parentsUntil ( ) . get ( ) , parents . get ( ) , "parentsUntil with no selector (nextAll)" ) ;
206+ same ( jQuery ( "#groups" ) . parentsUntil ( ".foo" ) . get ( ) , parents . get ( ) , "parentsUntil with invalid selector (nextAll)" ) ;
207+ same ( jQuery ( "#groups" ) . parentsUntil ( "#html" ) . get ( ) , parents . not ( ':last' ) . get ( ) , "Simple parentsUntil check" ) ;
208+ equals ( jQuery ( "#groups" ) . parentsUntil ( "#ap" ) . length , 0 , "Simple parentsUntil check" ) ;
209+ same ( jQuery ( "#groups" ) . parentsUntil ( "#html, #body" ) . get ( ) , parents . slice ( 0 , 3 ) . get ( ) , "Less simple parentsUntil check" ) ;
210+ same ( jQuery ( "#groups" ) . parentsUntil ( "#html" , "div" ) . get ( ) , jQuery ( "#main" ) . get ( ) , "Filtered parentsUntil check" ) ;
211+ same ( jQuery ( "#groups" ) . parentsUntil ( "#html" , "p,div,dl" ) . get ( ) , parents . slice ( 0 , 3 ) . get ( ) , "Multiple-filtered parentsUntil check" ) ;
212+ equals ( jQuery ( "#groups" ) . parentsUntil ( "#html" , "span" ) . length , 0 , "Filtered parentsUntil check, no match" ) ;
213+ same ( jQuery ( "#groups, #ap" ) . parentsUntil ( "#html" , "p,div,dl" ) . get ( ) , parents . slice ( 0 , 3 ) . get ( ) , "Multi-source, multiple-filtered parentsUntil check" ) ;
214+ } ) ;
215+
200216test ( "next([String])" , function ( ) {
201217 expect ( 4 ) ;
202218 equals ( jQuery ( "#ap" ) . next ( ) [ 0 ] . id , "foo" , "Simple next check" ) ;
@@ -213,6 +229,62 @@ test("prev([String])", function() {
213229 equals ( jQuery ( "#foo" ) . prev ( "p, div" ) [ 0 ] . id , "ap" , "Multiple filters" ) ;
214230} ) ;
215231
232+ test ( "nextAll([String])" , function ( ) {
233+ expect ( 4 ) ;
234+
235+ var elems = jQuery ( '#form' ) . children ( ) ;
236+
237+ same ( jQuery ( "#label-for" ) . nextAll ( ) . get ( ) , elems . not ( ':first' ) . get ( ) , "Simple nextAll check" ) ;
238+ same ( jQuery ( "#label-for" ) . nextAll ( 'input' ) . get ( ) , elems . not ( ':first' ) . filter ( 'input' ) . get ( ) , "Filtered nextAll check" ) ;
239+ same ( jQuery ( "#label-for" ) . nextAll ( 'input,select' ) . get ( ) , elems . not ( ':first' ) . filter ( 'input,select' ) . get ( ) , "Multiple-filtered nextAll check" ) ;
240+ same ( jQuery ( "#label-for, #hidden1" ) . nextAll ( 'input,select' ) . get ( ) , elems . not ( ':first' ) . filter ( 'input,select' ) . get ( ) , "Multi-source, multiple-filtered nextAll check" ) ;
241+ } ) ;
242+
243+ test ( "prevAll([String])" , function ( ) {
244+ expect ( 4 ) ;
245+
246+ var elems = jQuery ( jQuery ( '#form' ) . children ( ) . slice ( 0 , 12 ) . get ( ) . reverse ( ) ) ;
247+
248+ same ( jQuery ( "#area1" ) . prevAll ( ) . get ( ) , elems . get ( ) , "Simple prevAll check" ) ;
249+ same ( jQuery ( "#area1" ) . prevAll ( 'input' ) . get ( ) , elems . filter ( 'input' ) . get ( ) , "Filtered prevAll check" ) ;
250+ same ( jQuery ( "#area1" ) . prevAll ( 'input,select' ) . get ( ) , elems . filter ( 'input,select' ) . get ( ) , "Multiple-filtered prevAll check" ) ;
251+ same ( jQuery ( "#area1, #hidden1" ) . prevAll ( 'input,select' ) . get ( ) , elems . filter ( 'input,select' ) . get ( ) , "Multi-source, multiple-filtered prevAll check" ) ;
252+ } ) ;
253+
254+ test ( "nextUntil([String])" , function ( ) {
255+ expect ( 10 ) ;
256+
257+ var elems = jQuery ( '#form' ) . children ( ) . slice ( 2 , 12 ) ;
258+
259+ same ( jQuery ( "#text1" ) . nextUntil ( ) . get ( ) , jQuery ( "#text1" ) . nextAll ( ) . get ( ) , "nextUntil with no selector (nextAll)" ) ;
260+ same ( jQuery ( "#text1" ) . nextUntil ( ".foo" ) . get ( ) , jQuery ( "#text1" ) . nextAll ( ) . get ( ) , "nextUntil with invalid selector (nextAll)" ) ;
261+ same ( jQuery ( "#text1" ) . nextUntil ( "#area1" ) . get ( ) , elems . get ( ) , "Simple nextUntil check" ) ;
262+ equals ( jQuery ( "#text1" ) . nextUntil ( "#text2" ) . length , 0 , "Simple nextUntil check" ) ;
263+ same ( jQuery ( "#text1" ) . nextUntil ( "#area1, #radio1" ) . get ( ) , jQuery ( "#text1" ) . next ( ) . get ( ) , "Less simple nextUntil check" ) ;
264+ same ( jQuery ( "#text1" ) . nextUntil ( "#area1" , "input" ) . get ( ) , elems . not ( "button" ) . get ( ) , "Filtered nextUntil check" ) ;
265+ same ( jQuery ( "#text1" ) . nextUntil ( "#area1" , "button" ) . get ( ) , elems . not ( "input" ) . get ( ) , "Filtered nextUntil check" ) ;
266+ same ( jQuery ( "#text1" ) . nextUntil ( "#area1" , "button,input" ) . get ( ) , elems . get ( ) , "Multiple-filtered nextUntil check" ) ;
267+ equals ( jQuery ( "#text1" ) . nextUntil ( "#area1" , "div" ) . length , 0 , "Filtered nextUntil check, no match" ) ;
268+ same ( jQuery ( "#text1, #hidden1" ) . nextUntil ( "#area1" , "button,input" ) . get ( ) , elems . get ( ) , "Multi-source, multiple-filtered nextUntil check" ) ;
269+ } ) ;
270+
271+ test ( "prevUntil([String])" , function ( ) {
272+ expect ( 10 ) ;
273+
274+ var elems = jQuery ( "#area1" ) . prevAll ( ) ;
275+
276+ same ( jQuery ( "#area1" ) . prevUntil ( ) . get ( ) , elems . get ( ) , "prevUntil with no selector (prevAll)" ) ;
277+ same ( jQuery ( "#area1" ) . prevUntil ( ".foo" ) . get ( ) , elems . get ( ) , "prevUntil with invalid selector (prevAll)" ) ;
278+ same ( jQuery ( "#area1" ) . prevUntil ( "label" ) . get ( ) , elems . not ( ':last' ) . get ( ) , "Simple prevUntil check" ) ;
279+ equals ( jQuery ( "#area1" ) . prevUntil ( "#button" ) . length , 0 , "Simple prevUntil check" ) ;
280+ same ( jQuery ( "#area1" ) . prevUntil ( "label, #search" ) . get ( ) , jQuery ( "#area1" ) . prev ( ) . get ( ) , "Less simple prevUntil check" ) ;
281+ same ( jQuery ( "#area1" ) . prevUntil ( "label" , "input" ) . get ( ) , elems . not ( ':last' ) . not ( "button" ) . get ( ) , "Filtered prevUntil check" ) ;
282+ same ( jQuery ( "#area1" ) . prevUntil ( "label" , "button" ) . get ( ) , elems . not ( ':last' ) . not ( "input" ) . get ( ) , "Filtered prevUntil check" ) ;
283+ same ( jQuery ( "#area1" ) . prevUntil ( "label" , "button,input" ) . get ( ) , elems . not ( ':last' ) . get ( ) , "Multiple-filtered prevUntil check" ) ;
284+ equals ( jQuery ( "#area1" ) . prevUntil ( "label" , "div" ) . length , 0 , "Filtered prevUntil check, no match" ) ;
285+ same ( jQuery ( "#area1, #hidden1" ) . prevUntil ( "label" , "button,input" ) . get ( ) , elems . not ( ':last' ) . get ( ) , "Multi-source, multiple-filtered prevUntil check" ) ;
286+ } ) ;
287+
216288test ( "slice()" , function ( ) {
217289 expect ( 7 ) ;
218290
0 commit comments