MCPcopy
hub / github.com/laurentj/slimerjs / doAndTestRendering

Function doAndTestRendering

test/test-webpage-render.js:168–221  ·  view source on GitHub ↗
(resultNumber, doZoom, clip, scroll)

Source from the content-addressed store, hash-verified

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);

Callers 1

Calls 3

runsFunction · 0.85
waitsForFunction · 0.85
expectFunction · 0.85

Tested by

no test coverage detected