feat: indent in discriminant switch (#4165)

master
Evilebot Tnawi 2018-03-19 15:50:24 +03:00 committed by Lucas Azzola
parent 23cd5d44f7
commit 31530259a1
3 changed files with 106 additions and 3 deletions

View File

@ -1630,9 +1630,15 @@ function printPathNoParens(path, options, print, args) {
// Note: ignoring n.lexical because it has no printing consequences.
case "SwitchStatement":
return concat([
"switch (",
path.call(print, "discriminant"),
") {",
group(
concat([
"switch (",
indent(concat([softline, path.call(print, "discriminant")])),
softline,
")"
])
),
" {",
n.cases.length > 0
? indent(
concat([

View File

@ -223,3 +223,71 @@ switch (1) {
}
`;
exports[`switch.js 1`] = `
switch (a) {
case 3:
alert( '3' );
break;
case 4:
alert( '4' );
break;
case 5:
alert( '5' );
break;
default:
alert( 'default' );
}
switch (veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLong) {
case 3:
alert( '3' );
break;
default:
alert( 'default' );
}
switch (veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLong > veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLong) {
case 3:
alert( '3' );
break;
default:
alert( 'default' );
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
switch (a) {
case 3:
alert("3");
break;
case 4:
alert("4");
break;
case 5:
alert("5");
break;
default:
alert("default");
}
switch (
veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLong
) {
case 3:
alert("3");
break;
default:
alert("default");
}
switch (
veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLong >
veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLong
) {
case 3:
alert("3");
break;
default:
alert("default");
}
`;

29
tests/switch/switch.js Normal file
View File

@ -0,0 +1,29 @@
switch (a) {
case 3:
alert( '3' );
break;
case 4:
alert( '4' );
break;
case 5:
alert( '5' );
break;
default:
alert( 'default' );
}
switch (veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLong) {
case 3:
alert( '3' );
break;
default:
alert( 'default' );
}
switch (veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLong > veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLong) {
case 3:
alert( '3' );
break;
default:
alert( 'default' );
}