mirror of
https://github.com/beautifier/js-beautify.git
synced 2025-02-24 07:11:17 +00:00
parent
59b416666f
commit
9a53aba300
@ -229,11 +229,11 @@ function Beautifier(html_source, options, js_beautify, css_beautify) {
|
||||
return parser_token;
|
||||
};
|
||||
|
||||
this.indent_to_tag = function(tag) {
|
||||
this.indent_to_tag = function(tag_list) {
|
||||
var temp_parent = this.tags;
|
||||
|
||||
while (temp_parent) { //till we reach '' (the initial value);
|
||||
if (temp_parent.tag === tag) { //if this is it use it
|
||||
if (tag_list.indexOf(temp_parent.tag) !== -1) { //if this is it use it
|
||||
break;
|
||||
}
|
||||
temp_parent = temp_parent.parent;
|
||||
@ -297,7 +297,7 @@ function Beautifier(html_source, options, js_beautify, css_beautify) {
|
||||
parser_token.type = 'TK_TAG_SINGLE';
|
||||
parser_token.is_closing_tag = true;
|
||||
} else if (indent_handlebars && tag_start_char === '{' && tag_check === 'else') {
|
||||
this.indent_to_tag('if');
|
||||
this.indent_to_tag(['if', 'unless']);
|
||||
parser_token.type = 'TK_TAG_HANDLEBARS_ELSE';
|
||||
this.indent_content = true;
|
||||
} else if (indent_handlebars && tag_start_char === '{' && (/[^#\^\/]/.test(raw_token.text.charAt(2)))) {
|
||||
|
@ -1074,6 +1074,26 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be
|
||||
'{{em-input label="Some Labe" property="amt" type="text" placeholder=""}}\n' +
|
||||
'{{em-input label="Type*" property="type" type="text" placeholder="(LTD)"}}\n' +
|
||||
'{{em-input label="Place*" property="place" type="text" placeholder=""}}');
|
||||
bth(
|
||||
'{{#if callOn}}\n' +
|
||||
'{{#unless callOn}}\n' +
|
||||
' {{translate "onText"}}\n' +
|
||||
' {{else}}\n' +
|
||||
'{{translate "offText"}}\n' +
|
||||
'{{/unless callOn}}\n' +
|
||||
' {{else if (eq callOn false)}}\n' +
|
||||
'{{translate "offText"}}\n' +
|
||||
' {{/if}}',
|
||||
// -- output --
|
||||
'{{#if callOn}}\n' +
|
||||
'{{#unless callOn}}\n' +
|
||||
'{{translate "onText"}}\n' +
|
||||
'{{else}}\n' +
|
||||
'{{translate "offText"}}\n' +
|
||||
'{{/unless callOn}}\n' +
|
||||
'{{else if (eq callOn false)}}\n' +
|
||||
'{{translate "offText"}}\n' +
|
||||
'{{/if}}');
|
||||
|
||||
|
||||
//============================================================
|
||||
@ -1240,6 +1260,28 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be
|
||||
'{{else}}\n' +
|
||||
' {{field}}\n' +
|
||||
'{{/if}}');
|
||||
|
||||
// ISSUE #800 and #1123: else if and #unless
|
||||
bth(
|
||||
'{{#if callOn}}\n' +
|
||||
'{{#unless callOn}}\n' +
|
||||
' {{field}}\n' +
|
||||
' {{else}}\n' +
|
||||
'{{translate "offText"}}\n' +
|
||||
'{{/unless callOn}}\n' +
|
||||
' {{else if (eq callOn false)}}\n' +
|
||||
'{{field}}\n' +
|
||||
' {{/if}}',
|
||||
// -- output --
|
||||
'{{#if callOn}}\n' +
|
||||
' {{#unless callOn}}\n' +
|
||||
' {{field}}\n' +
|
||||
' {{else}}\n' +
|
||||
' {{translate "offText"}}\n' +
|
||||
' {{/unless callOn}}\n' +
|
||||
'{{else if (eq callOn false)}}\n' +
|
||||
' {{field}}\n' +
|
||||
'{{/if}}');
|
||||
test_fragment(
|
||||
'<div{{someStyle}}></div>',
|
||||
// -- output --
|
||||
@ -1428,6 +1470,28 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be
|
||||
'{{else}}\n' +
|
||||
' {{em-input label="Some Labe" property="amt" type="text" placeholder=""}}\n' +
|
||||
'{{/if}}');
|
||||
|
||||
// ISSUE #800 and #1123: else if and #unless
|
||||
bth(
|
||||
'{{#if callOn}}\n' +
|
||||
'{{#unless callOn}}\n' +
|
||||
' {{em-input label="Some Labe" property="amt" type="text" placeholder=""}}\n' +
|
||||
' {{else}}\n' +
|
||||
'{{translate "offText"}}\n' +
|
||||
'{{/unless callOn}}\n' +
|
||||
' {{else if (eq callOn false)}}\n' +
|
||||
'{{em-input label="Some Labe" property="amt" type="text" placeholder=""}}\n' +
|
||||
' {{/if}}',
|
||||
// -- output --
|
||||
'{{#if callOn}}\n' +
|
||||
' {{#unless callOn}}\n' +
|
||||
' {{em-input label="Some Labe" property="amt" type="text" placeholder=""}}\n' +
|
||||
' {{else}}\n' +
|
||||
' {{translate "offText"}}\n' +
|
||||
' {{/unless callOn}}\n' +
|
||||
'{{else if (eq callOn false)}}\n' +
|
||||
' {{em-input label="Some Labe" property="amt" type="text" placeholder=""}}\n' +
|
||||
'{{/if}}');
|
||||
test_fragment(
|
||||
'<div{{someStyle}}></div>',
|
||||
// -- output --
|
||||
@ -1616,6 +1680,28 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be
|
||||
'{{else}}\n' +
|
||||
' {{! comment}}\n' +
|
||||
'{{/if}}');
|
||||
|
||||
// ISSUE #800 and #1123: else if and #unless
|
||||
bth(
|
||||
'{{#if callOn}}\n' +
|
||||
'{{#unless callOn}}\n' +
|
||||
' {{! comment}}\n' +
|
||||
' {{else}}\n' +
|
||||
'{{translate "offText"}}\n' +
|
||||
'{{/unless callOn}}\n' +
|
||||
' {{else if (eq callOn false)}}\n' +
|
||||
'{{! comment}}\n' +
|
||||
' {{/if}}',
|
||||
// -- output --
|
||||
'{{#if callOn}}\n' +
|
||||
' {{#unless callOn}}\n' +
|
||||
' {{! comment}}\n' +
|
||||
' {{else}}\n' +
|
||||
' {{translate "offText"}}\n' +
|
||||
' {{/unless callOn}}\n' +
|
||||
'{{else if (eq callOn false)}}\n' +
|
||||
' {{! comment}}\n' +
|
||||
'{{/if}}');
|
||||
test_fragment(
|
||||
'<div{{someStyle}}></div>',
|
||||
// -- output --
|
||||
@ -1804,6 +1890,28 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be
|
||||
'{{else}}\n' +
|
||||
' {{!-- comment--}}\n' +
|
||||
'{{/if}}');
|
||||
|
||||
// ISSUE #800 and #1123: else if and #unless
|
||||
bth(
|
||||
'{{#if callOn}}\n' +
|
||||
'{{#unless callOn}}\n' +
|
||||
' {{!-- comment--}}\n' +
|
||||
' {{else}}\n' +
|
||||
'{{translate "offText"}}\n' +
|
||||
'{{/unless callOn}}\n' +
|
||||
' {{else if (eq callOn false)}}\n' +
|
||||
'{{!-- comment--}}\n' +
|
||||
' {{/if}}',
|
||||
// -- output --
|
||||
'{{#if callOn}}\n' +
|
||||
' {{#unless callOn}}\n' +
|
||||
' {{!-- comment--}}\n' +
|
||||
' {{else}}\n' +
|
||||
' {{translate "offText"}}\n' +
|
||||
' {{/unless callOn}}\n' +
|
||||
'{{else if (eq callOn false)}}\n' +
|
||||
' {{!-- comment--}}\n' +
|
||||
'{{/if}}');
|
||||
test_fragment(
|
||||
'<div{{someStyle}}></div>',
|
||||
// -- output --
|
||||
@ -1992,6 +2100,28 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be
|
||||
'{{else}}\n' +
|
||||
' {{Hello "woRld"}} {{!-- comment--}} {{heLloWorlD}}\n' +
|
||||
'{{/if}}');
|
||||
|
||||
// ISSUE #800 and #1123: else if and #unless
|
||||
bth(
|
||||
'{{#if callOn}}\n' +
|
||||
'{{#unless callOn}}\n' +
|
||||
' {{Hello "woRld"}} {{!-- comment--}} {{heLloWorlD}}\n' +
|
||||
' {{else}}\n' +
|
||||
'{{translate "offText"}}\n' +
|
||||
'{{/unless callOn}}\n' +
|
||||
' {{else if (eq callOn false)}}\n' +
|
||||
'{{Hello "woRld"}} {{!-- comment--}} {{heLloWorlD}}\n' +
|
||||
' {{/if}}',
|
||||
// -- output --
|
||||
'{{#if callOn}}\n' +
|
||||
' {{#unless callOn}}\n' +
|
||||
' {{Hello "woRld"}} {{!-- comment--}} {{heLloWorlD}}\n' +
|
||||
' {{else}}\n' +
|
||||
' {{translate "offText"}}\n' +
|
||||
' {{/unless callOn}}\n' +
|
||||
'{{else if (eq callOn false)}}\n' +
|
||||
' {{Hello "woRld"}} {{!-- comment--}} {{heLloWorlD}}\n' +
|
||||
'{{/if}}');
|
||||
test_fragment(
|
||||
'<div{{someStyle}}></div>',
|
||||
// -- output --
|
||||
@ -2180,6 +2310,28 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be
|
||||
'{{else}}\n' +
|
||||
' {pre{{field1}} {{field2}} {{field3}}post\n' +
|
||||
'{{/if}}');
|
||||
|
||||
// ISSUE #800 and #1123: else if and #unless
|
||||
bth(
|
||||
'{{#if callOn}}\n' +
|
||||
'{{#unless callOn}}\n' +
|
||||
' {pre{{field1}} {{field2}} {{field3}}post\n' +
|
||||
' {{else}}\n' +
|
||||
'{{translate "offText"}}\n' +
|
||||
'{{/unless callOn}}\n' +
|
||||
' {{else if (eq callOn false)}}\n' +
|
||||
'{pre{{field1}} {{field2}} {{field3}}post\n' +
|
||||
' {{/if}}',
|
||||
// -- output --
|
||||
'{{#if callOn}}\n' +
|
||||
' {{#unless callOn}}\n' +
|
||||
' {pre{{field1}} {{field2}} {{field3}}post\n' +
|
||||
' {{else}}\n' +
|
||||
' {{translate "offText"}}\n' +
|
||||
' {{/unless callOn}}\n' +
|
||||
'{{else if (eq callOn false)}}\n' +
|
||||
' {pre{{field1}} {{field2}} {{field3}}post\n' +
|
||||
'{{/if}}');
|
||||
test_fragment(
|
||||
'<div{{someStyle}}></div>',
|
||||
// -- output --
|
||||
@ -2445,6 +2597,44 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be
|
||||
' with spacing\n' +
|
||||
'}}\n' +
|
||||
'{{/if}}');
|
||||
|
||||
// ISSUE #800 and #1123: else if and #unless
|
||||
bth(
|
||||
'{{#if callOn}}\n' +
|
||||
'{{#unless callOn}}\n' +
|
||||
' {{! \n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
' with spacing\n' +
|
||||
'}}\n' +
|
||||
' {{else}}\n' +
|
||||
'{{translate "offText"}}\n' +
|
||||
'{{/unless callOn}}\n' +
|
||||
' {{else if (eq callOn false)}}\n' +
|
||||
'{{! \n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
' with spacing\n' +
|
||||
'}}\n' +
|
||||
' {{/if}}',
|
||||
// -- output --
|
||||
'{{#if callOn}}\n' +
|
||||
' {{#unless callOn}}\n' +
|
||||
' {{! \n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
' with spacing\n' +
|
||||
'}}\n' +
|
||||
' {{else}}\n' +
|
||||
' {{translate "offText"}}\n' +
|
||||
' {{/unless callOn}}\n' +
|
||||
'{{else if (eq callOn false)}}\n' +
|
||||
' {{! \n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
' with spacing\n' +
|
||||
'}}\n' +
|
||||
'{{/if}}');
|
||||
test_fragment(
|
||||
'<div{{someStyle}}></div>',
|
||||
// -- output --
|
||||
@ -2772,6 +2962,44 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be
|
||||
' with spacing\n' +
|
||||
'--}}\n' +
|
||||
'{{/if}}');
|
||||
|
||||
// ISSUE #800 and #1123: else if and #unless
|
||||
bth(
|
||||
'{{#if callOn}}\n' +
|
||||
'{{#unless callOn}}\n' +
|
||||
' {{!-- \n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
' with spacing\n' +
|
||||
'--}}\n' +
|
||||
' {{else}}\n' +
|
||||
'{{translate "offText"}}\n' +
|
||||
'{{/unless callOn}}\n' +
|
||||
' {{else if (eq callOn false)}}\n' +
|
||||
'{{!-- \n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
' with spacing\n' +
|
||||
'--}}\n' +
|
||||
' {{/if}}',
|
||||
// -- output --
|
||||
'{{#if callOn}}\n' +
|
||||
' {{#unless callOn}}\n' +
|
||||
' {{!-- \n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
' with spacing\n' +
|
||||
'--}}\n' +
|
||||
' {{else}}\n' +
|
||||
' {{translate "offText"}}\n' +
|
||||
' {{/unless callOn}}\n' +
|
||||
'{{else if (eq callOn false)}}\n' +
|
||||
' {{!-- \n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
' with spacing\n' +
|
||||
'--}}\n' +
|
||||
'{{/if}}');
|
||||
test_fragment(
|
||||
'<div{{someStyle}}></div>',
|
||||
// -- output --
|
||||
@ -3156,6 +3384,56 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be
|
||||
' with spacing\n' +
|
||||
' {{/ component}}--}}\n' +
|
||||
'{{/if}}');
|
||||
|
||||
// ISSUE #800 and #1123: else if and #unless
|
||||
bth(
|
||||
'{{#if callOn}}\n' +
|
||||
'{{#unless callOn}}\n' +
|
||||
' {{!-- \n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
'{{#> component}}\n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
' with spacing\n' +
|
||||
' {{/ component}}--}}\n' +
|
||||
' {{else}}\n' +
|
||||
'{{translate "offText"}}\n' +
|
||||
'{{/unless callOn}}\n' +
|
||||
' {{else if (eq callOn false)}}\n' +
|
||||
'{{!-- \n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
'{{#> component}}\n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
' with spacing\n' +
|
||||
' {{/ component}}--}}\n' +
|
||||
' {{/if}}',
|
||||
// -- output --
|
||||
'{{#if callOn}}\n' +
|
||||
' {{#unless callOn}}\n' +
|
||||
' {{!-- \n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
'{{#> component}}\n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
' with spacing\n' +
|
||||
' {{/ component}}--}}\n' +
|
||||
' {{else}}\n' +
|
||||
' {{translate "offText"}}\n' +
|
||||
' {{/unless callOn}}\n' +
|
||||
'{{else if (eq callOn false)}}\n' +
|
||||
' {{!-- \n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
'{{#> component}}\n' +
|
||||
' mult-line\n' +
|
||||
'comment \n' +
|
||||
' with spacing\n' +
|
||||
' {{/ component}}--}}\n' +
|
||||
'{{/if}}');
|
||||
test_fragment(
|
||||
'<div{{someStyle}}></div>',
|
||||
// -- output --
|
||||
@ -3449,6 +3727,28 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be
|
||||
'{{else}}\n' +
|
||||
' content\n' +
|
||||
'{{/if}}');
|
||||
|
||||
// ISSUE #800 and #1123: else if and #unless
|
||||
bth(
|
||||
'{{#if callOn}}\n' +
|
||||
'{{#unless callOn}}\n' +
|
||||
' content\n' +
|
||||
' {{else}}\n' +
|
||||
'{{translate "offText"}}\n' +
|
||||
'{{/unless callOn}}\n' +
|
||||
' {{else if (eq callOn false)}}\n' +
|
||||
'content\n' +
|
||||
' {{/if}}',
|
||||
// -- output --
|
||||
'{{#if callOn}}\n' +
|
||||
' {{#unless callOn}}\n' +
|
||||
' content\n' +
|
||||
' {{else}}\n' +
|
||||
' {{translate "offText"}}\n' +
|
||||
' {{/unless callOn}}\n' +
|
||||
'{{else if (eq callOn false)}}\n' +
|
||||
' content\n' +
|
||||
'{{/if}}');
|
||||
test_fragment(
|
||||
'<div{{someStyle}}></div>',
|
||||
// -- output --
|
||||
|
@ -569,6 +569,30 @@ exports.test_data = {
|
||||
'{{em-input label="Type*" property="type" type="text" placeholder="(LTD)"}}',
|
||||
'{{em-input label="Place*" property="place" type="text" placeholder=""}}'
|
||||
]
|
||||
},
|
||||
{
|
||||
input_: [
|
||||
'{{#if callOn}}',
|
||||
'{{#unless callOn}}',
|
||||
' {{translate "onText"}}',
|
||||
' {{else}}',
|
||||
'{{translate "offText"}}',
|
||||
'{{/unless callOn}}',
|
||||
' {{else if (eq callOn false)}}',
|
||||
'{{translate "offText"}}',
|
||||
' {{/if}}'
|
||||
],
|
||||
output: [
|
||||
'{{#if callOn}}',
|
||||
'{{#unless callOn}}',
|
||||
'{{translate "onText"}}',
|
||||
'{{else}}',
|
||||
'{{translate "offText"}}',
|
||||
'{{/unless callOn}}',
|
||||
'{{else if (eq callOn false)}}',
|
||||
'{{translate "offText"}}',
|
||||
'{{/if}}'
|
||||
]
|
||||
}
|
||||
]
|
||||
}, {
|
||||
@ -816,6 +840,31 @@ exports.test_data = {
|
||||
' ^^^&content$$$\n' +
|
||||
'{{/if}}'
|
||||
},
|
||||
{
|
||||
comment: 'ISSUE #800 and #1123: else if and #unless',
|
||||
input_: [
|
||||
'{{#if callOn}}',
|
||||
'{{#unless callOn}}',
|
||||
' ^^^&content$$$',
|
||||
' {{else}}',
|
||||
'{{translate "offText"}}',
|
||||
'{{/unless callOn}}',
|
||||
' {{else if (eq callOn false)}}',
|
||||
'^^^&content$$$',
|
||||
' {{/if}}'
|
||||
],
|
||||
output: [
|
||||
'{{#if callOn}}',
|
||||
' {{#unless callOn}}',
|
||||
' ^^^&content$$$',
|
||||
' {{else}}',
|
||||
' {{translate "offText"}}',
|
||||
' {{/unless callOn}}',
|
||||
'{{else if (eq callOn false)}}',
|
||||
' ^^^&content$$$',
|
||||
'{{/if}}'
|
||||
]
|
||||
},
|
||||
// Test {{}} inside of <> tags, which should be separated by spaces
|
||||
// for readability, unless they are inside a string.
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user