2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../../spec_helper'
|
2017-05-07 08:04:49 -04:00
|
|
|
require 'uri'
|
|
|
|
|
|
|
|
#the testing is light here as this is an alias for URI.parse
|
|
|
|
|
|
|
|
#we're just testing that the method ends up in the right place
|
|
|
|
describe "the URI method" do
|
|
|
|
it "parses a given URI, returning a URI object" do
|
|
|
|
result = URI.parse("http://ruby-lang.org")
|
|
|
|
URI("http://ruby-lang.org").should == result
|
|
|
|
Kernel::URI("http://ruby-lang.org").should == result
|
|
|
|
end
|
|
|
|
|
|
|
|
it "converts its argument with to_str" do
|
|
|
|
str = mock('string-like')
|
|
|
|
str.should_receive(:to_str).and_return("http://ruby-lang.org")
|
|
|
|
URI(str).should == URI.parse("http://ruby-lang.org")
|
|
|
|
end
|
|
|
|
|
|
|
|
it "returns the argument if it is a URI object" do
|
|
|
|
result = URI.parse("http://ruby-lang.org")
|
|
|
|
URI(result).should equal(result)
|
|
|
|
end
|
|
|
|
|
|
|
|
#apparently this was a concern? imported from MRI tests
|
|
|
|
it "does not add a URI method to Object instances" do
|
|
|
|
lambda {Object.new.URI("http://ruby-lang.org/")}.should raise_error(NoMethodError)
|
|
|
|
end
|
|
|
|
end
|