mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 21:57:36 +08:00
493d437e79
* Remove outdated option
04078317ba
* Use the non-globally exposed RSpec syntax
https://github.com/rspec/rspec-core/pull/2803
* Use the non-globally exposed RSpec syntax, cont
https://github.com/rspec/rspec-core/pull/2803
* Comply to strict predicate matchers
See:
- https://github.com/rspec/rspec-expectations/pull/1195
- https://github.com/rspec/rspec-expectations/pull/1196
- https://github.com/rspec/rspec-expectations/pull/1277
46 lines
1.5 KiB
Ruby
46 lines
1.5 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rss'
|
|
require 'feed_item_accessor'
|
|
RSpec.describe FeedItemAccessor do
|
|
context 'for ATOM feed' do
|
|
let(:atom_feed) { RSS::Parser.parse(file_from_fixtures('feed.atom', 'feed'), false) }
|
|
let(:atom_feed_item) { atom_feed.items.first }
|
|
let(:item_accessor) { FeedItemAccessor.new(atom_feed_item) }
|
|
|
|
describe '#element_content' do
|
|
it { expect(item_accessor.element_content('title')).to eq(atom_feed_item.title.content) }
|
|
end
|
|
|
|
describe '#link' do
|
|
it { expect(item_accessor.link).to eq(atom_feed_item.link.href) }
|
|
end
|
|
end
|
|
|
|
context 'for RSS feed' do
|
|
let(:rss_feed) { RSS::Parser.parse(file_from_fixtures('feed.rss', 'feed'), false) }
|
|
let(:rss_feed_item) { rss_feed.items.first }
|
|
let(:item_accessor) { FeedItemAccessor.new(rss_feed_item) }
|
|
|
|
describe '#element_content' do
|
|
it { expect(item_accessor.element_content('title')).to eq(rss_feed_item.title) }
|
|
end
|
|
|
|
describe '#link' do
|
|
it { expect(item_accessor.link).to eq(rss_feed_item.link) }
|
|
end
|
|
end
|
|
|
|
context 'with multiple links' do
|
|
let(:rss_feed) { RSS::Parser.parse(file_from_fixtures('multiple-links.atom', 'feed'), false) }
|
|
let(:rss_feed_item) { rss_feed.items.first }
|
|
let(:item_accessor) { FeedItemAccessor.new(rss_feed_item) }
|
|
|
|
describe '#link' do
|
|
it 'gets the web page link' do
|
|
expect(item_accessor.link).to eq('http://workspaceupdates.googleblog.com/2022/01/improved-editing-experience-in-google.html')
|
|
end
|
|
end
|
|
end
|
|
end
|