Sha256: de541172a4a03088394797c7a9a656bbe7493415d55ec92e4706b45cd58aa0d2
Contents?: true
Size: 1.87 KB
Versions: 1
Compression:
Stored size: 1.87 KB
Contents
require 'spec_helper' require 'support/test_server' require 'rspec' require "mini_mediainfo/media" require "net/http" describe MiniMediainfo::Media do context "when introspecting files" do it "should introspect audio file" do media = MiniMediainfo::Media.new("spec/support/small.mp4") expect(media).to_not be_nil media.introspect should_have_proper_data(media.meta) end end context "when introspecting over http" do before(:all) do @server_thread = Thread.new {TestServer.run!} sleep(1) end after(:all) do @server_thread.kill end it "should introspect video url" do res = Net::HTTP.start('localhost', 4567) { |http| http.get('/small.mp4') } expect(res.code).to eq('200') media = MiniMediainfo::Media.new("http://localhost:4567/small.mp4") expect(media).to_not be_nil media.introspect should_have_proper_data(media.meta) end end def should_have_proper_data(meta_data) expect(meta_data).to be_a(Hash) ['General', 'Audio', 'Video'].each do |k| expect(meta_data).to have_key(k) expect(meta_data[k]).to_not be_empty end # test format for a couple of key properties number_format = /^[\d]+(\.[\d]+){0,1}$/ expect(meta_data['General']['Duration']).to match(number_format) #ms expect(meta_data['Video']['Codec ID']).to_not be_nil # avc1 expect(meta_data['Video']['Frame rate']).to match(number_format) # (fps) expect(meta_data['Video']['Width']).to match(number_format) # 1280 expect(meta_data['Video']['Height']).to match(number_format) # 1280 expect(meta_data['Video']['Format profile']).to_not be_nil # Main@L3.2 expect(meta_data['Video']['Bit rate']).to match(number_format) # 1280 expect(meta_data['Audio']['Bit rate']).to match(number_format) # 1280 expect(meta_data['Audio']['Codec']).to_not be_nil # AAC end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mini_mediainfo-0.0.5 | spec/media_spec.rb |