Skip to content

Commit 9c65be0

Browse files
committed
replace remaining .substring(2) path concatenations
Conflicts: builder/patternlab.js test/pattern_assembler_tests.js
1 parent cafd440 commit 9c65be0

File tree

2 files changed

+65
-11
lines changed

2 files changed

+65
-11
lines changed

builder/patternlab.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ var patternlab_engine = function () {
9090
console.log(err);
9191
return;
9292
}
93-
pattern_assembler.process_pattern_iterative(file.substring(2), patternlab);
93+
pattern_assembler.process_pattern_iterative(path.resolve(file), patternlab);
9494
});
9595

9696
//now that all the main patterns are known, look for any links that might be within data and expand them
@@ -115,8 +115,9 @@ var patternlab_engine = function () {
115115
console.log(err);
116116
return;
117117
}
118-
pattern_assembler.process_pattern_recursive(file.substring(2), patternlab);
119-
});
118+
pattern_assembler.process_pattern_recursive(path.resolve(file), patternlab);
119+
});
120+
120121

121122
//delete the contents of config.patterns.public before writing
122123
if(deletePatternDir){

test/pattern_assembler_tests.js

Lines changed: 61 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@
239239
return;
240240
}
241241

242-
pattern_assembler.process_pattern_iterative(file.substring(2), patternlab);
242+
pattern_assembler.process_pattern_iterative(path.resolve(file), patternlab);
243243
}
244244
);
245245

@@ -263,7 +263,7 @@
263263
return;
264264
}
265265

266-
pattern_assembler.process_pattern_recursive(file.substring(2), patternlab);
266+
pattern_assembler.process_pattern_recursive(path.resolve(file), patternlab);
267267
}
268268
);
269269

@@ -522,6 +522,58 @@
522522
test.equals(bookendPattern.extendedTemplate.replace(/\s\s+/g, ' ').replace(/\n/g, ' ').trim(), expectedValue.trim());
523523
test.done();
524524
},
525+
'processPatternIterative - ignores files that start with underscore' : function(test){
526+
//arrange
527+
var diveSync = require('diveSync');
528+
var fs = require('fs-extra');
529+
var pa = require('../builder/pattern_assembler');
530+
var pattern_assembler = new pa();
531+
var patterns_dir = './test/files/_patterns';
532+
var patternlab = {};
533+
patternlab.config = fs.readJSONSync('./config.json');
534+
patternlab.config.patterns = {source: patterns_dir};
535+
patternlab.data = fs.readJSONSync(path.resolve(patternlab.config.paths.source.data, 'data.json'));
536+
patternlab.listitems = fs.readJSONSync(path.resolve(patternlab.config.paths.source.data, 'listitems.json'));
537+
patternlab.header = fs.readFileSync(path.resolve(patternlab.config.paths.source.patternlabFiles, 'pattern-header-footer/header.html'), 'utf8');
538+
patternlab.footer = fs.readFileSync(path.resolve(patternlab.config.paths.source.patternlabFiles, 'pattern-header-footer/footer.html'), 'utf8');
539+
540+
patternlab.patterns = [];
541+
patternlab.data.link = {};
542+
patternlab.partials = {};
543+
544+
//act
545+
diveSync(patterns_dir,
546+
{
547+
filter: function(path, dir){
548+
if(dir){
549+
var remainingPath = path.replace(patterns_dir, '');
550+
var isValidPath = remainingPath.indexOf('/_') === -1;
551+
return isValidPath;
552+
}
553+
return true;
554+
}
555+
},
556+
function(err, file){
557+
//log any errors
558+
if(err){
559+
console.log(err);
560+
return;
561+
}
562+
563+
pattern_assembler.process_pattern_iterative(path.resolve(file), patternlab);
564+
}
565+
);
566+
567+
//assert
568+
var foundIgnoredPattern = false;
569+
for(var i = 0; i < patternlab.patterns.length; i++){
570+
if(patternlab.patterns[i].fileName[0] === '_'){
571+
foundIgnoredPattern = true;
572+
}
573+
}
574+
test.equals(foundIgnoredPattern, false);
575+
test.done();
576+
},
525577
'processPatternIterative - ignores files that are variants' : function(test){
526578
//arrange
527579
var diveSync = require('diveSync');
@@ -532,11 +584,12 @@
532584
var patternlab = {};
533585
//THIS IS BAD.
534586
patternlab.config = fs.readJSONSync('./config.json');
535-
patternlab.config.patterns = {source: patterns_dir};
536-
patternlab.data = fs.readJSONSync('./source/_data/data.json');
537-
patternlab.listitems = fs.readJSONSync('./source/_data/listitems.json');
538-
patternlab.header = fs.readFileSync('./source/_patternlab-files/pattern-header-footer/header.html', 'utf8');
539-
patternlab.footer = fs.readFileSync('./source/_patternlab-files/pattern-header-footer/footer.html', 'utf8');
587+
patternlab.config.paths.source.patterns = patterns_dir;
588+
589+
patternlab.data = fs.readJSONSync(path.resolve(patternlab.config.paths.source.data, 'data.json'));
590+
patternlab.listitems = fs.readJSONSync(path.resolve(patternlab.config.paths.source.data, 'listitems.json'));
591+
patternlab.header = fs.readFileSync(path.resolve(patternlab.config.paths.source.patternlabFiles, 'pattern-header-footer/header.html'), 'utf8');
592+
patternlab.footer = fs.readFileSync(path.resolve(patternlab.config.paths.source.patternlabFiles, 'pattern-header-footer/footer.html'), 'utf8');
540593
patternlab.patterns = [];
541594
patternlab.data.link = {};
542595
patternlab.partials = {};
@@ -560,7 +613,7 @@
560613
return;
561614
}
562615

563-
pattern_assembler.process_pattern_iterative(file.substring(2), patternlab);
616+
pattern_assembler.process_pattern_iterative(path.resolve(file), patternlab);
564617
}
565618
);
566619

0 commit comments

Comments
 (0)