|
2 | 2 | "use strict";
|
3 | 3 |
|
4 | 4 | var lh = require('../builder/lineage_hunter');
|
| 5 | + var of = require('../builder/object_factory'); |
| 6 | + var extend = require('util')._extend; |
| 7 | + |
| 8 | + // fake pattern creators |
| 9 | + function createFakeEmptyErrorPattern() { |
| 10 | + return new of.oPattern( |
| 11 | + '/home/fakeuser/pl/source/_patterns/01-molecules/01-toast/00-error.mustache', // abspath |
| 12 | + '01-molecules\\01-toast', // subdir |
| 13 | + '00-error.mustache', // filename, |
| 14 | + null // data |
| 15 | + ); |
| 16 | + } |
5 | 17 |
|
6 | 18 | exports['lineage hunter '] = {
|
7 | 19 | 'test lineage hunter finds lineage' : function(test){
|
8 | 20 |
|
9 | 21 | //setup current pattern from what we would have during execution
|
10 |
| - var currentPattern = { |
11 |
| - "name": "02-organisms-00-global-00-header", |
12 |
| - "subdir": "02-organisms\\00-global", |
13 |
| - "filename": "00-header.mustache", |
14 |
| - "data": null, |
| 22 | + var currentPattern = new of.oPattern( |
| 23 | + '/home/fakeuser/pl/source/_patterns/02-organisms/00-global/00-header.mustache', // abspath |
| 24 | + '02-organisms\\00-global', // subdir |
| 25 | + '00-header.mustache', // filename, |
| 26 | + null // data |
| 27 | + ); |
| 28 | + extend(currentPattern, { |
15 | 29 | "template": "<!-- Begin .header -->\r\n<header class=\"header cf\" role=\"banner\">\r\n\t{{> atoms-logo }}\r\n\t<a href=\"#\" class=\"nav-toggle nav-toggle-search icon-search\"><span class=\"is-vishidden\">Search</span></a>\r\n\t<a href=\"#\" class=\"nav-toggle nav-toggle-menu icon-menu\"><span class=\"is-vishidden\">Menu</span></a>\r\n\t{{> molecules-primary-nav }}\r\n\t{{> molecules-search }}\r\n</header>\r\n<!-- End .header -->\r\n",
|
16 |
| - "patternPartial": "<!-- Begin .header -->\r\n<header class=\"header cf\" role=\"banner\">\r\n<a href=\"/\"><img src=\"../../images/logo.png\" class=\"logo\" alt=\"Logo Alt Text\" /></a>\t<a href=\"#\" class=\"nav-toggle nav-toggle-search icon-search\"><span class=\"is-vishidden\">Search</span></a>\r\n\t<a href=\"#\" class=\"nav-toggle nav-toggle-menu icon-menu\"><span class=\"is-vishidden\">Menu</span></a>\r\n<nav id=\"nav\" class=\"nav\">\r\n\t<ul>\r\n\t\t<li><a href=\"#\">Home</a></li>\r\n\t\t<li><a href=\"#\">About</a></li>\r\n\t\t<li><a href=\"#\">Blog</a></li>\r\n\t\t<li><a href=\"#\">Contact</a></li>\r\n\t</ul>\r\n</nav><!--end .nav-->\r\n<form action=\"#\" method=\"post\" class=\"inline-form search-form\"> \r\n <fieldset>\r\n\t <legend class=\"is-vishidden\">Search</legend>\r\n\t <label for=\"search-field\" class=\"is-vishidden\">Search</label>\r\n\t <input type=\"search\" placeholder=\"Search\" id=\"search-field\" class=\"search-field\" />\r\n\t <button class=\"search-submit\">\r\n\t \t<span class=\"icon-search\" aria-hidden=\"true\"></span>\r\n\t \t<span class=\"is-vishidden\">Search</span>\r\n\t </button>\r\n </fieldset>\r\n</form></header>\r\n<!-- End .header -->\r\n", |
17 |
| - "patternName": "header", |
18 |
| - "patternLink": "02-organisms-00-global-00-header/02-organisms-00-global-00-header.html", |
19 |
| - "patternGroup": "organisms", |
20 |
| - "patternSubGroup": "organisms\\00-global", |
21 |
| - "flatPatternPath": "02-organisms\\00-global", |
22 |
| - "patternState": "", |
23 |
| - "lineage": [], |
24 |
| - "lineageIndex": [], |
25 |
| - "lineageR": [], |
26 |
| - "lineageRIndex": [] |
27 |
| - }; |
| 30 | + "patternPartial": "<!-- Begin .header -->\r\n<header class=\"header cf\" role=\"banner\">\r\n<a href=\"/\"><img src=\"../../images/logo.png\" class=\"logo\" alt=\"Logo Alt Text\" /></a>\t<a href=\"#\" class=\"nav-toggle nav-toggle-search icon-search\"><span class=\"is-vishidden\">Search</span></a>\r\n\t<a href=\"#\" class=\"nav-toggle nav-toggle-menu icon-menu\"><span class=\"is-vishidden\">Menu</span></a>\r\n<nav id=\"nav\" class=\"nav\">\r\n\t<ul>\r\n\t\t<li><a href=\"#\">Home</a></li>\r\n\t\t<li><a href=\"#\">About</a></li>\r\n\t\t<li><a href=\"#\">Blog</a></li>\r\n\t\t<li><a href=\"#\">Contact</a></li>\r\n\t</ul>\r\n</nav><!--end .nav-->\r\n<form action=\"#\" method=\"post\" class=\"inline-form search-form\"> \r\n <fieldset>\r\n\t <legend class=\"is-vishidden\">Search</legend>\r\n\t <label for=\"search-field\" class=\"is-vishidden\">Search</label>\r\n\t <input type=\"search\" placeholder=\"Search\" id=\"search-field\" class=\"search-field\" />\r\n\t <button class=\"search-submit\">\r\n\t \t<span class=\"icon-search\" aria-hidden=\"true\"></span>\r\n\t \t<span class=\"is-vishidden\">Search</span>\r\n\t </button>\r\n </fieldset>\r\n</form></header>\r\n<!-- End .header -->\r\n" |
| 31 | + }); |
| 32 | + |
28 | 33 | var patternlab = {
|
29 | 34 | patterns: [
|
30 | 35 | {
|
|
97 | 102 |
|
98 | 103 | 'test lineage hunter finds lineage with spaced pattern parameters' : function(test){
|
99 | 104 | //setup current pattern from what we would have during execution
|
100 |
| - var currentPattern = { |
101 |
| - "name": "01-molecules-01-toast-00-error", |
102 |
| - "subdir": "01-molecules\\01-toast", |
103 |
| - "filename": "00-error.mustache", |
104 |
| - "data": null, |
| 105 | + var currentPattern = createFakeEmptyErrorPattern(); |
| 106 | + extend(currentPattern, { |
105 | 107 | "template": "{{> atoms-error(message: 'That\'s no moon...') }}",
|
106 |
| - "patternPartial": "{{> atoms-error(message: 'That\'s no moon...') }}", |
107 |
| - "patternName": "error", |
108 |
| - "patternLink": "01-molecules-01-toast-00-error/01-molecules-01-toast-00-error.html", |
109 |
| - "patternGroup": "molecules", |
110 |
| - "patternSubGroup": "molecules\\01-toast", |
111 |
| - "flatPatternPath": "01-molecules\\01-toast", |
112 |
| - "patternState": "", |
113 |
| - "lineage": [], |
114 |
| - "lineageIndex": [], |
115 |
| - "lineageR": [], |
116 |
| - "lineageRIndex": [] |
117 |
| - }; |
| 108 | + "patternPartial": "{{> atoms-error(message: 'That\'s no moon...') }}" |
| 109 | + }); |
| 110 | + |
118 | 111 | var patternlab = {
|
119 | 112 | patterns: [
|
120 | 113 | {
|
|
149 | 142 |
|
150 | 143 | 'test lineage hunter finds lineage with unspaced pattern parameters' : function(test){
|
151 | 144 | //setup current pattern from what we would have during execution
|
152 |
| - var currentPattern = { |
153 |
| - "name": "01-molecules-01-toast-00-error", |
154 |
| - "subdir": "01-molecules\\01-toast", |
155 |
| - "filename": "00-error.mustache", |
156 |
| - "data": null, |
| 145 | + var currentPattern = createFakeEmptyErrorPattern(); |
| 146 | + extend(currentPattern, { |
157 | 147 | "template": "{{>atoms-error(message: 'That\'s no moon...')}}",
|
158 | 148 | "patternPartial": "{{>atoms-error(message: 'That\'s no moon...')}}",
|
159 |
| - "patternName": "error", |
160 |
| - "patternLink": "01-molecules-01-toast-00-error/01-molecules-01-toast-00-error.html", |
161 |
| - "patternGroup": "molecules", |
162 |
| - "patternSubGroup": "molecules\\01-toast", |
163 |
| - "flatPatternPath": "01-molecules\\01-toast", |
164 |
| - "patternState": "", |
165 |
| - "lineage": [], |
166 |
| - "lineageIndex": [], |
167 |
| - "lineageR": [], |
168 |
| - "lineageRIndex": [] |
169 |
| - }; |
| 149 | + }); |
| 150 | + |
170 | 151 | var patternlab = {
|
171 | 152 | patterns: [
|
172 | 153 | {
|
|
203 | 184 |
|
204 | 185 | 'test lineage hunter does not apply lineage twice' : function(test){
|
205 | 186 | //setup current pattern from what we would have during execution
|
206 |
| - var currentPattern = { |
207 |
| - "name": "01-molecules-01-toast-00-error", |
208 |
| - "subdir": "01-molecules\\01-toast", |
209 |
| - "filename": "00-error.mustache", |
210 |
| - "data": null, |
| 187 | + var currentPattern = createFakeEmptyErrorPattern(); |
| 188 | + extend(currentPattern, { |
211 | 189 | "template": "{{>atoms-error(message: 'That\'s no moon...')}}",
|
212 |
| - "patternPartial": "{{>atoms-error(message: 'That\'s no moon...')}}", |
213 |
| - "patternName": "error", |
214 |
| - "patternLink": "01-molecules-01-toast-00-error/01-molecules-01-toast-00-error.html", |
215 |
| - "patternGroup": "molecules", |
216 |
| - "patternSubGroup": "molecules\\01-toast", |
217 |
| - "flatPatternPath": "01-molecules\\01-toast", |
218 |
| - "patternState": "", |
219 |
| - "lineage": [], |
220 |
| - "lineageIndex": [], |
221 |
| - "lineageR": [], |
222 |
| - "lineageRIndex": [] |
223 |
| - }; |
| 190 | + "patternPartial": "{{>atoms-error(message: 'That\'s no moon...')}}" |
| 191 | + }); |
224 | 192 | var patternlab = {
|
225 | 193 | patterns: [
|
226 | 194 | {
|
|
254 | 222 | test.equals(JSON.parse(patternlab.patterns[0].lineageR).lineagePattern, 'molecules-error');
|
255 | 223 |
|
256 | 224 | test.done();
|
257 |
| - }, |
| 225 | + } |
258 | 226 |
|
259 | 227 |
|
260 | 228 | };
|
|
0 commit comments