Sha256: ddb8aef729bb8dbb428736415e742a2f7b10cd0ab479dd02ed18396d04433dd4

Contents?: true

Size: 1.73 KB

Versions: 6

Compression:

Stored size: 1.73 KB

Contents

# -*- encoding: utf-8 -*-

require "spec_helper"

describe MusicBrainz::Bindings::Release do
  describe '.parse' do
    describe 'attributes' do
      describe 'format' do
        context 'single cd' do
          it 'returns CD' do
            response = '<release><medium-list count="1"><medium><format>CD</format></medium></medium-list></release>'
            xml = Nokogiri::XML.parse(response)
            described_class.parse(xml)[:format].should == 'CD'
          end
        end
        
        context 'multiple cds' do
          it 'returns 2xCD' do
            response = '<release><medium-list count="2"><medium><format>CD</format><track-list count="11" /></medium><medium><title>bonus disc</title><format>CD</format></medium></medium-list></release>'
            xml = Nokogiri::XML.parse(response)
            described_class.parse(xml)[:format].should == '2xCD'
          end
        end
        
        context 'different formats' do
          it 'returns DVD + CD' do
            response = '<release><medium-list count="2"><medium><format>DVD</format></medium><medium><format>CD</format></medium></medium-list></release>'
            xml = Nokogiri::XML.parse(response)
            described_class.parse(xml)[:format].should == 'DVD + CD'
          end
        end
        
        context 'different formats plus multiple mediums with same format' do
          it 'returns 2xCD + DVD' do
            response = '<release><medium-list count="2"><medium><format>CD</format></medium><medium><format>CD</format></medium><medium><format>DVD</format></medium></medium-list></release>'
            xml = Nokogiri::XML.parse(response)
            described_class.parse(xml)[:format].should == '2xCD + DVD'
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
musicbrainz-0.7.7 spec/bindings/release_spec.rb
musicbrainz-0.7.6 spec/bindings/release_spec.rb
musicbrainz-0.7.5 spec/bindings/release_spec.rb
musicbrainz-0.7.4 spec/bindings/release_spec.rb
musicbrainz-0.7.3 spec/bindings/release_spec.rb
musicbrainz-0.7.2 spec/bindings/release_spec.rb