aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorWilliam Woodruff2015-08-26 16:50:36 -0400
committerXu Cheng2015-08-28 18:02:04 +0800
commitb0d5e17906229e95f2bc548e4b607297e7e907ab (patch)
tree2a4b4d4a73bed5eef958230503accb0120b99785 /Library
parent3b88c070c616788492aebdef2702d584fe3527b6 (diff)
downloadbrew-b0d5e17906229e95f2bc548e4b607297e7e907ab.tar.bz2
tweak String#undent so that only leading whitespace up to the first indentation level is gsubbed, change test_undent to reflect change and add test_undent_nested to test new behavior
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/extend/string.rb2
-rw-r--r--Library/Homebrew/test/test_string.rb15
2 files changed, 15 insertions, 2 deletions
diff --git a/Library/Homebrew/extend/string.rb b/Library/Homebrew/extend/string.rb
index fc507e151..632d8ae8a 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 1d8c3c246..44582c510 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