diff options
Diffstat (limited to 'spec/ruby/core/string/start_with_spec.rb')
-rw-r--r-- | spec/ruby/core/string/start_with_spec.rb | 70 |
1 files changed, 2 insertions, 68 deletions
diff --git a/spec/ruby/core/string/start_with_spec.rb b/spec/ruby/core/string/start_with_spec.rb index 11c8041925..aaed197ff3 100644 --- a/spec/ruby/core/string/start_with_spec.rb +++ b/spec/ruby/core/string/start_with_spec.rb @@ -1,74 +1,8 @@ # -*- encoding: utf-8 -*- require_relative '../../spec_helper' require_relative 'fixtures/classes' +require_relative '../../shared/string/start_with' describe "String#start_with?" do - it "returns true only if beginning match" do - s = "hello" - s.should.start_with?('h') - s.should.start_with?('hel') - s.should_not.start_with?('el') - end - - it "returns true only if any beginning match" do - "hello".should.start_with?('x', 'y', 'he', 'z') - end - - it "returns true if the search string is empty" do - "hello".should.start_with?("") - "".should.start_with?("") - end - - it "converts its argument using :to_str" do - s = "hello" - find = mock('h') - find.should_receive(:to_str).and_return("h") - s.should.start_with?(find) - end - - it "ignores arguments not convertible to string" do - "hello".should_not.start_with?() - -> { "hello".start_with?(1) }.should raise_error(TypeError) - -> { "hello".start_with?(["h"]) }.should raise_error(TypeError) - -> { "hello".start_with?(1, nil, "h") }.should raise_error(TypeError) - end - - it "uses only the needed arguments" do - find = mock('h') - find.should_not_receive(:to_str) - "hello".should.start_with?("h",find) - end - - it "works for multibyte strings" do - "céréale".should.start_with?("cér") - end - - it "supports regexps" do - regexp = /[h1]/ - "hello".should.start_with?(regexp) - "1337".should.start_with?(regexp) - "foxes are 1337".should_not.start_with?(regexp) - "chunky\n12bacon".should_not.start_with?(/12/) - end - - it "supports regexps with ^ and $ modifiers" do - regexp1 = /^\d{2}/ - regexp2 = /\d{2}$/ - "12test".should.start_with?(regexp1) - "test12".should_not.start_with?(regexp1) - "12test".should_not.start_with?(regexp2) - "test12".should_not.start_with?(regexp2) - end - - it "sets Regexp.last_match if it returns true" do - regexp = /test-(\d+)/ - "test-1337".start_with?(regexp).should be_true - Regexp.last_match.should_not be_nil - Regexp.last_match[1].should == "1337" - $1.should == "1337" - - "test-asdf".start_with?(regexp).should be_false - Regexp.last_match.should be_nil - $1.should be_nil - end + it_behaves_like :start_with, :to_s end |