diff options
Diffstat (limited to 'spec/ruby/core/string/end_with_spec.rb')
| -rw-r--r-- | spec/ruby/core/string/end_with_spec.rb | 53 |
1 files changed, 2 insertions, 51 deletions
diff --git a/spec/ruby/core/string/end_with_spec.rb b/spec/ruby/core/string/end_with_spec.rb index 429888803c..ac4fff72ad 100644 --- a/spec/ruby/core/string/end_with_spec.rb +++ b/spec/ruby/core/string/end_with_spec.rb @@ -1,57 +1,8 @@ # -*- encoding: utf-8 -*- require_relative '../../spec_helper' require_relative 'fixtures/classes' +require_relative '../../shared/string/end_with' describe "String#end_with?" do - it "returns true only if ends match" do - s = "hello" - s.end_with?('o').should be_true - s.end_with?('llo').should be_true - end - - it 'returns false if the end does not match' do - s = 'hello' - s.end_with?('ll').should be_false - end - - it "returns true if the search string is empty" do - "hello".end_with?("").should be_true - "".end_with?("").should be_true - end - - it "returns true only if any ending match" do - "hello".end_with?('x', 'y', 'llo', 'z').should be_true - end - - it "converts its argument using :to_str" do - s = "hello" - find = mock('o') - find.should_receive(:to_str).and_return("o") - s.end_with?(find).should be_true - end - - it "ignores arguments not convertible to string" do - "hello".end_with?().should be_false - lambda { "hello".end_with?(1) }.should raise_error(TypeError) - lambda { "hello".end_with?(["o"]) }.should raise_error(TypeError) - lambda { "hello".end_with?(1, nil, "o") }.should raise_error(TypeError) - end - - it "uses only the needed arguments" do - find = mock('h') - find.should_not_receive(:to_str) - "hello".end_with?("o",find).should be_true - end - - it "works for multibyte strings" do - "céréale".end_with?("réale").should be_true - end - - it "raises an Encoding::CompatibilityError if the encodings are incompatible" do - pat = "ア".encode Encoding::EUC_JP - lambda do - "あれ".end_with?(pat) - end.should raise_error(Encoding::CompatibilityError) - end - + it_behaves_like :end_with, :to_s end |
