discourse/spec/lib/onebox/engine/audio_onebox_spec.rb
David Taylor c9dab6fd08
DEV: Automatically require 'rails_helper' in all specs (#16077)
It's very easy to forget to add `require 'rails_helper'` at the top of every core/plugin spec file, and omissions can cause some very confusing/sporadic errors.

By setting this flag in `.rspec`, we can remove the need for `require 'rails_helper'` entirely.
2022-03-01 17:50:50 +00:00

36 lines
1.3 KiB
Ruby

# frozen_string_literal: true
describe Onebox::Engine::AudioOnebox do
it "supports ogg" do
expect(Onebox.preview('http://upload.wikimedia.org/wikipedia/commons/c/c8/Example.ogg').to_s).to match(/<audio/)
end
it "supports mp3" do
expect(Onebox.preview('http://kolber.github.io/audiojs/demos/mp3/juicy.MP3').to_s).to match(/<audio/)
end
it "supports wav" do
expect(Onebox.preview('http://download.wavetlan.com/SVV/Media/HTTP/sample14.wav').to_s).to match(/<audio/)
end
it "supports m4a" do
expect(Onebox.preview('http://techslides.com/demos/samples/sample.m4a').to_s).to match(/<audio/)
end
it "supports URLs with query parameters" do
expect(Onebox.preview('https://upload.wikimedia.org/wikipedia/commons/c/c8/Example.ogg?foo=bar').to_s).to match(/<audio/)
end
it "supports protocol relative URLs" do
expect(Onebox.preview('//upload.wikimedia.org/wikipedia/commons/c/c8/Example.ogg').to_s).to match(/<audio/)
end
it "includes a fallback direct link to the audio" do
expect(Onebox.preview('http://kolber.github.io/audiojs/demos/mp3/juicy.mp3').to_s).to match(/<a.*mp3/)
end
it "respects the disable_media_downloads option" do
expect(Onebox.preview('http://kolber.github.io/audiojs/demos/mp3/juicy.MP3', disable_media_download_controls: true).to_s).to include("controlslist=\"nodownload\"")
end
end