File tree Expand file tree Collapse file tree 2 files changed +25
-9
lines changed Expand file tree Collapse file tree 2 files changed +25
-9
lines changed Original file line number Diff line number Diff line change @@ -106,22 +106,19 @@ proto.appendNextPage = function( response, path ) {
106106} ;
107107
108108proto . appendItems = function ( items , fragment ) {
109- // get fragment if not provided
110- fragment = fragment || getItemsFragment ( items ) ;
111- if ( ! fragment ) {
109+ if ( ! items || ! items . length ) {
112110 return ;
113111 }
112+ // get fragment if not provided
113+ fragment = fragment || getItemsFragment ( items ) ;
114114 refreshScripts ( fragment ) ;
115115 this . element . appendChild ( fragment ) ;
116116} ;
117117
118118function getItemsFragment ( items ) {
119- if ( ! items || ! items . length ) {
120- return ;
121- }
122119 // add items to fragment
123120 var fragment = document . createDocumentFragment ( ) ;
124- for ( var i = 0 ; i < items . length ; i ++ ) {
121+ for ( var i = 0 ; items && i < items . length ; i ++ ) {
125122 fragment . appendChild ( items [ i ] ) ;
126123 }
127124 return fragment ;
Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ QUnit.test( 'outlayer', function( assert ) {
55 var msnry , infScroll ;
66 var demoElem = document . querySelector ( '.demo--outlayer' ) ;
77
8- var done = assert . async ( 6 ) ;
8+ var done = assert . async ( 7 ) ;
99
1010 imagesLoaded ( demoElem , function ( ) {
1111
@@ -59,7 +59,26 @@ QUnit.test( 'outlayer', function( assert ) {
5959 function onLayoutComplete3 ( items ) {
6060 assert . equal ( items . length , 10 , '10 items laid out on page 3' ) ;
6161 checkItems ( items ) ;
62- done ( ) ;
62+ setTimeout ( loadNoItems ) ;
63+ }
64+
65+ // check loading no items does not throw error
66+ function loadNoItems ( ) {
67+ infScroll . destroy ( ) ;
68+ infScroll = new InfiniteScroll ( '.demo--outlayer' , {
69+ path : 'page/outlayer{{#}}.html' ,
70+ append : 'none' ,
71+ outlayer : msnry ,
72+ history : false ,
73+ scrollThreshold : false ,
74+ } ) ;
75+
76+ infScroll . once ( 'load' , done ) ;
77+ infScroll . once ( 'append' , function ( response , path , items ) {
78+ assert . equal ( items . length , 0 , 'appended 0 items' ) ;
79+ done ( ) ;
80+ } )
81+ infScroll . loadNextPage ( ) ;
6382 }
6483
6584} ) ;
You can’t perform that action at this time.
0 commit comments