Skip to content

Commit fc9ae1a

Browse files
Merge pull request #544 from /issues/543-better-missing-patterns
Issues/543 better missing patterns
2 parents 92aeca9 + 8d036c8 commit fc9ae1a

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

core/lib/pattern_assembler.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,7 @@ var pattern_assembler = function () {
4545
return patternlab.patterns[i];
4646
}
4747
}
48-
if (patternlab.config.debug) {
49-
console.error('Could not find pattern with partial ' + partialName);
50-
}
48+
plutils.logOrange('Could not find pattern referenced with partial syntax ' + partialName + '. This can occur when a pattern was renamed, moved, or no longer exists but it still called within a different template somewhere.');
5149
return undefined;
5250
}
5351

@@ -442,8 +440,8 @@ var pattern_assembler = function () {
442440
function parseDataLinksHelper(patternlab, obj, key) {
443441
var linkRE, dataObjAsString, linkMatches;
444442

445-
//check for link.patternPartial
446-
linkRE = /link\.[A-z0-9-_]+/g;
443+
//check for 'link.patternPartial'
444+
linkRE = /(?:'|")(link\.[A-z0-9-_]+)(?:'|")/g;
447445

448446
//stringify the passed in object
449447
dataObjAsString = JSON5.stringify(obj);
@@ -458,7 +456,7 @@ var pattern_assembler = function () {
458456
if (dataLink && dataLink.split('.').length >= 2) {
459457

460458
//get the partial the link refers to
461-
var linkPatternPartial = dataLink.split('.')[1];
459+
var linkPatternPartial = dataLink.split('.')[1].replace('"', '').replace("'", "");
462460
var pattern = getPartial(linkPatternPartial, patternlab);
463461
if (pattern !== undefined) {
464462

@@ -472,7 +470,7 @@ var pattern_assembler = function () {
472470

473471
//also make sure our global replace didn't mess up a protocol
474472
fullLink = fullLink.replace(/:\//g, '://');
475-
dataObjAsString = dataObjAsString.replace(dataLink, fullLink);
473+
dataObjAsString = dataObjAsString.replace('link.' + linkPatternPartial, fullLink);
476474
}
477475
} else {
478476
if (patternlab.config.debug) {

test/pattern_assembler_tests.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -546,21 +546,21 @@ tap.test('parseDataLinks - replaces found link.* data for their expanded links',
546546
}
547547

548548
//assert before
549-
test.equals(pattern.jsonFileData.brad.url, "link.twitter-brad");
550-
test.equals(pattern.jsonFileData.dave.url, "link.twitter-dave");
551-
test.equals(pattern.jsonFileData.brian.url, "link.twitter-brian");
549+
test.equals(pattern.jsonFileData.brad.url, "link.twitter-brad", "brad pattern data should be found");
550+
test.equals(pattern.jsonFileData.dave.url, "link.twitter-dave", "dave pattern data should be found");
551+
test.equals(pattern.jsonFileData.brian.url, "link.twitter-brian", "brian pattern data should be found");
552552

553553
//act
554554
pattern_assembler.parse_data_links(patternlab);
555555

556556
//assert after
557-
test.equals(pattern.jsonFileData.brad.url, "https://twitter.com/brad_frost");
558-
test.equals(pattern.jsonFileData.dave.url, "https://twitter.com/dmolsen");
559-
test.equals(pattern.jsonFileData.brian.url, "https://twitter.com/bmuenzenmeyer");
557+
test.equals(pattern.jsonFileData.brad.url, "https://twitter.com/brad_frost", "brad pattern data should be replaced");
558+
test.equals(pattern.jsonFileData.dave.url, "https://twitter.com/dmolsen", "dave pattern data should be replaced");
559+
test.equals(pattern.jsonFileData.brian.url, "https://twitter.com/bmuenzenmeyer", "brian pattern data should be replaced");
560560

561-
test.equals(patternlab.data.brad.url, "https://twitter.com/brad_frost");
562-
test.equals(patternlab.data.dave.url, "https://twitter.com/dmolsen");
563-
test.equals(patternlab.data.brian.url, "https://twitter.com/bmuenzenmeyer");
561+
test.equals(patternlab.data.brad.url, "https://twitter.com/brad_frost", "global brad data should be replaced");
562+
test.equals(patternlab.data.dave.url, "https://twitter.com/dmolsen", "global dave data should be replaced");
563+
test.equals(patternlab.data.brian.url, "https://twitter.com/bmuenzenmeyer", "global brian data should be replaced");
564564
test.end();
565565
});
566566

0 commit comments

Comments
 (0)