From 3e793f079d20515abc000ce7642777b5c84a80be Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Sat, 1 Apr 2017 00:07:14 +0100 Subject: [PATCH] build(aio): fix empty docplaster processing --- .../examples-package/services/region-parser.js | 7 +++++-- .../examples-package/services/region-parser.spec.js | 10 ++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/aio/transforms/examples-package/services/region-parser.js b/aio/transforms/examples-package/services/region-parser.js index d9bd731af1..7372d4fce1 100644 --- a/aio/transforms/examples-package/services/region-parser.js +++ b/aio/transforms/examples-package/services/region-parser.js @@ -56,7 +56,9 @@ function regionParserImpl(contents, fileType) { `Tried to open a region, named "${regionName}", that is already open`, index); } region.open = true; - region.lines.push(plaster); + if (plaster) { + region.lines.push(plaster); + } } else { regionMap[regionName] = {lines: [], open: true}; } @@ -86,7 +88,8 @@ function regionParserImpl(contents, fileType) { // doc plaster processing } else if (updatePlaster) { - plaster = regionMatcher.createPlasterComment(updatePlaster[1].trim()); + const plasterString = updatePlaster[1].trim(); + plaster = plasterString ? regionMatcher.createPlasterComment(plasterString) : ''; // simple line of content processing } else { diff --git a/aio/transforms/examples-package/services/region-parser.spec.js b/aio/transforms/examples-package/services/region-parser.spec.js index e9b8e93fad..925a2c3508 100644 --- a/aio/transforms/examples-package/services/region-parser.spec.js +++ b/aio/transforms/examples-package/services/region-parser.spec.js @@ -153,6 +153,16 @@ describe('regionParser service', () => { expect(output.regions['A']).toEqual(t('jkl', '/* ... elided ... */', 'pqr')); }); + it('should remove the plaster altogether if the current plaster string is ""', () => { + const output = regionParser( + t('/* #docregion */', 'abc', '/* #enddocregion */', 'def', '/* #docregion */', 'ghi', + '/* #enddocregion */', '/* #docplaster */', '/* #docregion A */', 'jkl', + '/* #enddocregion A */', 'mno', '/* #docregion A */', 'pqr', '/* #enddocregion A */'), + 'test-type'); + expect(output.regions['']).toEqual(t('abc', '/* . . . */', 'ghi')); + expect(output.regions['A']).toEqual(t('jkl', 'pqr')); + }); + it('should parse multiple region names separated by commas', () => { const output = regionParser( t('/* #docregion , A, B */', 'abc', '/* #enddocregion B */', '/* #docregion C */', 'xyz',