@@ -292,4 +292,48 @@ describe('hx-include attribute', function() {
292292 this . server . respond ( )
293293 btn . innerHTML . should . equal ( 'Clicked!' )
294294 } )
295+
296+ it ( 'hx-include processes wrapped next/previous selectors correctly' , function ( ) {
297+ this . server . respondWith ( 'POST' , '/include' , function ( xhr ) {
298+ var params = getParameters ( xhr )
299+ should . equal ( params . i1 , undefined )
300+ params . i2 . should . equal ( 'foo' )
301+ params . i3 . should . equal ( 'bar' )
302+ should . equal ( params . i4 , undefined )
303+ should . equal ( params . i5 , undefined )
304+ xhr . respond ( 200 , { } , 'Clicked!' )
305+ } )
306+ make ( '<input name="i4" value="test2" id="i4"/>' +
307+ '<div id="i">' +
308+ '<input name="i1" value="test" id="i1"/>' +
309+ '<input name="i2" value="foo"/>' +
310+ '<button id="btn" hx-post="/include" hx-include="next <#nonexistent, input/>, previous <#i5, [name=\'i2\'], #i4/>"></button>' +
311+ '</div>' +
312+ '<input name="i3" value="bar"/>' +
313+ '<input name="i5" value="test"/>' )
314+ var btn = byId ( 'btn' )
315+ btn . click ( )
316+ this . server . respond ( )
317+ btn . innerHTML . should . equal ( 'Clicked!' )
318+ } )
319+
320+ it ( 'hx-include processes wrapped closest selector correctly' , function ( ) {
321+ this . server . respondWith ( 'POST' , '/include' , function ( xhr ) {
322+ var params = getParameters ( xhr )
323+ should . equal ( params . i1 , undefined )
324+ params . i2 . should . equal ( 'bar' )
325+ xhr . respond ( 200 , { } , 'Clicked!' )
326+ } )
327+ make ( '<section>' +
328+ '<input name="i1" value="foo"/>' +
329+ '<div>' +
330+ '<input name="i2" value="bar"/>' +
331+ '<button id="btn" hx-post="/include" hx-include="closest <section, div/>"></button>' +
332+ '</div>' +
333+ '</section>' )
334+ var btn = byId ( 'btn' )
335+ btn . click ( )
336+ this . server . respond ( )
337+ btn . innerHTML . should . equal ( 'Clicked!' )
338+ } )
295339} )
0 commit comments