Skip to content

Commit 471107c

Browse files
committed
Merge pull request #9 from lewisnyman/allow-empty-config
Allow empty config
2 parents 1677156 + 0d6d04d commit 471107c

File tree

1 file changed

+29
-21
lines changed

1 file changed

+29
-21
lines changed

capture/genBitmaps.js

+29-21
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@ casper.on('resource.received', function(resource) {
4747

4848
function capturePageSelectors(url,grabConfigs,viewports,bitmaps_reference,bitmaps_test,isReference){
4949

50-
var
50+
var
5151
screenshotNow = new Date(),
5252
screenshotDateTime = screenshotNow.getFullYear() + pad(screenshotNow.getMonth() + 1) + pad(screenshotNow.getDate()) + '-' + pad(screenshotNow.getHours()) + pad(screenshotNow.getMinutes()) + pad(screenshotNow.getSeconds());
5353

5454
casper.start();
5555
// casper.viewport(1280,1024);
56-
56+
5757

5858

5959
casper.each(grabConfigs,function(casper, grabConfig, grabConfig_index){
@@ -78,26 +78,34 @@ function capturePageSelectors(url,grabConfigs,viewports,bitmaps_reference,bitmap
7878
this.echo('Screenshots for ' + vp.name + ' (' + vp.viewport.width + 'x' + vp.viewport.height + ')', 'info');
7979

8080
//HIDE SELECTORS WE WANT TO AVOID
81-
grabConfig.hideSelectors.forEach(function(o,i,a){
82-
casper.evaluate(function(o){
83-
Array.prototype.forEach.call(document.querySelectorAll(o), function(s, j){
84-
s.style.visibility='hidden';
85-
});
86-
},o);
87-
});
81+
if ( grabConfig.hasOwnProperty('hideSelectors') ) {
82+
grabConfig.hideSelectors.forEach(function(o,i,a){
83+
casper.evaluate(function(o){
84+
Array.prototype.forEach.call(document.querySelectorAll(o), function(s, j){
85+
s.style.visibility='hidden';
86+
});
87+
},o);
88+
});
89+
}
8890

8991
//REMOVE UNWANTED SELECTORS FROM RENDER TREE
90-
grabConfig.removeSelectors.forEach(function(o,i,a){
91-
casper.evaluate(function(o){
92-
Array.prototype.forEach.call(document.querySelectorAll(o), function(s, j){
93-
s.style.display='none';
94-
});
95-
},o);
96-
});
97-
92+
if ( grabConfig.hasOwnProperty('removeSelectors') ) {
93+
grabConfig.removeSelectors.forEach(function(o,i,a){
94+
casper.evaluate(function(o){
95+
Array.prototype.forEach.call(document.querySelectorAll(o), function(s, j){
96+
s.style.display='none';
97+
});
98+
},o);
99+
});
100+
}
101+
98102
//CREATE SCREEN SHOTS AND TEST COMPARE CONFIGURATION (CONFIG FILE WILL BE SAVED WHEN THIS PROCESS RETURNS)
103+
// If no selectors are provided then set the default 'body'
104+
if ( !grabConfig.hasOwnProperty('selectors') ) {
105+
grabConfig.selectors = [ 'body' ];
106+
}
99107
grabConfig.selectors.forEach(function(o,i,a){
100-
var cleanedSelectorName = o.replace(/[^a-zA-Z\d]/,'');//remove anything that's not a letter or a number
108+
var cleanedSelectorName = o.replace(/[^a-zA-Z\d]/,'');//remove anything that's not a letter or a number
101109
//var cleanedUrl = grabConfig.url.replace(/[^a-zA-Z\d]/,'');//remove anything that's not a letter or a number
102110
var fileName = grabConfig_index + '_' + i + '_' + cleanedSelectorName + '_' + viewport_index + '_' + vp.name + '.png';;
103111

@@ -117,11 +125,11 @@ function capturePageSelectors(url,grabConfigs,viewports,bitmaps_reference,bitmap
117125

118126
casper.captureSelector(filePath, o);
119127
//casper.echo('remote capture to > '+filePath,'info');
120-
128+
121129
});//end topLevelModules.forEach
122130
});
123-
124-
131+
132+
125133
});//end casper.each viewports
126134

127135
});//end casper.each grabConfig

0 commit comments

Comments
 (0)