| 40 columns | |
| ### Tests for spread (and unspread) lists inside if elements. |
| >>> Spread then element stays unsplit if it fits. |
| var list = [if (c) ...[1, 2]]; |
| <<< |
| var list = [ |
| if (c) ...[1, 2], |
| ]; |
| >>> Spread else stays unsplit if it fits. |
| var list = [if (c) 1 else ...[2, 3]]; |
| <<< |
| var list = [ |
| if (c) 1 else ...[2, 3], |
| ]; |
| >>> Spread then and else stay unsplit if they fit. |
| var list = [if (c) ...[1, 2] else ...[3, 4]]; |
| <<< |
| var list = [ |
| if (c) ...[1, 2] else ...[3, 4], |
| ]; |
| >>> Spread then formats like block if it splits. |
| var list = [if (c) ...[element1, element2, element3]]; |
| <<< |
| var list = [ |
| if (c) ...[ |
| element1, |
| element2, |
| element3, |
| ], |
| ]; |
| >>> Both spreads split if then spread splits. |
| var list = [if (c) ...[element1, element2, element3] else ...[1, 2]]; |
| <<< |
| var list = [ |
| if (c) ...[ |
| element1, |
| element2, |
| element3, |
| ] else ...[ |
| 1, |
| 2, |
| ], |
| ]; |
| >>> Both spreads split if else spread splits. |
| var list = [if (c) ...[1, 2] else ...[element1, element2, element3]]; |
| <<< |
| var list = [ |
| if (c) ...[ |
| 1, |
| 2, |
| ] else ...[ |
| element1, |
| element2, |
| element3, |
| ], |
| ]; |
| >>> An empty spread then is not treated like block. |
| var list = [ |
| if (condition) ...[] else ...[veryLongElement,veryLongElement,veryLongElement,] |
| ]; |
| <<< |
| var list = [ |
| if (condition) |
| ...[] |
| else ...[ |
| veryLongElement, |
| veryLongElement, |
| veryLongElement, |
| ], |
| ]; |
| >>> An empty spread else is not treated like block. |
| var list = [ |
| if (condition) ...[veryLongElement,veryLongElement,veryLongElement,] else ...[] |
| ]; |
| <<< |
| var list = [ |
| if (condition) ...[ |
| veryLongElement, |
| veryLongElement, |
| veryLongElement, |
| ] else |
| ...[], |
| ]; |
| >>> An empty spread then doesn't split. |
| var list = [ |
| if (condition) ...[] else veryLongIdentifier |
| ]; |
| <<< |
| var list = [ |
| if (condition) |
| ...[] |
| else |
| veryLongIdentifier, |
| ]; |
| >>> An empty spread else doesn't split. |
| var list = [ |
| if (condition) veryLongIdentifier else ...[] |
| ]; |
| <<< |
| var list = [ |
| if (condition) |
| veryLongIdentifier |
| else |
| ...[], |
| ]; |
| >>> An empty spread then with a comment is treated like a block. |
| var list = [ |
| if (condition) ...[// c |
| ] else ...[veryLongElement,veryLongElement,veryLongElement,] |
| ]; |
| <<< |
| var list = [ |
| if (condition) ...[ |
| // c |
| ] else ...[ |
| veryLongElement, |
| veryLongElement, |
| veryLongElement, |
| ], |
| ]; |
| >>> An empty spread else with a comment treated like a block. |
| var list = [ |
| if (condition) ...[veryLongElement,veryLongElement,veryLongElement,] else ...[// c |
| ] |
| ]; |
| <<< |
| var list = [ |
| if (condition) ...[ |
| veryLongElement, |
| veryLongElement, |
| veryLongElement, |
| ] else ...[ |
| // c |
| ], |
| ]; |
| >>> A single-line list that isn't spread. |
| var list = [if (a) [b]]; |
| <<< |
| var list = [ |
| if (a) [b], |
| ]; |
| >>> A collection that isn't spread wraps and indents. |
| var list = [if (condition) [element1, element2, element3]]; |
| <<< |
| var list = [ |
| if (condition) |
| [element1, element2, element3], |
| ]; |
| >>> |
| var list = [if (c) [element1, element2, element3, element4]]; |
| <<< |
| var list = [ |
| if (c) |
| [ |
| element1, |
| element2, |
| element3, |
| element4, |
| ], |
| ]; |
| >>> |
| var list = [if (c) [element1, element2, element3] else thing]; |
| <<< |
| var list = [ |
| if (c) |
| [element1, element2, element3] |
| else |
| thing, |
| ]; |
| >>> |
| var list = [if (c) [element1, element2, element3, element4] else thing]; |
| <<< |
| var list = [ |
| if (c) |
| [ |
| element1, |
| element2, |
| element3, |
| element4, |
| ] |
| else |
| thing, |
| ]; |
| >>> |
| var list = [if (c) thing else [element1, element2, element3]]; |
| <<< |
| var list = [ |
| if (c) |
| thing |
| else |
| [element1, element2, element3], |
| ]; |
| >>> |
| var list = [if (c) thing else [element1, element2, element3, element4]]; |
| <<< |
| var list = [ |
| if (c) |
| thing |
| else |
| [ |
| element1, |
| element2, |
| element3, |
| element4, |
| ], |
| ]; |