Skip to content
Snippets Groups Projects
Commit 81d105d9 authored by Markus Reiter's avatar Markus Reiter
Browse files

Convert String test to spec.

parent dfad3f33
No related branches found
No related tags found
No related merge requests found
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
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment