acts_as_unvlogable_fork 1.0.1 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,49 @@
1
+ # ----------------------------------------------
2
+ # Class for Wistia (wistia.com)
3
+ # https://home.wistia.com/medias/e4a27b971d
4
+ # ----------------------------------------------
5
+
6
+ class VgWistia
7
+ attr_reader :title, :thumbnail, :duration, :service
8
+
9
+ def initialize(url=nil, options={})
10
+ @url = url
11
+ fetch_video_details!
12
+ assign_properties!
13
+ end
14
+
15
+ def embed_url
16
+ iframe = Nokogiri::HTML(@details["html"])
17
+ iframe.xpath("//iframe").first["src"]
18
+ end
19
+
20
+ def embed_html(width=425, height=344, options={}, params={})
21
+ "<iframe src='#{embed_url}' allowtransparency='true' frameborder='0' scrolling='no' class='wistia_embed' name='wistia_embed' allowfullscreen mozallowfullscreen webkitallowfullscreen oallowfullscreen msallowfullscreen width='#{width}' height='#{height}'></iframe>"
22
+ end
23
+
24
+ private
25
+
26
+ def fetch_video_details!
27
+ begin
28
+ res = Net::HTTP.get(URI.parse(wistia_oembed_endpoint))
29
+ @details = JSON.parse(res)
30
+ rescue JSON::ParserError
31
+ raise ArgumentError.new("Unsuported url or service")
32
+ end
33
+ end
34
+
35
+ def assign_properties!
36
+ @title = @details["title"]
37
+ @thumbnail = @details["thumbnail_url"]
38
+ @duration = @details["duration"]
39
+ @service = @details["provider_name"]
40
+ end
41
+
42
+ def encoded_url
43
+ CGI::escape(@url)
44
+ end
45
+
46
+ def wistia_oembed_endpoint
47
+ "http://fast.wistia.com/oembed.json?url=#{encoded_url}"
48
+ end
49
+ end
@@ -1,19 +1,19 @@
1
1
  # ----------------------------------------------
2
2
  # Class for Youtube (youtube.com)
3
- # http://www.youtube.com/watch?v=25AsfkriHQc
3
+ # http://www.youtube.com/watch?v=MVa4q-YVjD8
4
4
  # ----------------------------------------------
5
5
 
6
6
  class VgYoutube
7
7
 
8
8
  def initialize(url=nil, options={})
9
- object = YouTubeIt::Client.new({})
9
+ settings ||= YAML.load_file(Rails.root.join 'config/unvlogable.yml')[Rails.env] rescue {}
10
+ Yt.configuration.api_key = options.nil? || options[:key].nil? ? settings['youtube_key'] : options[:key]
11
+
10
12
  @url = url
11
13
  @video_id = @url.query_param('v')
12
14
  begin
13
- @details = object.video_by(@video_id)
14
- raise if @details.blank?
15
- raise ArgumentError, "Embedding disabled by request" unless @details.embeddable?
16
- @details.instance_variable_set(:@noembed, false)
15
+ @details = Yt::Video.new id: @video_id
16
+ raise if @details.blank? || !@details.embeddable?
17
17
  rescue
18
18
  raise ArgumentError, "Unsuported url or service"
19
19
  end
@@ -24,7 +24,7 @@ class VgYoutube
24
24
  end
25
25
 
26
26
  def thumbnail
27
- @details.thumbnails.first.url
27
+ @details.thumbnail_url
28
28
  end
29
29
 
30
30
  def duration
@@ -32,36 +32,16 @@ class VgYoutube
32
32
  end
33
33
 
34
34
  def embed_url
35
- @details.media_content.first.url if @details.noembed == false
35
+ "http://www.youtube.com/embed/#{@video_id}" if @details.embeddable?
36
36
  end
37
37
 
38
- # options
39
- # You can read more about the youtube player options in
40
- # http://code.google.com/intl/en/apis/youtube/player_parameters.html
41
- # Use them in options (ex {:rel => 0, :color1 => '0x333333'})
42
- #
38
+ # iframe embed — https://developers.google.com/youtube/player_parameters#Manual_IFrame_Embeds
43
39
  def embed_html(width=425, height=344, options={}, params={})
