diff options
Diffstat (limited to 'spec/ruby/core/regexp/try_convert_spec.rb')
-rw-r--r-- | spec/ruby/core/regexp/try_convert_spec.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/ruby/core/regexp/try_convert_spec.rb b/spec/ruby/core/regexp/try_convert_spec.rb new file mode 100644 index 0000000000..e782fc07fb --- /dev/null +++ b/spec/ruby/core/regexp/try_convert_spec.rb @@ -0,0 +1,21 @@ +require File.expand_path('../../../spec_helper', __FILE__) + +describe "Regexp.try_convert" do + not_supported_on :opal do + it "returns the argument if given a Regexp" do + Regexp.try_convert(/foo/s).should == /foo/s + end + end + + it "returns nil if given an argument that can't be converted to a Regexp" do + ['', 'glark', [], Object.new, :pat].each do |arg| + Regexp.try_convert(arg).should be_nil + end + end + + it "tries to coerce the argument by calling #to_regexp" do + rex = mock('regexp') + rex.should_receive(:to_regexp).and_return(/(p(a)t[e]rn)/) + Regexp.try_convert(rex).should == /(p(a)t[e]rn)/ + end +end |