(resultNumber, doZoom, clip, scroll)
| 166 | }); |
| 167 | |
| 168 | function doAndTestRendering(resultNumber, doZoom, clip, scroll) { |
| 169 | var loaded = false; |
| 170 | |
| 171 | var filename = prefixResult+resultNumber+'.png'; |
| 172 | currentImageFile = phantom.libraryPath+'/www/'+filename; |
| 173 | var expectedData; |
| 174 | var onlyViewport = false; |
| 175 | |
| 176 | runs(function() { |
| 177 | webpage.open(url, function(success){ |
| 178 | if (setViewport) { |
| 179 | webpage.viewportSize = setViewport; |
| 180 | } |
| 181 | if (clip === true) { |
| 182 | onlyViewport = true; |
| 183 | } |
| 184 | else if (clip) { |
| 185 | webpage.clipRect = clip; |
| 186 | } |
| 187 | else webpage.clipRect = {top:0, left:0, width:0, height:0} |
| 188 | |
| 189 | webpage.zoomFactor = doZoom || 1; |
| 190 | // wait after zoom is applied |
| 191 | window.setTimeout(function() { |
| 192 | if (scroll) { |
| 193 | webpage.scrollPosition = scroll; |
| 194 | } |
| 195 | loaded = true; |
| 196 | }, 600); |
| 197 | }); |
| 198 | }); |
| 199 | |
| 200 | waitsFor(function(){ return loaded;}, 1200); |
| 201 | runs(function(){ |
| 202 | if (onlyViewport) { |
| 203 | webpage.render(currentImageFile, {onlyViewport:true}); |
| 204 | } |
| 205 | else |
| 206 | webpage.render(currentImageFile); |
| 207 | |
| 208 | expect(fs.exists(currentImageFile)).toBeTruthy(); |
| 209 | imageResultLoaded = false; |
| 210 | expectedFixPage.evaluate(function(idx, src){ setResultImage(idx, src );}, resultNumber, urlbase+filename); |
| 211 | }); |
| 212 | waitsFor(function(){ return imageResultLoaded;}, 1300); |
| 213 | runs(function(){ |
| 214 | let resultData = expectedFixPage.evaluate(function(idx){ return compareImages(idx); }, resultNumber); |
| 215 | expect(resultData[0][1]).toEqual(resultData[0][0]); // width |
| 216 | expect(resultData[1][1]).toEqual(resultData[1][0]); // height |
| 217 | expect(resultData[2][1]).toEqual(resultData[2][0]); // length of data |
| 218 | expect(resultData[3]).toEqual(true); // data |
| 219 | //expectedFixPage.render("rendering_"+prefixResult+resultNumber+".png") |
| 220 | }); |
| 221 | } |
| 222 | |
| 223 | it(" capture an entire page with fix design (1)",function() { |
| 224 | doAndTestRendering(1); |
no test coverage detected