Index: packages/dart_style/test/splitting/list_arguments.stmt |
diff --git a/packages/dart_style/test/splitting/list_arguments.stmt b/packages/dart_style/test/splitting/list_arguments.stmt |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8a2b17a88bb1c710c78c071aac85933dbf8bdaf9 |
--- /dev/null |
+++ b/packages/dart_style/test/splitting/list_arguments.stmt |
@@ -0,0 +1,342 @@ |
+40 columns | |
+>>> args before and after list forces nesting |
+method(first,[element, element, element, element],third); |
+<<< |
+method( |
+ first, |
+ [ |
+ element, |
+ element, |
+ element, |
+ element |
+ ], |
+ third); |
+>>> nothing but list args does not nest |
+longFunctionName([element, element, element, element], [element, element, element, element], [element, element, element, element]); |
+<<< |
+longFunctionName([ |
+ element, |
+ element, |
+ element, |
+ element |
+], [ |
+ element, |
+ element, |
+ element, |
+ element |
+], [ |
+ element, |
+ element, |
+ element, |
+ element |
+]); |
+>>> trailing lists do not nest |
+longFunctionName(argument, argument, argument, argument, [element, element, element, element], [element, element, element, element]); |
+<<< |
+longFunctionName(argument, argument, |
+ argument, argument, [ |
+ element, |
+ element, |
+ element, |
+ element |
+], [ |
+ element, |
+ element, |
+ element, |
+ element |
+]); |
+>>> leading lists do not nest |
+longFunctionName([element, element, element, element], [element, element, element, element], argument, argument, argument, argument); |
+<<< |
+longFunctionName([ |
+ element, |
+ element, |
+ element, |
+ element |
+], [ |
+ element, |
+ element, |
+ element, |
+ element |
+], argument, argument, argument, |
+ argument); |
+>>> arg between lists forces nesting |
+longFunctionName([element, element, element, element], argument, [element, element, element, element]); |
+<<< |
+longFunctionName( |
+ [ |
+ element, |
+ element, |
+ element, |
+ element |
+ ], |
+ argument, |
+ [ |
+ element, |
+ element, |
+ element, |
+ element |
+ ]); |
+>>> unsplit leading args |
+longFunctionName(arg, arg, [element, element, element, element]); |
+<<< |
+longFunctionName(arg, arg, [ |
+ element, |
+ element, |
+ element, |
+ element |
+]); |
+>>> split before leading args |
+longFunctionName(argument, argument, argument, [element, element, element, element]); |
+<<< |
+longFunctionName( |
+ argument, argument, argument, [ |
+ element, |
+ element, |
+ element, |
+ element |
+]); |
+>>> split in middle of leading args |
+longFunctionName(argument, argument, argument, argument, [element, element, element, element]); |
+<<< |
+longFunctionName(argument, argument, |
+ argument, argument, [ |
+ element, |
+ element, |
+ element, |
+ element |
+]); |
+>>> split before all leading args |
+longFunctionName(argument, argument, argument, argument, argument, argument, |
+[element, element, element, element]); |
+<<< |
+longFunctionName( |
+ argument, |
+ argument, |
+ argument, |
+ argument, |
+ argument, |
+ argument, [ |
+ element, |
+ element, |
+ element, |
+ element |
+]); |
+>>> unsplit trailing args |
+longFunctionName([element, element, element, element], argument, argument); |
+<<< |
+longFunctionName([ |
+ element, |
+ element, |
+ element, |
+ element |
+], argument, argument); |
+>>> split before trailing args |
+longFunctionName([element, element, element, element] /* very very long comment */, |
+argument, argument); |
+<<< |
+longFunctionName([ |
+ element, |
+ element, |
+ element, |
+ element |
+] /* very very long comment */, |
+ argument, argument); |
+>>> split in middle of trailing args |
+longFunctionName([element, element, element, element], argument, argument, argument, argument); |
+<<< |
+longFunctionName([ |
+ element, |
+ element, |
+ element, |
+ element |
+], argument, argument, argument, |
+ argument); |
+>>> split before all trailing args |
+longFunctionName([element, element, element, element], argument, argument, argument, argument, |
+argument, argument, argument); |
+<<< |
+longFunctionName([ |
+ element, |
+ element, |
+ element, |
+ element |
+], |
+ argument, |
+ argument, |
+ argument, |
+ argument, |
+ argument, |
+ argument, |
+ argument); |
+>>> don't split leading lists |
+longFunctionName([e, e], [e, e, e], a); |
+<<< |
+longFunctionName([e, e], [e, e, e], a); |
+>>> split before all args including leading |
+longFunctionName([e, e], [e, e, e], argument); |
+<<< |
+longFunctionName( |
+ [e, e], [e, e, e], argument); |
+>>> split before one leading arg |
+longFunctionName([elem, elem], [elem, elem], argument); |
+<<< |
+longFunctionName([elem, elem], |
+ [elem, elem], argument); |
+>>> split before all args including leading |
+longFunctionName([elem], [elem, elem], [elem, elem, elem], argument, argument, |
+argument, argument, argument, argument, argument); |
+<<< |
+longFunctionName( |
+ [elem], |
+ [elem, elem], |
+ [elem, elem, elem], |
+ argument, |
+ argument, |
+ argument, |
+ argument, |
+ argument, |
+ argument, |
+ argument); |
+>>> don't split trailing lists |
+longFunctionName(a, [e, e], [e, e, e]); |
+<<< |
+longFunctionName(a, [e, e], [e, e, e]); |
+>>> split before all args including trailing |
+longFunctionName(argument, [e, e], [e, e, e]); |
+<<< |
+longFunctionName( |
+ argument, [e, e], [e, e, e]); |
+>>> split before one trailing arg |
+longFunctionName(argument, [elem, elem], [elem, elem]); |
+<<< |
+longFunctionName(argument, [elem, elem], |
+ [elem, elem]); |
+>>> split before all args including trailing |
+longFunctionName(argument, argument, [elem], [elem, elem], [elem, elem, elem]); |
+<<< |
+longFunctionName( |
+ argument, |
+ argument, |
+ [elem], |
+ [elem, elem], |
+ [elem, elem, elem]); |
+>>> named args before and after list forces nesting |
+method(a:first,b:[element, element, element, element],c:third); |
+<<< |
+method( |
+ a: first, |
+ b: [ |
+ element, |
+ element, |
+ element, |
+ element |
+ ], |
+ c: third); |
+>>> nothing but named list args does not nest |
+longFunctionName(a: [element, element, element, element], |
+b: [element, element, element, element], c: [element, element, element, element]); |
+<<< |
+longFunctionName(a: [ |
+ element, |
+ element, |
+ element, |
+ element |
+], b: [ |
+ element, |
+ element, |
+ element, |
+ element |
+], c: [ |
+ element, |
+ element, |
+ element, |
+ element |
+]); |
+>>> some named list args does not nest |
+longFunctionName([element, element, element, element], |
+a: [element, element, element, element], b: [element, element, element, element]); |
+<<< |
+longFunctionName([ |
+ element, |
+ element, |
+ element, |
+ element |
+], a: [ |
+ element, |
+ element, |
+ element, |
+ element |
+], b: [ |
+ element, |
+ element, |
+ element, |
+ element |
+]); |
+>>> nest trailing named if there are non-body named |
+longFunctionName(a: argument, b: argument, |
+c: [element, element, element, element], d: [element, element, element, element]); |
+<<< |
+longFunctionName( |
+ a: argument, |
+ b: argument, |
+ c: [ |
+ element, |
+ element, |
+ element, |
+ element |
+ ], |
+ d: [ |
+ element, |
+ element, |
+ element, |
+ element |
+ ]); |
+>>> leading named arguments |
+longFunctionName(name1: [element, element], name2: [element, element], name3: argument, name4: argument); |
+<<< |
+longFunctionName( |
+ name1: [element, element], |
+ name2: [element, element], |
+ name3: argument, |
+ name4: argument); |
+>>> don't nest because of nested 1-arg fn |
+outer(inner([element, element, element, element])); |
+<<< |
+outer(inner([ |
+ element, |
+ element, |
+ element, |
+ element |
+])); |
+>>> do nest because of nested many-arg fn |
+outer(argument, inner([element, element, element, element])); |
+<<< |
+outer( |
+ argument, |
+ inner([ |
+ element, |
+ element, |
+ element, |
+ element |
+ ])); |
+>>> don't nest because of nested 1-arg method call |
+obj.outer(obj.inner([element, element, element, element])); |
+<<< |
+obj.outer(obj.inner([ |
+ element, |
+ element, |
+ element, |
+ element |
+])); |
+>>> do nest because of nested many-arg method call |
+obj.outer(argument, obj.inner([element, element, element, element])); |
+<<< |
+obj.outer( |
+ argument, |
+ obj.inner([ |
+ element, |
+ element, |
+ element, |
+ element |
+ ])); |