Convert String test to spec.
This commit is contained in:
parent
dfad3f33ca
commit
81d105d9a4
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