Sha256: 16a22fc909fe467ddacf97a1015b9a08fc77c92f6eb08c0fcd5ab243a0840f79
Contents?: true
Size: 1.61 KB
Versions: 5
Compression:
Stored size: 1.61 KB
Contents
require 'spec_helper' describe VideoInfo do describe "#initialize" do let(:url) { 'url' } let(:options) { { foo: :bar } } let(:provider) { double('provider', provider: 'Provider') } it "uses the first usable provider" do VideoInfo::Providers::Vimeo.stub(:usable?) { false } VideoInfo::Providers::Vkontakte.stub(:usable?) { false } VideoInfo::Providers::Youtube.stub(:usable?) { true } VideoInfo::Providers::Youtube.stub(:new) { provider } expect(VideoInfo.new(url, options).provider).to eq 'Provider' end it "raise when no providers are usable" do VideoInfo::Providers::Vimeo.stub(:usable?) { false } VideoInfo::Providers::Vkontakte.stub(:usable?) { false } VideoInfo::Providers::Youtube.stub(:usable?) { false } expect { VideoInfo.new(url, options) }.to raise_error(VideoInfo::UrlError) end end describe ".usable?" do let(:url) { 'url' } let(:provider) { double('provider', new: true) } it "returns true when a provider is usable" do VideoInfo::Providers::Vimeo.stub(:usable?) { false } VideoInfo::Providers::Vkontakte.stub(:usable?) { false } VideoInfo::Providers::Youtube.stub(:usable?) { true } VideoInfo::Providers::Youtube.stub(:new) { true } expect(VideoInfo.usable?(url)).to be_true end it "returns false when no providers are usable" do VideoInfo::Providers::Vimeo.stub(:usable?) { false } VideoInfo::Providers::Vkontakte.stub(:usable?) { false } VideoInfo::Providers::Youtube.stub(:usable?) { false } expect(VideoInfo.usable?(url)).to be_false end end end
Version data entries
5 entries across 5 versions & 1 rubygems