Sha256: 711baa43d28983932c7799c14d9431898bb181ae5c6f27e6454bd01bf6c7bee2

Contents?: true

Size: 1.46 KB

Versions: 5

Compression:

Stored size: 1.46 KB

Contents

require 'fakefs/spec_helpers'
require 'spec_helper'

module AirPlayer
  describe Playlist do
    let (:playlist) do
      AirPlayer::Playlist.new
    end

    describe '.add' do
      context 'with local directory' do
        it 'returns media type is local file' do
          FakeFS do
            FileUtils.touch('01.m4v')
            FileUtils.touch('02.m4v')
          end

          playlist.add('.')
          playlist.entries do |media|
            expect(media.file?).to be true
          end
        end
      end

      context 'with URL' do
        it 'returns media type is url' do
          playlist.add('http://example.com/video.mp4')
          expect(playlist.first.path).to match 'http'
        end
      end

      context 'with multiple files' do
        it 'have multiple files' do
          expect(playlist.add('video.mp4').size).to eq 1
          expect(playlist.add('video.m4v').size).to eq 2
        end
      end

      context 'with podcast RSS' do
        it 'returns media instances' do
          playlist.add('http://rss.cnn.com/services/podcasting/cnnnewsroom/rss.xml')
          playlist.entries do |media|
            expect(media).to be_kind_of AirPlayer::Media
          end
        end
      end

      context 'with local file' do
        it 'returns media instances' do
          playlist.add('video.mp4')
          playlist.entries do |media|
            expect(media).to be_kind_of AirPlayer::Media
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
airplayer-1.0.1 spec/airplayer/playlist_spec.rb
airplayer-1.0.0 spec/airplayer/playlist_spec.rb
airplayer-1.0.0.pre spec/airplayer/playlist_spec.rb
airplayer-0.1.0 spec/airplayer/playlist_spec.rb
airplayer-0.0.9 spec/airplayer/playlist_spec.rb