diff --git a/Library/Homebrew/extend/string.rb b/Library/Homebrew/extend/string.rb index fc507e151c..632d8ae8a3 100644 --- a/Library/Homebrew/extend/string.rb +++ b/Library/Homebrew/extend/string.rb @@ -1,6 +1,6 @@ class String def undent - gsub(/^.{#{(slice(/^ +/) || '').length}}/, "") + gsub(/^[ \t]{#{(slice(/^[ \t]+/) || '').length}}/, "") end # eg: diff --git a/Library/Homebrew/test/test_string.rb b/Library/Homebrew/test/test_string.rb index 1d8c3c2466..44582c5104 100644 --- a/Library/Homebrew/test/test_string.rb +++ b/Library/Homebrew/test/test_string.rb @@ -8,7 +8,7 @@ class StringTest < Homebrew::TestCase ....my friend over there EOS - assert_equal "hi\nmy friend over\nthere\n", undented + assert_equal "hi\n....my friend over\nthere\n", undented end def test_undent_not_indented @@ -18,4 +18,17 @@ I'm not indented EOS assert_equal "hi\nI'm not indented\n", undented end + + def test_undent_nested + nest = <<-EOS.undent + goodbye + EOS + + undented = <<-EOS.undent + hello + #{nest} + EOS + + assert_equal "hello\ngoodbye\n\n", undented + end end