mirror of
https://github.com/beautifier/js-beautify.git
synced 2024-11-23 04:40:06 +00:00
fix - semicolon followed by block statement doesnt have new line
This change makes sure that a new line is added everytime a semicolon is followed by a block statement fixes #1852
This commit is contained in:
parent
49cd14de2f
commit
c90470061c
@ -765,7 +765,7 @@ Beautifier.prototype.handle_start_block = function(current_token) {
|
||||
}
|
||||
}
|
||||
if (this._flags.last_token.type !== TOKEN.OPERATOR && this._flags.last_token.type !== TOKEN.START_EXPR) {
|
||||
if (this._flags.last_token.type === TOKEN.START_BLOCK && !this._flags.inline_frame) {
|
||||
if (in_array(this._flags.last_token.type, [TOKEN.START_BLOCK, TOKEN.SEMICOLON]) && !this._flags.inline_frame) {
|
||||
this.print_newline();
|
||||
} else {
|
||||
this._output.space_before_token = true;
|
||||
|
@ -831,7 +831,7 @@ class Beautifier:
|
||||
|
||||
elif self._flags.last_token.type not in [TOKEN.OPERATOR, TOKEN.START_EXPR]:
|
||||
if (
|
||||
self._flags.last_token.type == TOKEN.START_BLOCK
|
||||
self._flags.last_token.type in [TOKEN.START_BLOCK, TOKEN.SEMICOLON]
|
||||
and not self._flags.inline_frame
|
||||
):
|
||||
self.print_newline()
|
||||
|
@ -192,7 +192,7 @@ function run_javascript_tests(test_obj, Urlencoded, js_beautify, html_beautify,
|
||||
'if (foo)' + eo + '{}' + ec + 'else /regex/.test();');
|
||||
test_fragment('if (foo)' + to + '{', 'if (foo)' + eo + '{');
|
||||
test_fragment('foo' + to + '{', 'foo' + eo + '{');
|
||||
test_fragment('return;' + to + '{', 'return;' + eo + '{');
|
||||
test_fragment('return;' + to + '{', 'return;\n{');
|
||||
bt( 'function x()' + to + '{\n foo();\n}zzz', 'function x()' + eo +'{\n foo();\n}\nzzz');
|
||||
bt( 'var a = new function a()' + to + '{};', 'var a = new function a()' + eo + '{};');
|
||||
bt( 'var a = new function a()' + to + ' {},\n b = new function b()' + to + ' {};',
|
||||
|
@ -3367,6 +3367,33 @@ exports.test_data = {
|
||||
' });',
|
||||
'var test = 1;'
|
||||
]
|
||||
}, {
|
||||
comment: "Issue #1852 - semicolon followed by block statement",
|
||||
unchanged: [
|
||||
'(function() {',
|
||||
' some_code_here();',
|
||||
' {',
|
||||
' /* IE11 let bug bypass */',
|
||||
' let index;',
|
||||
' for (index in a) {',
|
||||
' a[index];',
|
||||
' }',
|
||||
' }',
|
||||
'})();'
|
||||
]
|
||||
}, {
|
||||
comment: "Issue #1852 - semicolon followed by block statement 2",
|
||||
input: [
|
||||
'let x = { A: 1 }; { console.log("hello"); }'
|
||||
],
|
||||
output: [
|
||||
'let x = {',
|
||||
' A: 1',
|
||||
'};',
|
||||
'{',
|
||||
' console.log("hello");',
|
||||
'}'
|
||||
]
|
||||
}, {
|
||||
comment: "Issue #772",
|
||||
input: [
|
||||
|
Loading…
Reference in New Issue
Block a user