Sha256: b12171c6982a35b59b079f0a3019f942922bc6c1d6483d3b926a621461bb897d
Contents?: true
Size: 1.89 KB
Versions: 2
Compression:
Stored size: 1.89 KB
Contents
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') require File.expand_path(File.dirname(__FILE__) + '/../test_app') set :environment, :test require 'nokogiri' require 'fileutils' describe Rack::MusicIndex do def app Sinatra::Application end before do @mp3 = fixture('/foo/test2.mp3') end after do if File.exist?(@mp3) FileUtils.rm(@mp3) end end it 'should index mp3s as podcast' do get '/foo' last_response.should be_ok xml = Nokogiri::XML(last_response.body) channel = xml.xpath('//channel')[0] items = xml.xpath('//item') item = items[0] channel.xpath('title')[0].content.should eql('/foo') channel.xpath('description')[0].content.should eql('Generated by Rack::MusicIndex') items.size.should eql(1) item.xpath('title')[0].content.should eql('bar') item.xpath('link')[0].content.should eql('http://example.org/foo/test%20foo.mp3') item.xpath('guid')[0].content.should eql('http://example.org/foo/test%20foo.mp3') item.xpath('enclosure')[0]['url'].should eql('http://example.org/foo/test%20foo.mp3') item.xpath('author')[0].content.should eql('foo') item.xpath('itunes:author')[0].content.should eql('foo') end it 'should reflect file changes without restart' do get '/foo' xml = Nokogiri::XML(last_response.body) xml.xpath('//item').size.should eql(1) open(@mp3, 'w') do |f| f.write('xxx') end get '/foo' xml = Nokogiri::XML(last_response.body) xml.xpath('//item').size.should eql(2) FileUtils.rm(@mp3) get '/foo' xml = Nokogiri::XML(last_response.body) xml.xpath('//item').size.should eql(1) end it 'should return mp3' do get '/foo/test%20foo.mp3' last_response.should be_ok last_response['Content-Type'].should eql('audio/mpeg') last_response.body.should eql(open(fixture('/foo/test foo.mp3'), 'rb').read) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rack-musicindex-0.2.1 | spec/rack/musicindex_spec.rb |
rack-musicindex-0.2.0 | spec/rack/musicindex_spec.rb |