@@ -5,29 +5,35 @@ var pha = require('../core/lib/pseudopattern_hunter');
5
5
var pa = require ( '../core/lib/pattern_assembler' ) ;
6
6
var Pattern = require ( '../core/lib/object_factory' ) . Pattern ;
7
7
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
+
8
33
exports [ 'pseudopattern_hunter' ] = {
9
34
'pseudpattern found and added as a pattern' : function ( test ) {
10
35
//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 ( ) ;
31
37
32
38
var atomPattern = new Pattern ( '00-test/03-styled-atom.mustache' ) ;
33
39
atomPattern . template = fs . readFileSync ( patterns_dir + '00-test/03-styled-atom.mustache' , 'utf8' ) ;
@@ -47,6 +53,36 @@ exports['pseudopattern_hunter'] = {
47
53
test . equals ( JSON . stringify ( pl . patterns [ 1 ] . jsonFileData ) , JSON . stringify ( { "message" : "alternateMessage" } ) ) ;
48
54
test . equals ( pl . patterns [ 1 ] . patternLink , '00-test-03-styled-atom-alt' + path . sep + '00-test-03-styled-atom-alt.html' ) ;
49
55
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
+
50
86
test . done ( ) ;
51
87
}
52
88
} ;
0 commit comments