From 35cf38838b88a072dcd1362669e24cf05aeced6f Mon Sep 17 00:00:00 2001 From: Tony Spataro Date: Fri, 22 Jul 2022 12:20:19 -0700 Subject: [PATCH] Deal better with multi-statement blocks inside parenthesized method calls. Fixes #120. --- lib/syntax_tree/node.rb | 2 +- test/fixtures/command_call.rb | 40 +++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/lib/syntax_tree/node.rb b/lib/syntax_tree/node.rb index b633a1c9..d7b6d6cf 100644 --- a/lib/syntax_tree/node.rb +++ b/lib/syntax_tree/node.rb @@ -1978,7 +1978,7 @@ def unchangeable_bounds?(q) # If we hit a statements, then we're safe to use whatever since we # know for certain we're going to get split over multiple lines # anyway. - break false if parent.is_a?(Statements) + break false if parent.is_a?(Statements) || parent.is_a?(ArgParen) [Command, CommandCall].include?(parent.class) end diff --git a/test/fixtures/command_call.rb b/test/fixtures/command_call.rb index 4a0f60f0..7c055e8d 100644 --- a/test/fixtures/command_call.rb +++ b/test/fixtures/command_call.rb @@ -34,3 +34,43 @@ bar baz % foo.bar baz ? qux : qaz +% +expect foo, bar.map { |i| { quux: bazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz } } +- +expect foo, + bar.map { |i| + { + quux: + bazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz + } + } +% +expect(foo, bar.map { |i| {quux: bazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz} }) +- +expect( + foo, + bar.map do |i| + { + quux: + bazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz + } + end +) +% +expect(foo.map { |i| { bar: i.bazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz } } ).to match(baz.map { |i| { bar: i.bazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz } }) +- +expect( + foo.map do |i| + { + bar: + i.bazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz + } + end +).to match( + baz.map do |i| + { + bar: + i.bazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz + } + end +)