44
- "<object width='#{width}' height='#{height}'><param name='movie' value='#{embed_url}#{options.map {|k,v| "&#{k}=#{v}"}}'></param><param name='allowFullScreen' value='true'></param><param name='allowscriptaccess' value='always'></param>#{params.map{|k,v|"<param name='#{k}' value='#{v}'></param>"}.join}<embed src='#{embed_url}#{options.map {|k,v| "&#{k}=#{v}"}}' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width='#{width}' height='#{height}' #{params.map {|k,v| "#{k}=#{v}"}.join(" ")}></embed></object>" if @details.noembed == false
40
+ "<iframe id='ytplayer' type='text/html' width='#{width}' height='#{height}' src='#{embed_url}#{options.map {|k,v| "&#{k}=#{v}"}}' frameborder='0'/>" if @details.embeddable?
45
41
  end
46
42
 
47
-
48
- def flv
49
- doc = URI::parse("http://www.youtube.com/get_video_info?&video_id=#{@video_id}").read
50
- CGI::unescape(doc.split("&url_encoded_fmt_stream_map=")[1]).split("url=").each do |u|
51
- u = CGI::unescape(u)
52
- unless u.index("x-flv").nil?
53
- return u.split("&quality").first
54
- break
55
- end
56
- end
57
- end
58
-
59
- def download_url
60
- flv
61
- end
62
-
63
43
  def service
64
44
  "Youtube"
65
45
  end
66
46
 
