aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Reiter2017-02-16 03:15:46 +0100
committerMarkus Reiter2017-02-20 13:52:30 +0100
commit81d105d9a4cbdba1072c3828d173dcaac4bcc2a6 (patch)
treec706b556d625b34a4efb10231caffcebf3fa427e
parentdfad3f33ca1c73527d2da588615a798a8b5b95a9 (diff)
downloadbrew-81d105d9a4cbdba1072c3828d173dcaac4bcc2a6.tar.bz2
Convert String test to spec.
-rw-r--r--Library/Homebrew/test/string_spec.rb49
-rw-r--r--Library/Homebrew/test/string_test.rb40
2 files changed, 49 insertions, 40 deletions
diff --git a/Library/Homebrew/test/string_spec.rb b/Library/Homebrew/test/string_spec.rb
new file mode 100644
index 000000000..d1b820b66
--- /dev/null
+++ b/Library/Homebrew/test/string_spec.rb
@@ -0,0 +1,49 @@
+require "extend/string"
+
+describe String do
+ describe "#undent" do
+ it "removes leading whitespace, taking the first line as reference" do
+ string = <<-EOS.undent
+ hi
+........my friend over
+ there
+ EOS
+
+ expect(string).to eq("hi\n........my friend over\n there\n")
+ end
+
+ it "removes nothing if the text is not indented" do
+ string = <<-EOS.undent
+hi
+I'm not indented
+ EOS
+
+ expect(string).to eq("hi\nI'm not indented\n")
+ end
+
+ it "can be nested" do
+ nested_string = <<-EOS.undent
+ goodbye
+ EOS
+
+ string = <<-EOS.undent
+ hello
+ #{nested_string}
+ EOS
+
+ expect(string).to eq("hello\ngoodbye\n\n")
+ end
+ end
+end
+
+describe StringInreplaceExtension do
+ subject { string.extend(described_class) }
+ let(:string) { "foobar" }
+
+ describe "#sub!" do
+ it "adds an error to #errors when no replacement was made" do
+ subject.sub! "not here", "test"
+ expect(subject.errors).to eq(['expected replacement of "not here" with "test"'])
+ end
+ end
+end
diff --git a/Library/Homebrew/test/string_test.rb b/Library/Homebrew/test/string_test.rb
deleted file mode 100644
index 497c4badb..000000000
--- a/Library/Homebrew/test/string_test.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-require "testing_env"
-require "extend/string"
-
-class StringTest < Homebrew::TestCase
- def test_undent
- undented = <<-EOS.undent
- hi
-....my friend over
- there
- EOS
- assert_equal "hi\n....my friend over\nthere\n", undented
- end
-
- def test_undent_not_indented
- undented = <<-EOS.undent
-hi
-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
-
- def test_inreplace_sub_failure
- s = "foobar".extend StringInreplaceExtension
- s.sub! "not here", "test"
- assert_equal ['expected replacement of "not here" with "test"'], s.errors
- end
-end