0
@@ -110,6 +110,15 @@ describe Atom do
0
Atom::Feed.load_feed(uri).should be_an_instance_of(Atom::Feed)
0
+ it "should accept a URI with query parameters" do
0
+ uri = URI.parse('http://example.com/feed.atom?page=2')
0
+ response = Net::HTTPSuccess.new(nil, nil, nil)
0
+ response.stub!(:body).and_return(File.read('spec/fixtures/simple_single_entry.atom'))
0
+ mock_http_get(uri, response)
0
+ Atom::Feed.load_feed(uri).should be_an_instance_of(Atom::Feed)
0
it "should raise ArgumentError with non-http uri" do
0
uri = URI.parse('file:/tmp')
0
lambda { Atom::Feed.load_feed(uri) }.should raise_error(ArgumentError)
0
@@ -929,20 +938,22 @@ describe Atom do
0
- describe 'pagination using each_entr
ies' do
0
+ describe 'pagination using each_entr
y' do
0
@feed = Atom::Feed.load_feed(File.open('spec/paging/first_paged_feed.atom'))
0
it "should paginate through each entry" do
0
- response1 = Net::HTTPSuccess.new(nil, nil, nil)
0
- response1.stub!(:body).and_return(File.read('spec/paging/middle_paged_feed.atom'))
0
- Net::HTTP.should_receive(:get_response).with(URI.parse('http://example.org/index.atom?page=2')).and_return(response1)
0
- response2 = Net::HTTPSuccess.new(nil, nil, nil)
0
- response2.stub!(:body).and_return(File.read('spec/paging/last_paged_feed.atom'))
0
- Net::HTTP.should_receive(:get_response).with(URI.parse('http://example.org/index.atom?page=4')).and_return(response2)
0
+ feed1 = Atom::Feed.load_feed(File.read('spec/paging/middle_paged_feed.atom'))
0
+ feed2 = Atom::Feed.load_feed(File.read('spec/paging/last_paged_feed.atom'))
0
+ Atom::Feed.should_receive(:load_feed).
0
+ with(URI.parse('http://example.org/index.atom?page=2'), an_instance_of(Hash)).
0
+ Atom::Feed.should_receive(:load_feed).
0
+ with(URI.parse('http://example.org/index.atom?page=4'), an_instance_of(Hash)).
0
@feed.each_entry(:paginate => true) do |entry|
0
@@ -963,8 +974,7 @@ describe Atom do
0
it "should only paginate up to since" do
0
response1 = Net::HTTPSuccess.new(nil, nil, nil)
0
response1.stub!(:body).and_return(File.read('spec/paging/middle_paged_feed.atom'))
0
- Net::HTTP.should_receive(:get_response).with(URI.parse('http://example.org/index.atom?page=2')).and_return(response1)
0
- Net::HTTP.should_receive(:get_response).with(URI.parse('http://example.org/index.atom?page=4')).never
0
+ mock_http_get(URI.parse('http://example.org/index.atom?page=2'), response1)
0
@feed.each_entry(:paginate => true, :since => Time.parse('2003-11-19T18:30:02Z')) do |entry|
0
@@ -1042,31 +1052,17 @@ describe Atom do
0
it "should fetch feed for fetch_next" do
0
- response = Net::HTTPSuccess.new(nil, nil, nil)
0
- response.stub!(:body).and_return(File.read('spec/paging/middle_paged_feed.atom'))
0
- Net::HTTP.should_receive(:get_response).with(URI.parse(@href)).and_return(response)
0
- @link.fetch.should be_an_instance_of(Atom::Feed)
0
+ Atom::Feed.should_receive(:load_feed).with(URI.parse(@href), an_instance_of(Hash))
0
it "should fetch content when response is not xml" do
0
+ Atom::Feed.should_receive(:load_feed).and_raise(Atom::LoadError)
0
response = Net::HTTPSuccess.new(nil, nil, nil)
0
response.stub!(:body).and_return('some text.')
0
Net::HTTP.should_receive(:get_response).with(URI.parse(@href)).and_return(response)
0
@link.fetch.should == 'some text.'
0
- it "should fetch content when response is not atom" do
0
- <?xml version="1.0" ?>
0
- response = Net::HTTPSuccess.new(nil, nil, nil)
0
- response.stub!(:body).and_return(content)
0
- Net::HTTP.should_receive(:get_response).with(URI.parse(@href)).and_return(response)
0
- @link.fetch.should == content
0
describe Atom::Entry do
Comments
No one has commented yet.