From cef1712dbab6e85f36ca40f5ec48b4b27a4dfb8d Mon Sep 17 00:00:00 2001 From: Liam Newman Date: Thu, 12 Mar 2015 16:42:38 -0700 Subject: [PATCH] Add tests for multiline handlebar comments Closes #636 --- js/test/beautify-html-tests.js | 54 ++++++++++++++++++++++++++++++++++ test/data/html.js | 6 ++++ 2 files changed, 60 insertions(+) diff --git a/js/test/beautify-html-tests.js b/js/test/beautify-html-tests.js index d87a5817e..498a904c8 100644 --- a/js/test/beautify-html-tests.js +++ b/js/test/beautify-html-tests.js @@ -293,6 +293,60 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be test_fragment('
'); test_fragment('
'); + // Handlebars Indenting On - (content = "{{! \n mult-line\ncomment \n with spacing\n}}") + opts.indent_handlebars = true; + test_fragment('{{#if 0}}{{/if}}'); + test_fragment('{{#if 0}}{{! \n mult-line\ncomment \n with spacing\n}}{{/if}}'); + test_fragment('{{#if 0}}\n{{/if}}'); + test_fragment( + '{{#if words}}{{/if}}', + '{{#if words}}{{/if}}'); + test_fragment( + '{{#if words}}{{! \n mult-line\ncomment \n with spacing\n}}{{/if}}', + '{{#if words}}{{! \n mult-line\ncomment \n with spacing\n}}{{/if}}'); + test_fragment( + '{{#if words}}{{! \n mult-line\ncomment \n with spacing\n}}{{/if}}', + '{{#if words}}{{! \n mult-line\ncomment \n with spacing\n}}{{/if}}'); + test_fragment('{{#if 1}}\n
\n
\n{{/if}}'); + test_fragment( + '{{#if 1}}\n
\n
\n{{/if}}', + '{{#if 1}}\n
\n
\n{{/if}}'); + test_fragment('
\n {{#if 1}}\n {{/if}}\n
'); + test_fragment( + '
\n{{#if 1}}\n{{/if}}\n
', + '
\n {{#if 1}}\n {{/if}}\n
'); + test_fragment( + '{{#if}}\n{{#each}}\n{{#if}}\n{{! \n mult-line\ncomment \n with spacing\n}}\n{{/if}}\n{{#if}}\n{{! \n mult-line\ncomment \n with spacing\n}}\n{{/if}}\n{{/each}}\n{{/if}}', + '{{#if}}\n {{#each}}\n {{#if}}\n {{! \n mult-line\ncomment \n with spacing\n}}\n {{/if}}\n {{#if}}\n {{! \n mult-line\ncomment \n with spacing\n}}\n {{/if}}\n {{/each}}\n{{/if}}'); + test_fragment('{{#if 1}}\n
\n
\n{{/if}}'); + test_fragment( + '{{#if 1}}\n {{! \n mult-line\ncomment \n with spacing\n}}\n {{else}}\n {{! \n mult-line\ncomment \n with spacing\n}}\n{{/if}}', + '{{#if 1}}\n {{! \n mult-line\ncomment \n with spacing\n}}\n{{else}}\n {{! \n mult-line\ncomment \n with spacing\n}}\n{{/if}}'); + test_fragment( + '{{#if 1}}\n {{else}}\n {{/if}}', + '{{#if 1}}\n{{else}}\n{{/if}}'); + test_fragment( + '{{#if thing}}\n{{#if otherthing}}\n {{! \n mult-line\ncomment \n with spacing\n}}\n {{else}}\n{{! \n mult-line\ncomment \n with spacing\n}}\n {{/if}}\n {{else}}\n{{! \n mult-line\ncomment \n with spacing\n}}\n{{/if}}', + '{{#if thing}}\n {{#if otherthing}}\n {{! \n mult-line\ncomment \n with spacing\n}}\n {{else}}\n {{! \n mult-line\ncomment \n with spacing\n}}\n {{/if}}\n{{else}}\n {{! \n mult-line\ncomment \n with spacing\n}}\n{{/if}}'); + test_fragment( + '', + '
'); + test_fragment( + '{{! \n mult-line\ncomment \n with spacing\n}}', + '
{{! \n mult-line\ncomment \n with spacing\n}}
'); + test_fragment( + '{{! \n mult-line\ncomment \n with spacing\n}}', + '
{{! \n mult-line\ncomment \n with spacing\n}}
'); + test_fragment( + '{{! \n mult-line\ncomment \n with spacing\n}}', + '{{! \n mult-line\ncomment \n with spacing\n}}'); + test_fragment('
{{! \n mult-line\ncomment \n with spacing\n}}
'); + test_fragment('
{{! \n mult-line\ncomment \n with spacing\n}}
'); + test_fragment('
'); + test_fragment('
'); + test_fragment('
'); + test_fragment('
'); + // Unformatted tags diff --git a/test/data/html.js b/test/data/html.js index 20e8a241e..6aea81642 100644 --- a/test/data/html.js +++ b/test/data/html.js @@ -145,6 +145,12 @@ exports.test_data = { ], content: '{pre{{field1}} {{field2}} {{field3}}post' } + , { + options: [ + { name: "indent_handlebars", value: "true" } + ], + content: '{{! \\n mult-line\\ncomment \\n with spacing\\n}}' + } ], tests: [ { fragment: true, unchanged: '{{#if 0}}{{/if}}' },