Skip to content

Commit 2e2b225

Browse files
committed
Pattern States Should Always Inherit to Consuming Patterns, Not Just When The Consuming Pattern Has a State
clsoes #313
1 parent 1aee056 commit 2e2b225

File tree

3 files changed

+13
-14
lines changed

3 files changed

+13
-14
lines changed

core/lib/lineage_hunter.js

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
/*
2-
* patternlab-node - v1.2.2 - 2016
3-
*
1+
/*
2+
* patternlab-node - v1.2.2 - 2016
3+
*
44
* Brian Muenzenmeyer, and the web community.
5-
* Licensed under the MIT license.
6-
*
7-
* Many thanks to Brad Frost and Dave Olsen for inspiration, encouragement, and advice.
5+
* Licensed under the MIT license.
6+
*
7+
* Many thanks to Brad Frost and Dave Olsen for inspiration, encouragement, and advice.
88
*
99
*/
1010

@@ -123,12 +123,13 @@ var lineage_hunter = function () {
123123
var lineageRPattern = pattern_assembler.get_pattern_by_key(pattern.lineageRIndex[j], patternlab);
124124

125125
//only set patternState if pattern.patternState "is less than" the lineageRPattern.patternstate
126+
//or if lineageRPattern.patternstate (the consuming pattern) does not have a state
126127
//this makes patternlab apply the lowest common ancestor denominator
127-
if (patternlab.config.patternStateCascade.indexOf(pattern.patternState)
128-
< patternlab.config.patternStateCascade.indexOf(lineageRPattern.patternState)) {
128+
if (lineageRPattern.patternState === '' || (patternlab.config.patternStateCascade.indexOf(pattern.patternState)
129+
< patternlab.config.patternStateCascade.indexOf(lineageRPattern.patternState))) {
129130

130131
if (patternlab.config.debug) {
131-
console.log('Found a lower common denominator pattern state: ' + pattern.patternState + ' on ' + pattern.key + '. Setting reverse lineage pattern ' + lineageRPattern.key + ' from ' + lineageRPattern.patternState);
132+
console.log('Found a lower common denominator pattern state: ' + pattern.patternState + ' on ' + pattern.key + '. Setting reverse lineage pattern ' + lineageRPattern.key + ' from ' + (lineageRPattern.patternState === '' ? '<<blank>>' : lineageRPattern.patternState));
132133
}
133134

134135
lineageRPattern.patternState = pattern.patternState;

patternlab-config.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,7 @@
5151
},
5252
"patternStateCascade": ["inprogress", "inreview", "complete"],
5353
"patternStates": {
54-
"molecules-single-comment" : "complete",
55-
"organisms-sticky-comment" : "inreview",
56-
"templates-article" : "complete"
54+
"molecules-block-hero" : "inreview"
5755
},
5856
"patternExportKeys": [],
5957
"patternExportDirectory": "./pattern_exports/",

test/lineage_hunter_tests.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@
543543
test.done();
544544
},
545545

546-
'cascade_pattern_states does not promote lower pattern state when consumer does not display its own state' : function(test){
546+
'cascade_pattern_states promotes lower pattern state when consumer does not have its own state' : function(test){
547547
//arrange
548548
var pl = createBasePatternLabObject();
549549
pl.config.patternStates = {
@@ -572,7 +572,7 @@
572572
var consumerPatternReturned = pattern_assembler.get_pattern_by_key('test-foo', pl);
573573
test.equals(consumerPatternReturned.lineage.length, 1);
574574
test.equals(consumerPatternReturned.lineage[0].lineageState, 'inreview');
575-
test.equals(consumerPatternReturned.patternState, '');
575+
test.equals(consumerPatternReturned.patternState, 'inreview');
576576
test.done();
577577
}
578578

0 commit comments

Comments
 (0)