@@ -5,29 +5,35 @@ var pha = require('../core/lib/pseudopattern_hunter');
55var pa = require ( '../core/lib/pattern_assembler' ) ;
66var Pattern = require ( '../core/lib/object_factory' ) . Pattern ;
77
8+ var fs = require ( 'fs-extra' ) ;
9+ var pattern_assembler = new pa ( ) ;
10+ var pseudopattern_hunter = new pha ( ) ;
11+ var patterns_dir = './test/files/_patterns/' ;
12+
13+ function stubPatternlab ( ) {
14+ var pl = { } ;
15+ pl . config = {
16+ paths : {
17+ source : {
18+ patterns : patterns_dir
19+ }
20+ }
21+ } ;
22+ pl . data = { } ;
23+ pl . data . link = { } ;
24+ pl . config . debug = false ;
25+ pl . patterns = [ ] ;
26+ pl . partials = { } ;
27+ pl . config . patternStates = { } ;
28+ pl . config . outputFileSuffixes = { rendered : '' }
29+
30+ return pl ;
31+ }
32+
833exports [ 'pseudopattern_hunter' ] = {
934 'pseudpattern found and added as a pattern' : function ( test ) {
1035 //arrange
11- var fs = require ( 'fs-extra' ) ;
12- var pattern_assembler = new pa ( ) ;
13- var pseudopattern_hunter = new pha ( ) ;
14- var patterns_dir = './test/files/_patterns/' ;
15-
16- var pl = { } ;
17- pl . config = {
18- paths : {
19- source : {
20- patterns : patterns_dir
21- }
22- }
23- } ;
24- pl . data = { } ;
25- pl . data . link = { } ;
26- pl . config . debug = false ;
27- pl . patterns = [ ] ;
28- pl . partials = { } ;
29- pl . config . patternStates = { } ;
30- pl . config . outputFileSuffixes = { rendered : '' }
36+ var pl = stubPatternlab ( ) ;
3137
3238 var atomPattern = new Pattern ( '00-test/03-styled-atom.mustache' ) ;
3339 atomPattern . template = fs . readFileSync ( patterns_dir + '00-test/03-styled-atom.mustache' , 'utf8' ) ;
@@ -47,6 +53,36 @@ exports['pseudopattern_hunter'] = {
4753 test . equals ( JSON . stringify ( pl . patterns [ 1 ] . jsonFileData ) , JSON . stringify ( { "message" : "alternateMessage" } ) ) ;
4854 test . equals ( pl . patterns [ 1 ] . patternLink , '00-test-03-styled-atom-alt' + path . sep + '00-test-03-styled-atom-alt.html' ) ;
4955
56+ test . done ( ) ;
57+ } ,
58+
59+ 'pseudpattern variant includes stylePartials and parameteredPartials' : function ( test ) {
60+ //arrange
61+ var pl = stubPatternlab ( ) ;
62+
63+ var atomPattern = new Pattern ( '00-test/03-styled-atom.mustache' ) ;
64+ atomPattern . template = fs . readFileSync ( patterns_dir + '00-test/03-styled-atom.mustache' , 'utf8' ) ;
65+ atomPattern . extendedTemplate = atomPattern . template ;
66+ atomPattern . stylePartials = atomPattern . findPartialsWithStyleModifiers ( atomPattern ) ;
67+ atomPattern . parameteredPartials = atomPattern . findPartialsWithPatternParameters ( atomPattern ) ;
68+
69+ var pseudoPattern = new Pattern ( '00-test/474-pseudomodifier.mustache' ) ;
70+ pseudoPattern . template = fs . readFileSync ( patterns_dir + '00-test/474-pseudomodifier.mustache' , 'utf8' ) ;
71+ pseudoPattern . extendedTemplate = atomPattern . template ;
72+ pseudoPattern . stylePartials = pseudoPattern . findPartialsWithStyleModifiers ( pseudoPattern ) ;
73+ pseudoPattern . parameteredPartials = pseudoPattern . findPartialsWithPatternParameters ( pseudoPattern ) ;
74+
75+ pattern_assembler . addPattern ( atomPattern , pl ) ;
76+ pattern_assembler . addPattern ( pseudoPattern , pl ) ;
77+
78+ //act
79+ pseudopattern_hunter . find_pseudopatterns ( pseudoPattern , pl ) ;
80+
81+ //assert
82+ test . equals ( pl . patterns [ 2 ] . patternPartial , 'test-pseudomodifier-test' ) ;
83+ test . equals ( pl . patterns [ 2 ] . stylePartials , pseudoPattern . stylePartials ) ;
84+ test . equals ( pl . patterns [ 2 ] . parameteredPartials , pseudoPattern . parameteredPartials ) ;
85+
5086 test . done ( ) ;
5187 }
5288} ;
0 commit comments