From 9c65be0ac22476c5861ae08a1ec7734dc1fd6583 Mon Sep 17 00:00:00 2001 From: Geoffrey Pursell Date: Thu, 7 Jan 2016 10:17:58 -0600 Subject: [PATCH 1/2] replace remaining .substring(2) path concatenations Conflicts: builder/patternlab.js test/pattern_assembler_tests.js --- builder/patternlab.js | 7 ++-- test/pattern_assembler_tests.js | 69 +++++++++++++++++++++++++++++---- 2 files changed, 65 insertions(+), 11 deletions(-) diff --git a/builder/patternlab.js b/builder/patternlab.js index 1f4a5c1bf..de3ccdc9e 100644 --- a/builder/patternlab.js +++ b/builder/patternlab.js @@ -90,7 +90,7 @@ var patternlab_engine = function () { console.log(err); return; } - pattern_assembler.process_pattern_iterative(file.substring(2), patternlab); + pattern_assembler.process_pattern_iterative(path.resolve(file), patternlab); }); //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 () { console.log(err); return; } - pattern_assembler.process_pattern_recursive(file.substring(2), patternlab); - }); + pattern_assembler.process_pattern_recursive(path.resolve(file), patternlab); + }); + //delete the contents of config.patterns.public before writing if(deletePatternDir){ diff --git a/test/pattern_assembler_tests.js b/test/pattern_assembler_tests.js index a0d5cd4de..d5b330366 100644 --- a/test/pattern_assembler_tests.js +++ b/test/pattern_assembler_tests.js @@ -239,7 +239,7 @@ return; } - pattern_assembler.process_pattern_iterative(file.substring(2), patternlab); + pattern_assembler.process_pattern_iterative(path.resolve(file), patternlab); } ); @@ -263,7 +263,7 @@ return; } - pattern_assembler.process_pattern_recursive(file.substring(2), patternlab); + pattern_assembler.process_pattern_recursive(path.resolve(file), patternlab); } ); @@ -522,6 +522,58 @@ test.equals(bookendPattern.extendedTemplate.replace(/\s\s+/g, ' ').replace(/\n/g, ' ').trim(), expectedValue.trim()); test.done(); }, + 'processPatternIterative - ignores files that start with underscore' : function(test){ + //arrange + var diveSync = require('diveSync'); + var fs = require('fs-extra'); + var pa = require('../builder/pattern_assembler'); + var pattern_assembler = new pa(); + var patterns_dir = './test/files/_patterns'; + var patternlab = {}; + patternlab.config = fs.readJSONSync('./config.json'); + patternlab.config.patterns = {source: patterns_dir}; + patternlab.data = fs.readJSONSync(path.resolve(patternlab.config.paths.source.data, 'data.json')); + patternlab.listitems = fs.readJSONSync(path.resolve(patternlab.config.paths.source.data, 'listitems.json')); + patternlab.header = fs.readFileSync(path.resolve(patternlab.config.paths.source.patternlabFiles, 'pattern-header-footer/header.html'), 'utf8'); + patternlab.footer = fs.readFileSync(path.resolve(patternlab.config.paths.source.patternlabFiles, 'pattern-header-footer/footer.html'), 'utf8'); + + patternlab.patterns = []; + patternlab.data.link = {}; + patternlab.partials = {}; + + //act + diveSync(patterns_dir, + { + filter: function(path, dir){ + if(dir){ + var remainingPath = path.replace(patterns_dir, ''); + var isValidPath = remainingPath.indexOf('/_') === -1; + return isValidPath; + } + return true; + } + }, + function(err, file){ + //log any errors + if(err){ + console.log(err); + return; + } + + pattern_assembler.process_pattern_iterative(path.resolve(file), patternlab); + } + ); + + //assert + var foundIgnoredPattern = false; + for(var i = 0; i < patternlab.patterns.length; i++){ + if(patternlab.patterns[i].fileName[0] === '_'){ + foundIgnoredPattern = true; + } + } + test.equals(foundIgnoredPattern, false); + test.done(); + }, 'processPatternIterative - ignores files that are variants' : function(test){ //arrange var diveSync = require('diveSync'); @@ -532,11 +584,12 @@ var patternlab = {}; //THIS IS BAD. patternlab.config = fs.readJSONSync('./config.json'); - patternlab.config.patterns = {source: patterns_dir}; - patternlab.data = fs.readJSONSync('./source/_data/data.json'); - patternlab.listitems = fs.readJSONSync('./source/_data/listitems.json'); - patternlab.header = fs.readFileSync('./source/_patternlab-files/pattern-header-footer/header.html', 'utf8'); - patternlab.footer = fs.readFileSync('./source/_patternlab-files/pattern-header-footer/footer.html', 'utf8'); + patternlab.config.paths.source.patterns = patterns_dir; + + patternlab.data = fs.readJSONSync(path.resolve(patternlab.config.paths.source.data, 'data.json')); + patternlab.listitems = fs.readJSONSync(path.resolve(patternlab.config.paths.source.data, 'listitems.json')); + patternlab.header = fs.readFileSync(path.resolve(patternlab.config.paths.source.patternlabFiles, 'pattern-header-footer/header.html'), 'utf8'); + patternlab.footer = fs.readFileSync(path.resolve(patternlab.config.paths.source.patternlabFiles, 'pattern-header-footer/footer.html'), 'utf8'); patternlab.patterns = []; patternlab.data.link = {}; patternlab.partials = {}; @@ -560,7 +613,7 @@ return; } - pattern_assembler.process_pattern_iterative(file.substring(2), patternlab); + pattern_assembler.process_pattern_iterative(path.resolve(file), patternlab); } ); From 31d5ff6f0157f7e738902e17aa3b235155bf87fd Mon Sep 17 00:00:00 2001 From: Geoffrey Pursell Date: Fri, 8 Jan 2016 09:19:37 -0600 Subject: [PATCH 2/2] re-delete the underscore-prefixed pattern unit test; not sure how this got reintroduced. Git happens --- test/pattern_assembler_tests.js | 52 --------------------------------- 1 file changed, 52 deletions(-) diff --git a/test/pattern_assembler_tests.js b/test/pattern_assembler_tests.js index 89ee557cd..6b1c3426a 100644 --- a/test/pattern_assembler_tests.js +++ b/test/pattern_assembler_tests.js @@ -522,58 +522,6 @@ test.equals(bookendPattern.extendedTemplate.replace(/\s\s+/g, ' ').replace(/\n/g, ' ').trim(), expectedValue.trim()); test.done(); }, - 'processPatternIterative - ignores files that start with underscore' : function(test){ - //arrange - var diveSync = require('diveSync'); - var fs = require('fs-extra'); - var pa = require('../builder/pattern_assembler'); - var pattern_assembler = new pa(); - var patterns_dir = './test/files/_patterns'; - var patternlab = {}; - patternlab.config = fs.readJSONSync('./config.json'); - patternlab.config.patterns = {source: patterns_dir}; - patternlab.data = fs.readJSONSync(path.resolve(patternlab.config.paths.source.data, 'data.json')); - patternlab.listitems = fs.readJSONSync(path.resolve(patternlab.config.paths.source.data, 'listitems.json')); - patternlab.header = fs.readFileSync(path.resolve(patternlab.config.paths.source.patternlabFiles, 'pattern-header-footer/header.html'), 'utf8'); - patternlab.footer = fs.readFileSync(path.resolve(patternlab.config.paths.source.patternlabFiles, 'pattern-header-footer/footer.html'), 'utf8'); - - patternlab.patterns = []; - patternlab.data.link = {}; - patternlab.partials = {}; - - //act - diveSync(patterns_dir, - { - filter: function(path, dir){ - if(dir){ - var remainingPath = path.replace(patterns_dir, ''); - var isValidPath = remainingPath.indexOf('/_') === -1; - return isValidPath; - } - return true; - } - }, - function(err, file){ - //log any errors - if(err){ - console.log(err); - return; - } - - pattern_assembler.process_pattern_iterative(path.resolve(file), patternlab); - } - ); - - //assert - var foundIgnoredPattern = false; - for(var i = 0; i < patternlab.patterns.length; i++){ - if(patternlab.patterns[i].fileName[0] === '_'){ - foundIgnoredPattern = true; - } - } - test.equals(foundIgnoredPattern, false); - test.done(); - }, 'processPatternIterative - ignores files that are variants' : function(test){ //arrange var diveSync = require('diveSync');