@@ -87,6 +87,8 @@ describe('formatter', () => {
8787 echo four five six
8888 echo seven eight nine
8989
90+ [[ "$simplify" == "simplify" ]]
91+
9092 echo space redirects >/dev/null
9193
9294 function next() {
@@ -136,6 +138,8 @@ describe('formatter', () => {
136138 echo four five six
137139 echo seven eight nine
138140
141+ [[ "$simplify" == "simplify" ]]
142+
139143 echo space redirects >/dev/null
140144
141145 function next() {
@@ -185,6 +189,8 @@ describe('formatter', () => {
185189 echo four five six
186190 echo seven eight nine
187191
192+ [[ "$simplify" == "simplify" ]]
193+
188194 echo space redirects >/dev/null
189195
190196 function next() {
@@ -235,6 +241,8 @@ describe('formatter', () => {
235241 echo four five six
236242 echo seven eight nine
237243
244+ [[ "$simplify" == "simplify" ]]
245+
238246 echo space redirects >/dev/null
239247
240248 function next() {
@@ -285,6 +293,8 @@ describe('formatter', () => {
285293 echo four five six
286294 echo seven eight nine
287295
296+ [[ "$simplify" == "simplify" ]]
297+
288298 echo space redirects >/dev/null
289299
290300 function next() {
@@ -335,6 +345,8 @@ describe('formatter', () => {
335345 echo four five six
336346 echo seven eight nine
337347
348+ [[ "$simplify" == "simplify" ]]
349+
338350 echo space redirects >/dev/null
339351
340352 function next()
@@ -386,6 +398,60 @@ describe('formatter', () => {
386398 echo four five six
387399 echo seven eight nine
388400
401+ [[ "$simplify" == "simplify" ]]
402+
403+ echo space redirects >/dev/null
404+
405+ function next() {
406+ echo line
407+ }
408+ ",
409+ "range": {
410+ "end": {
411+ "character": 2147483647,
412+ "line": 2147483647,
413+ },
414+ "start": {
415+ "character": 0,
416+ "line": 0,
417+ },
418+ },
419+ },
420+ ]
421+ ` )
422+ } )
423+
424+ it ( 'should format after simplifying the code when simplifyCode is true' , async ( ) => {
425+ const [ result ] = await getFormattingResult ( {
426+ document : FIXTURE_DOCUMENT . SHFMT ,
427+ formatOptions : { tabSize : 2 , insertSpaces : true } ,
428+ shfmtConfig : { simplifyCode : true } ,
429+ } )
430+ expect ( result ) . toMatchInlineSnapshot ( `
431+ [
432+ {
433+ "newText": "#!/bin/bash
434+ set -ueo pipefail
435+
436+ if [ -z "$arg" ]; then
437+ echo indent
438+ fi
439+
440+ echo binary &&
441+ echo next line
442+
443+ case "$arg" in
444+ a)
445+ echo case indent
446+ ;;
447+ esac
448+
449+ echo one two three
450+ echo four five six
451+ echo seven eight nine
452+
453+ [[ $simplify == "simplify" ]]
454+
389455 echo space redirects >/dev/null
390456
391457 function next() {
@@ -436,6 +502,8 @@ describe('formatter', () => {
436502 echo four five six
437503 echo seven eight nine
438504
505+ [[ "$simplify" == "simplify" ]]
506+
439507 echo space redirects > /dev/null
440508
441509 function next() {
@@ -466,6 +534,7 @@ describe('formatter', () => {
466534 caseIndent : true ,
467535 funcNextLine : true ,
468536 keepPadding : true ,
537+ simplifyCode : true ,
469538 spaceRedirects : true ,
470539 } ,
471540 } )
@@ -492,6 +561,8 @@ describe('formatter', () => {
492561 echo four five six
493562 echo seven eight nine
494563
564+ [[ $simplify == "simplify" ]]
565+
495566 echo space redirects > /dev/null
496567
497568 function next()
0 commit comments