|
265 | 265 | var mixedPattern = new Pattern('00-test/07-mixed-params.mustache');
|
266 | 266 | mixedPattern.template = fs.readFileSync(patterns_dir + '/00-test/07-mixed-params.mustache', 'utf8');
|
267 | 267 | mixedPattern.stylePartials = pattern_assembler.find_pattern_partials_with_style_modifiers(mixedPattern);
|
268 |
| - mixedPattern.parameteredPartials = pattern_assembler.find_pattern_partials_with_parameters(mixedPattern); |
| 268 | + mixedPattern.parameteredPartials = pattern_assembler.find_pattern_partials_with_parameters(mixedPattern); |
269 | 269 |
|
270 | 270 | pattern_assembler.addPattern(atomPattern, pl);
|
271 | 271 | pattern_assembler.addPattern(mixedPattern, pl);
|
|
322 | 322 | test.equals(bookendPattern.extendedTemplate.replace(/\s\s+/g, ' ').replace(/\n/g, ' ').trim(), expectedValue.trim());
|
323 | 323 | test.done();
|
324 | 324 | },
|
| 325 | + 'processPatternRecursive - does not pollute previous patterns when a later one is found with a styleModifier' : function(test){ |
| 326 | + //arrange |
| 327 | + var fs = require('fs-extra'); |
| 328 | + var pattern_assembler = new pa(); |
| 329 | + var patterns_dir = './test/files/_patterns'; |
| 330 | + |
| 331 | + var pl = {}; |
| 332 | + pl.config = { |
| 333 | + paths: { |
| 334 | + source: { |
| 335 | + patterns: patterns_dir |
| 336 | + } |
| 337 | + }, |
| 338 | + outputFileSuffixes: { |
| 339 | + rendered : '' |
| 340 | + } |
| 341 | + }; |
| 342 | + pl.data = {}; |
| 343 | + pl.data.link = {}; |
| 344 | + pl.config.debug = false; |
| 345 | + pl.patterns = []; |
| 346 | + pl.partials = {}; |
| 347 | + |
| 348 | + var atomPattern = new Pattern('00-test/03-styled-atom.mustache'); |
| 349 | + atomPattern.template = fs.readFileSync(patterns_dir + '/00-test/03-styled-atom.mustache', 'utf8'); |
| 350 | + atomPattern.stylePartials = pattern_assembler.find_pattern_partials_with_style_modifiers(atomPattern); |
| 351 | + atomPattern.parameteredPartials = pattern_assembler.find_pattern_partials_with_parameters(atomPattern); |
| 352 | + |
| 353 | + var anotherPattern = new Pattern('00-test/12-another-styled-atom.mustache'); |
| 354 | + anotherPattern.template = fs.readFileSync(patterns_dir + '/00-test/12-another-styled-atom.mustache', 'utf8'); |
| 355 | + anotherPattern.stylePartials = pattern_assembler.find_pattern_partials_with_style_modifiers(anotherPattern); |
| 356 | + anotherPattern.parameteredPartials = pattern_assembler.find_pattern_partials_with_parameters(anotherPattern); |
| 357 | + |
| 358 | + pattern_assembler.addPattern(atomPattern, pl); |
| 359 | + pattern_assembler.addPattern(anotherPattern, pl); |
| 360 | + |
| 361 | + //act |
| 362 | + pattern_assembler.process_pattern_recursive('00-test' + path.sep + '12-another-styled-atom.mustache', pl, {}); |
| 363 | + |
| 364 | + //assert |
| 365 | + var expectedCleanValue = '<span class="test_base {{styleModifier}}"> {{message}} </span>'; |
| 366 | + var expectedSetValue = '<span class="test_base test_1"> {{message}} </span>'; |
| 367 | + test.equals(anotherPattern.extendedTemplate.replace(/\s\s+/g, ' ').replace(/\n/g, ' ').trim(), expectedSetValue.trim()); |
| 368 | + test.equals(atomPattern.template.replace(/\s\s+/g, ' ').replace(/\n/g, ' ').trim(), expectedCleanValue.trim()); |
| 369 | + test.equals(atomPattern.extendedTemplate.replace(/\s\s+/g, ' ').replace(/\n/g, ' ').trim(), expectedCleanValue.trim()); |
| 370 | + test.done(); |
| 371 | + }, |
325 | 372 | 'setState - applies any patternState matching the pattern' : function(test){
|
326 | 373 | //arrange
|
327 | 374 | var pa = require('../core/lib/pattern_assembler');
|
|
0 commit comments