support multiline tags

This commit is contained in:
wojtask9
2017-04-10 11:58:45 +02:00
parent 20044c4256
commit 3bc7caa387
4 changed files with 19 additions and 4 deletions
+2 -2
View File
@@ -62,9 +62,9 @@ describe('tag', function() {
});
token = {
type: 'tag',
value: 'foo aa:foo bb: arr[0] cc: 2.3 dd:bar.coo',
value: 'foo aa:foo bb: arr[0] cc: 2.3\ndd:bar.coo',
name: 'foo',
args: 'aa:foo bb: arr[0] cc: 2.3 dd:bar.coo'
args: 'aa:foo bb: arr[0] cc: 2.3\ndd:bar.coo'
};
});
it('should call tag.render with scope', function() {
+15
View File
@@ -56,6 +56,21 @@ describe('tokenizer', function() {
expect(tokens[3].type).to.equal('html');
expect(tokens[3].raw).to.equal(' \n ');
});
it('should handle multiple lines tag', function() {
var html = '{%foo\na:a\nb:1.23\n%}';
var tokens = parse(html);
expect(tokens.length).to.equal(1);
expect(tokens[0].type).to.equal('tag');
expect(tokens[0].args).to.equal('a:a\nb:1.23');
expect(tokens[0].raw).to.equal('{%foo\na:a\nb:1.23\n%}');
});
it('should handle multiple lines output', function() {
var html = '{{foo\n|\date:\n"%Y-%m-%d"\n}}';
var tokens = parse(html);
expect(tokens.length).to.equal(1);
expect(tokens[0].type).to.equal('output');
expect(tokens[0].raw).to.equal('{{foo\n|\date:\n"%Y-%m-%d"\n}}');
});
});
describe('whitespace control', function() {
it('should not strip by default', function() {