WpItem::Findable#Found_From= specs

This commit is contained in:
erwanlr
2013-03-25 13:53:36 +01:00
parent 6f49584546
commit 2ee2fe494d
3 changed files with 26 additions and 3 deletions

View File

@@ -3,10 +3,9 @@
class WpItem
attr_reader :found_from
#def allowed_options; super << :found_from end
def found_from=(method)
@found_from = method[%r{find_from_(.*)}, 1].gsub('_', ' ')
found = method[%r{find_from_(.*)}, 1]
@found_from = found.gsub('_', ' ') if found
end
module Findable

View File

@@ -4,6 +4,7 @@ require 'spec_helper'
describe WpItem do
it_behaves_like 'WpItem::Existable'
it_behaves_like 'WpItem::Findable#Found_From='
subject(:wp_item) { WpItem.new(uri, options) }
let(:uri) { URI.parse('http://example.com') }

View File

@@ -0,0 +1,23 @@
# encoding: UTF-8
shared_examples 'WpItem::Findable#Found_From=' do
describe '#found_from=' do
after do
subject.found_from = @method
subject.found_from.should == @expected
end
context 'when the pattern is not found' do
it 'returns nil' do
@method = 'I_do_not_match'
@expected = nil
end
end
it 'replaces _ by space' do
@method = 'find_from_some_detection_method'
@expected = 'some detection method'
end
end
end