67
- end
47
+ end
@@ -0,0 +1,363 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe UnvlogIt do
5
+ context "without any url" do
6
+ it {
7
+ expect { UnvlogIt.new }.to raise_error(ArgumentError, "We need a video url")
8
+ }
9
+ end
10
+
11
+ context "with an unsupported url" do
12
+ it {
13
+ expect { UnvlogIt.new("http://iwannagothere.net") }.to raise_error(ArgumentError, "Unsuported url or service")
14
+ }
15
+ end
16
+
17
+ # ----------------------------------------------------------
18
+ # Testing youtube
19
+ # ----------------------------------------------------------
20
+
21
+ context "with an existent youtube url" do
22
+ let(:videotron) { UnvlogIt.new("http://www.youtube.com/watch?v=MVa4q-YVjD8", {:key => "AIzaSyCWdV1zQpyD1X1OdheU6UqfV3JR6JQXY9A" }) } # => Keith Moon´s drum kit explodes
23
+
24
+ it "initialize a VgYoutube instance" do
25
+ expect(VgYoutube).to eq(videotron.instance_values['object'].class)
26
+ expect("http://www.youtube.com/watch?v=MVa4q-YVjD8").to eq(videotron.instance_values['object'].instance_values['url'])
27
+ expect("MVa4q-YVjD8").to eq(videotron.instance_values['object'].instance_values['video_id'])
28
+ expect(videotron.instance_values['object'].instance_values['details']).to_not be_nil
29
+ end
30
+
31
+ it "returns the video properties" do
32
+ check_video_attributes({:title => "Keith Moon´s drum kit explodes", :service => "Youtube"})
33
+ end
34
+ end
35
+
36
+ context "with an existent youtube url that can not be embedded" do
37
+ it {
38
+ expect { UnvlogIt.new("https://www.youtube.com/watch?v=-PZYZ6fJbr4", {:key => "AIzaSyCWdV1zQpyD1X1OdheU6UqfV3JR6JQXY9A" }) }.to raise_error(ArgumentError, "Unsuported url or service")
39
+ }
40
+ end
41
+
42
+ context "with an inexistent youtube url" do
43
+ it {
44
+ expect { UnvlogIt.new("http://www.youtube.com/watch?v=inexistente", {:key => "AIzaSyCWdV1zQpyD1X1OdheU6UqfV3JR6JQXY9A" }) }.to raise_error(ArgumentError, "Unsuported url or service")
45
+ }
46
+ end
47
+
48
+ context "with a shortened youtube URL" do
49
+ let(:videotron) { UnvlogIt.new("http://youtu.be/4pzMBtPMUq8", {:key => "AIzaSyCWdV1zQpyD1X1OdheU6UqfV3JR6JQXY9A" }) } # => Keith Moon´s drum kit explodes
50
+
51
+ it "initialize a VgYoutube instance" do
52
+ expect(VgYoutu).to eq(videotron.instance_values['object'].class)
53
+ expect("http://www.youtube.com/watch?&v=4pzMBtPMUq8").to eq(videotron.instance_values['object'].instance_values['url'])
54
+ expect("4pzMBtPMUq8").to eq(videotron.instance_values['object'].instance_values['video_id'])
55
+ expect(videotron.instance_values['object'].instance_values['details']).to_not be_nil
56
+ end
57
+
58
+ it "returns the video properties" do
59
+ check_video_attributes({:title => "APM? Capítol 349 -09/04/14- (HD)", :service => "Youtube"})
60
+ end
61
+ end
62
+
63
+ # ----------------------------------------------------------
64
+ # Testing metacafe
65
+ # ----------------------------------------------------------
66
+
67
+ context "with an existent metacafe url" do
68
+ let(:videotron) { UnvlogIt.new("http://www.metacafe.com/watch/1135061/close_call_a320_caught_in_crosswinds/") } # => Close Call! A320 Caught in Crosswinds
69
+
70
+ it "initialize a VgMetacafe instance" do
71
+ expect(VgMetacafe).to eq(videotron.instance_values['object'].class)
72
+ expect("http://www.metacafe.com/watch/1135061/close_call_a320_caught_in_crosswinds/").to eq(videotron.instance_values['object'].instance_values['url'])
73
+ expect(3).to eq(videotron.instance_values['object'].instance_values['args'].size)
74
+ expect(videotron.instance_values['object'].instance_values['yt']).to be_nil
75
+ expect(videotron.instance_values['object'].instance_values['youtubed']).to be false
76
+ end
77
+
78
+ it "returns the video properties" do
79
+ check_video_attributes({:title => "Close call a320 caught in crosswinds", :service => "Metacafe"})
80
+ end
81
+ end
82
+
83
+ context "with an existent 'youtubed' metacafe url" do
84
+ let(:videotron) { UnvlogIt.new("http://www.metacafe.com/watch/yt-r07zdVLOWBA/pop_rocks_and_coke_myth/", {:key => "AIzaSyCWdV1zQpyD1X1OdheU6UqfV3JR6JQXY9A" }) } # => Pop Rocks and Coke Myth
85
+
86
+ it "initialize a VgMetacafe instance" do
87
+ expect(VgMetacafe).to eq(videotron.instance_values['object'].class)
88
+ expect("http://www.metacafe.com/watch/yt-r07zdVLOWBA/pop_rocks_and_coke_myth/").to eq(videotron.instance_values['object'].instance_values['url'])
89
+ expect(3).to eq(videotron.instance_values['object'].instance_values['args'].size)
90
+ expect("VgYoutube").to eq(videotron.instance_values['object'].instance_values['yt'].class.to_s)
91
+ expect(videotron.instance_values['object'].instance_values['youtubed']).to be true
92
+ end
93
+
94
+ it "returns the video properties" do
95
+ check_video_attributes({:title => "Pop Rocks and Coke Myth", :service => "Metacafe"})
96
+ end
97
+ end
98
+
99
+ # ----------------------------------------------------------
100
+ # Testing dailymotion
101
+ # ----------------------------------------------------------
102
+
103
+ context "with an existent dailymotion url" do
104
+ let(:videotron) { UnvlogIt.new("http://www.dailymotion.com/video/x7u5kn_parkour-dayyy_sport/") } # => parkour dayyy
105
+
106
+ it "initialize a VgDailymotion instance" do
107
+ expect(VgDailymotion).to eq(videotron.instance_values['object'].class)
108
+ expect("http://www.dailymotion.com/video/x7u5kn_parkour-dayyy_sport/").to eq(videotron.instance_values['object'].instance_values['url'])
109
+ expect("x7u5kn_parkour-dayyy_sport").to eq(videotron.instance_values['object'].instance_values['video_id'])
110
+ expect(videotron.instance_values['object'].instance_values['feed']).to_not be_nil
111
+ end
112
+
113
+ it "returns the video properties" do
114
+ check_video_attributes({:title => "parkour dayyy", :service => "Dailymotion"})
115
+ end
116
+ end
117
+
118
+ # ----------------------------------------------------------
119
+ # Testing collegehumor
120
+ # ----------------------------------------------------------
121
+
122
+ context "with an existent collegehumor url" do
123
+ let(:videotron) { UnvlogIt.new("http://www.collegehumor.com/video/3005349/brohemian-rhapsody/") } # => Brohemian Rhapsody
124
+
125
+ it "initialize a VgCollegehumor instance" do
126
+ expect(VgCollegehumor).to eq(videotron.instance_values['object'].class)
127
+ expect("http://www.collegehumor.com/video/3005349/brohemian-rhapsody/").to eq(videotron.instance_values['object'].instance_values['url'])
128
+ expect("3005349").to eq(videotron.instance_values['object'].instance_values['video_id'])
129
+ expect(videotron.instance_values['object'].instance_values['feed']).to_not be_nil
130
+ end
131
+
132
+ it "returns the video properties" do
133
+ check_video_attributes({:title => "Brohemian Rhapsody", :service => "CollegeHumor"})
134
+ end
135
+ end
136
+
137
+ # ----------------------------------------------------------
138
+ # Testing blip.tv
139
+ # ----------------------------------------------------------
140
+
141
+ context "with an existent blip.tv url" do
142
+ let(:videotron) { UnvlogIt.new("http://blip.tv/sarahrdtv/sarah-s-super-bowl-spread-healthy-recipe-classic-buffalo-wing-dip-6717535") } # => Sarah's Super Bowl Spread – Healthy Recipe - Classic Buffalo Wing Dip
143
+
144
+ it "initialize a VgBlip instance" do
145
+ expect(VgBlip).to eq(videotron.instance_values['object'].class)
146
+ expect("http://blip.tv/sarahrdtv/sarah-s-super-bowl-spread-healthy-recipe-classic-buffalo-wing-dip-6717535").to eq(videotron.instance_values['object'].instance_values['url'])
147
+ expect(videotron.instance_values['object'].instance_values['feed']).to_not be_nil
148
+ end
149
+
150
+ it "returns the video properties" do
151
+ check_video_attributes({:title => "Sarah's Super Bowl Spread &#8211; Healthy Recipe - Classic Buffalo Wing Dip", :service => "Blip.tv"})
152
+ end
153
+ end
154
+
155
+ # ----------------------------------------------------------
156
+ # Testing myspace.com
157
+ # ----------------------------------------------------------
158
+ context "with an existent myspace.com url" do
159
+ let(:videotron) { UnvlogIt.new("https://myspace.com/jimmykimmellive/video/mastodon-the-motherload-/109586961") } # => Mastodon - The Motherload
160
+
161
+ it "initialize a VgMyspace instance" do
162
+ expect(VgMyspace).to eq(videotron.instance_values['object'].class)
163
+ expect("https://myspace.com/jimmykimmellive/video/mastodon-the-motherload-/109586961").to eq(videotron.instance_values['object'].instance_values['url'])
164
+ expect(videotron.instance_values['object'].instance_values['page']).to_not be_nil
165
+ end
166
+
167
+ it "returns the video properties" do
168
+ check_video_attributes({:title => "Mastodon - The Motherload", :service => "Myspace"})
169
+ end
170
+ end
171
+
172
+
173
+ # ----------------------------------------------------------
174
+ # Testing 11870.com
175
+ # ----------------------------------------------------------
176
+ context "with an existent 11870.com url" do
177
+ let(:videotron) { UnvlogIt.new("http://11870.com/pro/chic-basic-born/media/b606abfe") } # => Chic & Basic Born
178
+
179
+ it "initialize a Vg11870 instance" do
180
+ expect(Vg11870).to eq(videotron.instance_values['object'].class)
181
+ expect("https://11870.com/pro/chic-basic-born/media/b606abfe").to eq(videotron.instance_values['object'].instance_values['url'])
182
+ expect(videotron.instance_values['object'].instance_values['page']).to_not be_nil
183
+ end
184
+
185
+ it "returns the video properties" do
186
+ check_video_attributes({:title => "Chic & Basic Born", :service => "11870.com"})
187
+ end
188
+ end
189
+
190
+
191
+ # ----------------------------------------------------------
192
+ # Testing dalealplay.com
193
+ # ----------------------------------------------------------
194
+ context "with an existent dalealplay.com url" do
195
+ let(:videotron) { UnvlogIt.new("http://www.dalealplay.com/informaciondecontenido.php?con=80280") } # => Camelos Semos Jonathan Tú si que vales
196
+
197
+ it "initialize a VgDalealplay instance" do
198
+ expect(VgDalealplay).to eq(videotron.instance_values['object'].class)
199
+ expect("http://www.dalealplay.com/informaciondecontenido.php?con=80280").to eq(videotron.instance_values['object'].instance_values['url'])
200
+ expect("80280").to eq(videotron.instance_values['object'].instance_values['video_id'])
201
+ expect(videotron.instance_values['object'].instance_values['page']).to_not be_nil
202
+ end
203
+
204
+ it "returns the video properties" do
205
+ check_video_attributes({:title => "Camelos.Semos. Jonathan. Tú si que vales.", :service => "dalealplay"})
206
+ end
207
+ end
208
+
209
+
210
+ # ----------------------------------------------------------
211
+ # Testing flickr.com
212
+ # ----------------------------------------------------------
213
+ context "with a flickr.com video url" do
214
+ let(:videotron) { UnvlogIt.new("http://www.flickr.com/photos/jerovital/4152225414/", {:key => "065b2eff5e604e2a408c01af1f27a982" }) }# => flipando en los columpios
215
+
216
+ it "initialize a VgFlickr instance" do
217
+ expect(VgFlickr).to eq(videotron.instance_values['object'].class)
218
+ expect("http://www.flickr.com/photos/jerovital/4152225414/").to eq(videotron.instance_values['object'].instance_values['url'])
219
+ expect("4152225414").to eq(videotron.instance_values['object'].instance_values['video_id'])
220
+ expect(videotron.instance_values['object'].instance_values['details']).to_not be_nil
221
+ end
222
+
223
+ it "returns the video properties" do
224
+ check_video_attributes({:title => "flipando en los columpios", :service => "Flickr"})
225
+ end
226
+ end
227
+
228
+
229
+ # ----------------------------------------------------------
230
+ # Testing ted talks
231
+ # ----------------------------------------------------------
232
+ context "with an existent ted talks url" do
233
+ let(:videotron) { UnvlogIt.new("http://www.ted.com/talks/benjamin_wallace_on_the_price_of_happiness") } # => Benjamin Wallace: Does happiness have a price tag?
234
+
235
+ it "initialize a VgTed instance" do
236
+ expect(VgTed).to eq(videotron.instance_values['object'].class)
237
+ expect("http://www.ted.com/talks/benjamin_wallace_on_the_price_of_happiness").to eq(videotron.instance_values['object'].instance_values['url'])
238
+ expect(videotron.instance_values['object'].instance_values['page']).to_not be_nil
239
+ end
240
+
241
+ it "returns the video properties" do
242
+ check_video_attributes({:title => "The price of happiness", :service => "Ted Talks"})
243
+ end
244
+ end
245
+
246
+ context "with a non existent ted talks url" do
247
+ it "should raise an error" do
248
+ expect{ UnvlogIt.new("http://www.ted.com/index.php/wadus.html") }.to raise_error(ArgumentError, "Unsuported url or service")
249
+ end
250
+ end
251
+
252
+
253
+ # ----------------------------------------------------------
254
+ # Testing vimeo
255
+ # ----------------------------------------------------------
256
+ context "with an existent vimeo url" do
257
+ let(:videotron) { UnvlogIt.new("http://vimeo.com/119318850") } # => Gotham City SF // A Timelapse Film
258
+
259
+ it "initialize a VgVimeo instance" do
260
+ expect(VgVimeo).to eq(videotron.instance_values['object'].class)
261
+ expect("http://vimeo.com/119318850").to eq(videotron.instance_values['object'].instance_values['url'])
262
+ expect("119318850").to eq(videotron.instance_values['object'].instance_values['video_id'])
263
+ expect(videotron.instance_values['object'].instance_values['feed']).to_not be_nil
264
+ end
265
+
266
+ it "returns the video properties" do
267
+ check_video_attributes({:title => "Gotham City SF // A Timelapse Film", :service => "Vimeo"})
268
+ end
269
+ end
270
+
271
+
272
+ # ----------------------------------------------------------
273
+ # Testing RuTube
274
+ # ----------------------------------------------------------
275
+ context "with an existent rutube url" do
276
+ let(:videotron) { UnvlogIt.new("http://rutube.ru/video/520685fa20c456e200e683f3df17b131/") } # => chipmunks!!
277
+
278
+ it "initialize a VgRutube instance" do
279
+ expect(VgRutube).to eq(videotron.instance_values['object'].class)
280
+ expect("http://rutube.ru/video/520685fa20c456e200e683f3df17b131/").to eq(videotron.instance_values['object'].instance_values['url'])
281
+ expect(videotron.instance_values['object'].instance_values['page']).to_not be_nil
282
+ end
283
+
284
+ it "returns the video properties" do
285
+ check_video_attributes({:title => "Запасливые бурундуки", :service => "Rutube"})
286
+ end
287
+ end
288
+
289
+ context "with an invalid rutube url" do
290
+ it "should raise an error" do
291
+ expect{ UnvlogIt.new("http://rutube.ru/tracks/abdcd.html?v=523423") }.to raise_error(ArgumentError, "Unsuported url or service")
292
+ end
293
+ end
294
+
295
+ # ----------------------------------------------------------
296
+ # Testing Prostopleer
297
+ # ----------------------------------------------------------
298
+ context "with an existent pleer url" do
299
+ let(:videotron) { UnvlogIt.new("http://pleer.com/tracks/3370305QRJl") } # => La mala rodriguez, Nach Scratch SFDK - Dominicana
300
+
301
+ it "initialize a VgPleer instance" do
302
+ expect(VgPleer).to eq(videotron.instance_values['object'].class)
303
+ expect("http://pleer.com/tracks/3370305QRJl").to eq(videotron.instance_values['object'].instance_values['url'])
304
+ expect("3370305QRJl").to eq(videotron.instance_values['object'].instance_values['track_id'])
305
+ expect("Pleer").to eq(videotron.service)
306
+ expect(videotron.embed_html).not_to be_nil
307
+ expect("La mala rodriguez, Nach Scratch SFDK - Dominicana").to eq(videotron.title)
308
+ end
309
+ end
310
+
311
+ context "with an invalid pleer url" do
312
+ it "should raise an error" do
313
+ expect{ UnvlogIt.new("http://prostopleer.com/trackszz/401758bI6n") }.to raise_error(ArgumentError, "Unsuported url or service")
314
+ end
315
+ end
316
+
317
+
318
+ # ----------------------------------------------------------
319
+ # Testing Wistia
320
+ # ----------------------------------------------------------
321
+ context "with an existent wistia url" do
322
+ let(:videotron) { UnvlogIt.new("https://home.wistia.com/medias/e4a27b971d") } # => Brendan - Make It Clap
323
+
324
+ it "initialize a VgWistia instance" do
325
+ expect(VgWistia).to eq(videotron.instance_values['object'].class)
326
+ expect("https://home.wistia.com/medias/e4a27b971d").to eq(videotron.instance_values['object'].instance_values['url'])
327
+ end
328
+
329
+ it "returns the video properties" do
330
+ check_video_attributes({
331
+ :title => "Brendan - Make It Clap",
332
+ :service => "Wistia, Inc.",
333
+ :duration => 16.43,
334
+ :thumbnail => "https://embed-ssl.wistia.com/deliveries/2d2c14e15face1e0cc7aac98ebd5b6f040b950b5.jpg?image_crop_resized=640x360"
335
+ })
336
+ end
337
+ end
338
+
339
+ context "with a non existent wistia url" do
340
+ it "should raise an error" do
341
+ expect{ UnvlogIt.new("https://gadabouting.wistia.com/medias/inexistent") }.to raise_error(ArgumentError, "Unsuported url or service")
342
+ end
343
+ end
344
+
345
+ protected
346
+
347
+ def check_video_attributes(options={})
348
+ expect(options[:title]).to eq(videotron.title) unless (options.blank? || options[:title].blank?)
349
+ expect(options[:service]).to eq(videotron.service) unless (options.blank? || options[:service].blank?)
350
+ expect(videotron.thumbnail).not_to be_nil
351
+ if options.blank? || options[:noembed].blank?
352
+ expect(videotron.embed_url).not_to be_nil
353
+ expect(videotron.embed_html).not_to be_nil
354
+ elsif options[:noembed]
355
+ expect(videotron.embed_url).to be_nil
356
+ expect(videotron.embed_html).to be_nil
357
+ expect(videotron.video_details[:embed_url]).to be_nil
358
+ expect(videotron.video_details[:embed_html]).to be_nil
359
+ end
360
+ expect(videotron.flv).to be_nil
361
+ expect(Hash).to eq(videotron.video_details.class)
362
+ end
363
+ end