diff --git a/src/parsers/directive.parser.ts b/src/parsers/directive.parser.ts index bbf2760..8111866 100644 --- a/src/parsers/directive.parser.ts +++ b/src/parsers/directive.parser.ts @@ -82,6 +82,6 @@ export class DirectiveParser implements ParserInterface { } protected cleanKey(val: string): string { - return val.replace(/\r?\n|\r|\t/g, ''); + return val.replace(/\r?\n|\r|\t/g, '').trim(); } } diff --git a/tests/parsers/directive.parser.spec.ts b/tests/parsers/directive.parser.spec.ts index 5129b05..c206734 100644 --- a/tests/parsers/directive.parser.spec.ts +++ b/tests/parsers/directive.parser.spec.ts @@ -117,4 +117,22 @@ describe('DirectiveParser', () => { const keys = parser.extract(contents, templateFilename).keys(); expect(keys).to.deep.equal(['client.search.searchBtn']); }); + + it('should extract contents without indent spaces and trim leading/trailing whitespace', () => { + const contents = ` +
+ this is an example + of a long label +
+ +
+

+ this is an example + of a long label +

+
+ `; + const keys = parser.extract(contents, templateFilename).keys(); + expect(keys).to.deep.equal(['this is an example of a long label']); + }); });