Merge pull request #2030 from reitermarkus/spec-string
Convert String test to spec.
This commit is contained in:
commit
f6fd7f9f5c
49
Library/Homebrew/test/string_spec.rb
Normal file
49
Library/Homebrew/test/string_spec.rb
Normal file
@ -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
|
||||
@ -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
|
||||
Loading…
x
Reference in New Issue
Block a user