rbrainz 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +31 -0
- data/LICENSE +1 -1
- data/README +3 -2
- data/Rakefile +40 -22
- data/TODO +6 -23
- data/doc/README.rdoc +50 -21
- data/examples/getartist.rb +6 -4
- data/examples/getuser.rb +30 -0
- data/examples/searchartists.rb +35 -0
- data/lib/rbrainz.rb +12 -7
- data/lib/rbrainz/core_ext.rb +8 -0
- data/lib/rbrainz/core_ext/mbid.rb +30 -0
- data/lib/rbrainz/core_ext/net_http_digest.rb +52 -0
- data/lib/rbrainz/core_ext/range.rb +28 -0
- data/lib/rbrainz/core_ext/range/equality.rb +232 -0
- data/lib/rbrainz/data/countrynames.rb +7 -5
- data/lib/rbrainz/data/languagenames.rb +8 -5
- data/lib/rbrainz/data/releasetypenames.rb +34 -0
- data/lib/rbrainz/data/scriptnames.rb +8 -5
- data/lib/rbrainz/model.rb +27 -35
- data/lib/rbrainz/model/alias.rb +31 -7
- data/lib/rbrainz/model/artist.rb +30 -41
- data/lib/rbrainz/model/collection.rb +102 -0
- data/lib/rbrainz/model/default_factory.rb +78 -0
- data/lib/rbrainz/model/disc.rb +45 -8
- data/lib/rbrainz/model/entity.rb +122 -53
- data/lib/rbrainz/model/incomplete_date.rb +31 -47
- data/lib/rbrainz/model/individual.rb +103 -0
- data/lib/rbrainz/model/label.rb +42 -33
- data/lib/rbrainz/model/mbid.rb +111 -40
- data/lib/rbrainz/model/relation.rb +78 -14
- data/lib/rbrainz/model/release.rb +119 -31
- data/lib/rbrainz/model/release_event.rb +38 -9
- data/lib/rbrainz/model/scored_collection.rb +99 -0
- data/lib/rbrainz/model/tag.rb +39 -0
- data/lib/rbrainz/model/track.rb +37 -13
- data/lib/rbrainz/model/user.rb +48 -0
- data/lib/rbrainz/utils.rb +9 -0
- data/lib/rbrainz/utils/data.rb +78 -0
- data/lib/rbrainz/utils/helper.rb +22 -0
- data/lib/rbrainz/version.rb +15 -0
- data/lib/rbrainz/webservice.rb +32 -6
- data/lib/rbrainz/webservice/filter.rb +124 -47
- data/lib/rbrainz/webservice/includes.rb +49 -10
- data/lib/rbrainz/webservice/mbxml.rb +228 -173
- data/lib/rbrainz/webservice/query.rb +312 -25
- data/lib/rbrainz/webservice/webservice.rb +164 -27
- data/test/lib/mock_webservice.rb +53 -0
- data/test/lib/test_entity.rb +27 -8
- data/test/lib/test_factory.rb +47 -0
- data/test/lib/testing_helper.rb +7 -5
- data/test/test-data/invalid/artist/tags_1.xml +6 -0
- data/test/test-data/valid/artist/Tchaikovsky-2.xml +12 -0
- data/test/test-data/valid/label/Atlantic_Records_2.xml +3 -0
- data/test/test-data/valid/label/Atlantic_Records_3.xml +11 -0
- data/test/test-data/valid/release/Highway_61_Revisited_2.xml +12 -0
- data/test/test-data/valid/track/Silent_All_These_Years_6.xml +8 -0
- data/test/test_alias.rb +13 -7
- data/test/test_artist.rb +26 -4
- data/test/test_artist_filter.rb +11 -6
- data/test/test_artist_includes.rb +11 -6
- data/test/test_collection.rb +66 -0
- data/test/test_default_factory.rb +75 -0
- data/test/test_disc.rb +9 -4
- data/test/test_incomplete_date.rb +21 -14
- data/test/test_label.rb +56 -18
- data/test/test_label_filter.rb +10 -5
- data/test/test_label_includes.rb +11 -6
- data/test/test_mbid.rb +34 -19
- data/test/test_mbxml.rb +242 -72
- data/test/test_query.rb +92 -7
- data/test/test_range_equality.rb +144 -0
- data/test/test_relation.rb +18 -7
- data/test/test_release.rb +15 -4
- data/test/test_release_event.rb +16 -4
- data/test/test_release_filter.rb +11 -5
- data/test/test_release_includes.rb +11 -6
- data/test/test_scored_collection.rb +86 -0
- data/test/test_tag.rb +39 -0
- data/test/test_track.rb +15 -4
- data/test/test_track_filter.rb +11 -5
- data/test/test_track_includes.rb +11 -6
- data/test/test_utils.rb +41 -0
- data/test/test_webservice.rb +16 -17
- metadata +93 -57
data/test/test_tag.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# $Id: test_tag.rb 118 2007-07-11 22:46:58Z phw $
|
2
|
+
#
|
3
|
+
# Author:: Philipp Wolfer (mailto:phw@rubyforge.org)
|
4
|
+
# Copyright:: Copyright (c) 2007, Philipp Wolfer
|
5
|
+
# License:: RBrainz is free software distributed under a BSD style license.
|
6
|
+
# See LICENSE[file:../LICENSE.html] for permissions.
|
7
|
+
|
8
|
+
require 'test/unit'
|
9
|
+
require 'rbrainz/model'
|
10
|
+
include MusicBrainz
|
11
|
+
|
12
|
+
# Unit test for the Tag model.
|
13
|
+
class TestTag < Test::Unit::TestCase
|
14
|
+
|
15
|
+
def setup
|
16
|
+
end
|
17
|
+
|
18
|
+
def teardown
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_tag
|
22
|
+
tag = nil
|
23
|
+
assert_nothing_raised {tag = Model::Tag.new}
|
24
|
+
tag.text = 'british'
|
25
|
+
tag.count = 11
|
26
|
+
assert_equal 'british', tag.text
|
27
|
+
assert_equal 'british', tag.to_s
|
28
|
+
assert_equal 11, tag.count
|
29
|
+
|
30
|
+
assert_nothing_raised {tag = Model::Tag.new('british')}
|
31
|
+
assert_equal 'british', tag.text
|
32
|
+
assert_equal nil, tag.count
|
33
|
+
|
34
|
+
assert_nothing_raised {tag = Model::Tag.new('british', 10)}
|
35
|
+
assert_equal 'british', tag.text
|
36
|
+
assert_equal 10, tag.count
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
data/test/test_track.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
-
# $Id: test_track.rb
|
2
|
-
#
|
3
|
-
#
|
4
|
-
#
|
1
|
+
# $Id: test_track.rb 138 2007-07-17 09:05:01Z phw $
|
2
|
+
#
|
3
|
+
# Author:: Philipp Wolfer (mailto:phw@rubyforge.org)
|
4
|
+
# Copyright:: Copyright (c) 2007, Philipp Wolfer
|
5
|
+
# License:: RBrainz is free software distributed under a BSD style license.
|
6
|
+
# See LICENSE[file:../LICENSE.html] for permissions.
|
5
7
|
|
6
8
|
require 'test_entity'
|
7
9
|
|
@@ -28,6 +30,14 @@ class TestTrack < Test::Unit::TestCase
|
|
28
30
|
track = nil
|
29
31
|
assert_nothing_raised {track = Model::Track.new}
|
30
32
|
assert track.is_a?(Model::Entity)
|
33
|
+
|
34
|
+
mbid = Model::MBID.new('9d30e408-1559-448b-b491-2f8de1583ccf', track.entity_type)
|
35
|
+
assert_nothing_raised {track = Model::Track.new(
|
36
|
+
mbid,
|
37
|
+
'Indifferent Suns'
|
38
|
+
)}
|
39
|
+
assert_equal mbid, track.id
|
40
|
+
assert_equal 'Indifferent Suns', track.title
|
31
41
|
end
|
32
42
|
|
33
43
|
def test_title
|
@@ -35,6 +45,7 @@ class TestTrack < Test::Unit::TestCase
|
|
35
45
|
assert track.title.nil?
|
36
46
|
assert_nothing_raised {track.title = 'Indifferent Suns'}
|
37
47
|
assert_equal 'Indifferent Suns', track.title
|
48
|
+
assert_equal 'Indifferent Suns', track.to_s
|
38
49
|
end
|
39
50
|
|
40
51
|
# Duration is given in milliseconds.
|
data/test/test_track_filter.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
-
# $Id: test_track_filter.rb
|
2
|
-
#
|
3
|
-
#
|
4
|
-
#
|
1
|
+
# $Id: test_track_filter.rb 121 2007-07-12 08:56:19Z phw $
|
2
|
+
#
|
3
|
+
# Author:: Philipp Wolfer (mailto:phw@rubyforge.org)
|
4
|
+
# Copyright:: Copyright (c) 2007, Philipp Wolfer
|
5
|
+
# License:: RBrainz is free software distributed under a BSD style license.
|
6
|
+
# See LICENSE[file:../LICENSE.html] for permissions.
|
5
7
|
|
6
8
|
require 'test/unit'
|
7
9
|
require 'testing_helper'
|
@@ -23,7 +25,9 @@ class TestTrackFilter < Test::Unit::TestCase
|
|
23
25
|
:puid => '26d1355d-60b7-0de2-7a57-d01d7ee9e8be',
|
24
26
|
:count => 12,
|
25
27
|
:releasetype => 'Album',
|
26
|
-
:limit => 10
|
28
|
+
:limit => 10,
|
29
|
+
:offset => 20,
|
30
|
+
:query => 'arid: 9d30e408-1559-448b-b491-2f8de1583ccf'
|
27
31
|
}
|
28
32
|
end
|
29
33
|
|
@@ -47,6 +51,8 @@ class TestTrackFilter < Test::Unit::TestCase
|
|
47
51
|
assert_equal @filter_hash[:count].to_s, result_hash['count'], filter_string
|
48
52
|
assert_equal @filter_hash[:releasetype], result_hash['releasetype'], filter_string
|
49
53
|
assert_equal @filter_hash[:limit].to_s, result_hash['limit'], filter_string
|
54
|
+
assert_equal @filter_hash[:offset].to_s, result_hash['offset'], filter_string
|
55
|
+
assert_equal @filter_hash[:query].to_s, result_hash['query'], filter_string
|
50
56
|
end
|
51
57
|
|
52
58
|
def test_empty_filter
|
data/test/test_track_includes.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
-
# $Id: test_track_includes.rb
|
2
|
-
#
|
3
|
-
#
|
4
|
-
#
|
1
|
+
# $Id: test_track_includes.rb 118 2007-07-11 22:46:58Z phw $
|
2
|
+
#
|
3
|
+
# Author:: Philipp Wolfer (mailto:phw@rubyforge.org)
|
4
|
+
# Copyright:: Copyright (c) 2007, Philipp Wolfer
|
5
|
+
# License:: RBrainz is free software distributed under a BSD style license.
|
6
|
+
# See LICENSE[file:../LICENSE.html] for permissions.
|
5
7
|
|
6
8
|
require 'test/unit'
|
7
9
|
require 'rbrainz'
|
@@ -25,7 +27,8 @@ class TestTrackIncludes < Test::Unit::TestCase
|
|
25
27
|
:release_rels => true,
|
26
28
|
:track_rels => true,
|
27
29
|
:label_rels => true,
|
28
|
-
:url_rels => true
|
30
|
+
:url_rels => true,
|
31
|
+
:tags => true
|
29
32
|
)
|
30
33
|
result_string = includes.to_s
|
31
34
|
assert_equal 'inc=', result_string[0..3]
|
@@ -39,6 +42,7 @@ class TestTrackIncludes < Test::Unit::TestCase
|
|
39
42
|
assert result_array.include?('track-rels')
|
40
43
|
assert result_array.include?('label-rels')
|
41
44
|
assert result_array.include?('url-rels')
|
45
|
+
assert result_array.include?('tags')
|
42
46
|
end
|
43
47
|
|
44
48
|
def test_empty_includes
|
@@ -50,7 +54,8 @@ class TestTrackIncludes < Test::Unit::TestCase
|
|
50
54
|
:release_rels => false,
|
51
55
|
:track_rels => false,
|
52
56
|
:label_rels => false,
|
53
|
-
:url_rels => false
|
57
|
+
:url_rels => false,
|
58
|
+
:tags => false
|
54
59
|
)
|
55
60
|
assert_equal '', includes.to_s
|
56
61
|
|
data/test/test_utils.rb
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# $Id: test_utils.rb 141 2007-07-17 14:21:12Z phw $
|
2
|
+
#
|
3
|
+
# Author:: Philipp Wolfer (mailto:phw@rubyforge.org)
|
4
|
+
# Copyright:: Copyright (c) 2007, Philipp Wolfer
|
5
|
+
# License:: RBrainz is free software distributed under a BSD style license.
|
6
|
+
# See LICENSE[file:../LICENSE.html] for permissions.
|
7
|
+
|
8
|
+
require 'test/unit'
|
9
|
+
require 'rbrainz/model'
|
10
|
+
include MusicBrainz
|
11
|
+
|
12
|
+
# Unit test for the methods in the Utils module.
|
13
|
+
class TestUtils < Test::Unit::TestCase
|
14
|
+
|
15
|
+
def setup
|
16
|
+
end
|
17
|
+
|
18
|
+
def teardown
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_country_names
|
22
|
+
assert_equal 'Germany', Utils.get_country_name('DE')
|
23
|
+
assert_equal nil, Utils.get_country_name('UNKNOWN')
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_language_names
|
27
|
+
assert_equal 'English', Utils.get_language_name('ENG')
|
28
|
+
assert_equal nil, Utils.get_language_name('UNKNOWN')
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_script_names
|
32
|
+
assert_equal 'Cyrillic', Utils.get_script_name('Cyrl')
|
33
|
+
assert_equal nil, Utils.get_script_name('UNKNOWN')
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_release_type_names
|
37
|
+
assert_equal 'Bootleg', Utils.get_release_type_name(Model::Release::TYPE_BOOTLEG)
|
38
|
+
assert_equal nil, Utils.get_release_type_name('UNKNOWN')
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
data/test/test_webservice.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
-
# $Id: test_webservice.rb
|
2
|
-
#
|
3
|
-
#
|
4
|
-
#
|
1
|
+
# $Id: test_webservice.rb 114 2007-07-10 19:33:22Z phw $
|
2
|
+
#
|
3
|
+
# Author:: Philipp Wolfer (mailto:phw@rubyforge.org)
|
4
|
+
# Copyright:: Copyright (c) 2007, Philipp Wolfer
|
5
|
+
# License:: RBrainz is free software distributed under a BSD style license.
|
6
|
+
# See LICENSE[file:../LICENSE.html] for permissions.
|
5
7
|
|
6
8
|
require 'test/unit'
|
7
9
|
require 'rbrainz'
|
@@ -21,7 +23,7 @@ class TestWebservice < Test::Unit::TestCase
|
|
21
23
|
def test_get_success
|
22
24
|
ws = Webservice::Webservice.new(:host => @testserver)
|
23
25
|
assert_nothing_raised {
|
24
|
-
ws.get(:artist, Model::MBID.
|
26
|
+
ws.get(:artist, :id => Model::MBID.parse('10bf95b6-30e3-44f1-817f-45762cdc0de0', :artist))
|
25
27
|
}
|
26
28
|
end
|
27
29
|
|
@@ -29,25 +31,16 @@ class TestWebservice < Test::Unit::TestCase
|
|
29
31
|
def test_get_request_error
|
30
32
|
ws = Webservice::Webservice.new(:host => @testserver)
|
31
33
|
assert_raise(Webservice::RequestError) {
|
32
|
-
ws.get(:artist, Model::MBID.
|
34
|
+
ws.get(:artist, :id => Model::MBID.parse('10bf95b6-30e3-44f1-817f-45762cdc0de0', :artist),
|
33
35
|
:include => 'inc=invalid')
|
34
36
|
}
|
35
37
|
end
|
36
38
|
|
37
|
-
# 401 - Unauthorized
|
38
|
-
# Not implemented, yet.
|
39
|
-
#def test_get_authentication_error
|
40
|
-
# ws = Webservice::Webservice.new(:host => @testserver)
|
41
|
-
# assert_raise(Webservice::AuthenticationError) {
|
42
|
-
# #...
|
43
|
-
# }
|
44
|
-
#end
|
45
|
-
|
46
39
|
# 404 - Not Found
|
47
40
|
def test_get_resource_not_found_error
|
48
41
|
ws = Webservice::Webservice.new(:host => @testserver, :path_prefix => '/invalid')
|
49
42
|
assert_raise(Webservice::ResourceNotFoundError) {
|
50
|
-
ws.get(:artist, Model::MBID.
|
43
|
+
ws.get(:artist, :id => Model::MBID.parse('10bf95b6-30e3-44f1-817f-45762cdc0de0', :artist))
|
51
44
|
}
|
52
45
|
end
|
53
46
|
|
@@ -55,8 +48,14 @@ class TestWebservice < Test::Unit::TestCase
|
|
55
48
|
ws = Webservice::Webservice.new(:host => 'example.org')
|
56
49
|
ws.open_timeout = 0.1
|
57
50
|
assert_raise(Webservice::ConnectionError) {
|
58
|
-
ws.get(:artist, Model::MBID.
|
51
|
+
ws.get(:artist, :id => Model::MBID.parse('10bf95b6-30e3-44f1-817f-45762cdc0de0', :artist))
|
59
52
|
}
|
60
53
|
end
|
61
54
|
|
55
|
+
def test_user
|
56
|
+
ws = Webservice::Webservice.new()
|
57
|
+
assert_raise(Webservice::AuthenticationError) {
|
58
|
+
ws.get(:user, :filter=> Webservice::UserFilter.new("Nigel Graham"))
|
59
|
+
}
|
60
|
+
end
|
62
61
|
end
|
metadata
CHANGED
@@ -3,15 +3,15 @@ rubygems_version: 0.9.0
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rbrainz
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2007-
|
8
|
-
summary: Ruby library for the MusicBrainz XML
|
6
|
+
version: 0.2.0
|
7
|
+
date: 2007-07-19 00:00:00 +02:00
|
8
|
+
summary: Ruby library for the MusicBrainz XML web service.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
11
11
|
email: phw@rubyforge.org
|
12
12
|
homepage: http://rbrainz.rubyforge.org
|
13
13
|
rubyforge_project: rbrainz
|
14
|
-
description: RBrainz is a Ruby client library to access the MusicBrainz XML
|
14
|
+
description: RBrainz is a Ruby client library to access the MusicBrainz XML web service. RBrainz supports the MusicBrainz XML Metadata Version 1.2, including support for labels and extended release events. RBrainz follows the design of python-musicbrainz2, the reference implementation for a MusicBrainz client library. Developers used to python-musicbrainz2 should already know most of RBrainz' interface. However, RBrainz differs from python-musicbrainz2 wherever it makes the library more Ruby like or easier to use.
|
15
15
|
autorequire: rbrainz
|
16
16
|
default_executable:
|
17
17
|
bindir: bin
|
@@ -27,114 +27,150 @@ signing_key:
|
|
27
27
|
cert_chain:
|
28
28
|
post_install_message:
|
29
29
|
authors:
|
30
|
-
- Philipp Wolfer
|
30
|
+
- - Philipp Wolfer
|
31
|
+
- Nigel Graham
|
31
32
|
files:
|
32
33
|
- Rakefile
|
33
34
|
- LICENSE
|
34
35
|
- README
|
35
36
|
- TODO
|
37
|
+
- CHANGES
|
36
38
|
- doc/README.rdoc
|
39
|
+
- examples/getuser.rb
|
40
|
+
- examples/searchartists.rb
|
37
41
|
- examples/getartist.rb
|
38
42
|
- lib/rbrainz.rb
|
39
|
-
- lib/rbrainz/model.rb
|
40
43
|
- lib/rbrainz/webservice.rb
|
41
|
-
- lib/rbrainz/model
|
42
|
-
- lib/rbrainz/
|
43
|
-
- lib/rbrainz/
|
44
|
+
- lib/rbrainz/model.rb
|
45
|
+
- lib/rbrainz/core_ext.rb
|
46
|
+
- lib/rbrainz/utils.rb
|
47
|
+
- lib/rbrainz/version.rb
|
48
|
+
- lib/rbrainz/model/release_event.rb
|
49
|
+
- lib/rbrainz/model/relation.rb
|
44
50
|
- lib/rbrainz/model/label.rb
|
45
51
|
- lib/rbrainz/model/release.rb
|
46
|
-
- lib/rbrainz/model/
|
52
|
+
- lib/rbrainz/model/artist.rb
|
53
|
+
- lib/rbrainz/model/disc.rb
|
47
54
|
- lib/rbrainz/model/track.rb
|
48
55
|
- lib/rbrainz/model/incomplete_date.rb
|
49
|
-
- lib/rbrainz/model/
|
50
|
-
- lib/rbrainz/model/
|
51
|
-
- lib/rbrainz/model/
|
52
|
-
- lib/rbrainz/
|
53
|
-
- lib/rbrainz/
|
54
|
-
- lib/rbrainz/
|
55
|
-
- lib/rbrainz/
|
56
|
-
- lib/rbrainz/
|
56
|
+
- lib/rbrainz/model/individual.rb
|
57
|
+
- lib/rbrainz/model/alias.rb
|
58
|
+
- lib/rbrainz/model/mbid.rb
|
59
|
+
- lib/rbrainz/model/entity.rb
|
60
|
+
- lib/rbrainz/model/user.rb
|
61
|
+
- lib/rbrainz/model/scored_collection.rb
|
62
|
+
- lib/rbrainz/model/tag.rb
|
63
|
+
- lib/rbrainz/model/collection.rb
|
64
|
+
- lib/rbrainz/model/default_factory.rb
|
65
|
+
- lib/rbrainz/data/releasetypenames.rb
|
66
|
+
- lib/rbrainz/data/countrynames.rb
|
57
67
|
- lib/rbrainz/data/languagenames.rb
|
58
68
|
- lib/rbrainz/data/scriptnames.rb
|
59
|
-
- lib/rbrainz/
|
60
|
-
-
|
69
|
+
- lib/rbrainz/webservice/webservice.rb
|
70
|
+
- lib/rbrainz/webservice/mbxml.rb
|
71
|
+
- lib/rbrainz/webservice/filter.rb
|
72
|
+
- lib/rbrainz/webservice/query.rb
|
73
|
+
- lib/rbrainz/webservice/includes.rb
|
74
|
+
- lib/rbrainz/core_ext/net_http_digest.rb
|
75
|
+
- lib/rbrainz/core_ext/range.rb
|
76
|
+
- lib/rbrainz/core_ext/mbid.rb
|
77
|
+
- lib/rbrainz/core_ext/range/equality.rb
|
78
|
+
- lib/rbrainz/utils/helper.rb
|
79
|
+
- lib/rbrainz/utils/data.rb
|
80
|
+
- test/test_label_filter.rb
|
81
|
+
- test/test_mbxml.rb
|
61
82
|
- test/test_label.rb
|
83
|
+
- test/test_release.rb
|
62
84
|
- test/test_disc.rb
|
85
|
+
- test/test_release_event.rb
|
63
86
|
- test/test_release_filter.rb
|
64
|
-
- test/
|
65
|
-
- test/test_mbid.rb
|
66
|
-
- test/test_artist_includes.rb
|
67
|
-
- test/test_release.rb
|
68
|
-
- test/test_release_includes.rb
|
69
|
-
- test/test_mbxml.rb
|
87
|
+
- test/test_alias.rb
|
70
88
|
- test/test_track_includes.rb
|
71
|
-
- test/
|
72
|
-
- test/
|
89
|
+
- test/test_collection.rb
|
90
|
+
- test/test_incomplete_date.rb
|
91
|
+
- test/test_artist_includes.rb
|
92
|
+
- test/test_webservice.rb
|
73
93
|
- test/test_track.rb
|
74
|
-
- test/
|
94
|
+
- test/test_query.rb
|
75
95
|
- test/test_label_includes.rb
|
76
96
|
- test/test_artist.rb
|
77
|
-
- test/
|
78
|
-
- test/
|
97
|
+
- test/test_release_includes.rb
|
98
|
+
- test/test_track_filter.rb
|
99
|
+
- test/test_mbid.rb
|
100
|
+
- test/test_artist_filter.rb
|
79
101
|
- test/test_relation.rb
|
80
|
-
- test/
|
81
|
-
- test/
|
102
|
+
- test/test_scored_collection.rb
|
103
|
+
- test/test_range_equality.rb
|
104
|
+
- test/test_tag.rb
|
105
|
+
- test/test_default_factory.rb
|
106
|
+
- test/test_utils.rb
|
82
107
|
- test/lib/testing_helper.rb
|
108
|
+
- test/lib/test_entity.rb
|
109
|
+
- test/lib/mock_webservice.rb
|
110
|
+
- test/lib/test_factory.rb
|
83
111
|
- test/test-data/valid
|
84
112
|
- test/test-data/invalid
|
85
113
|
- test/test-data/README
|
86
|
-
- test/test-data/valid/
|
114
|
+
- test/test-data/valid/label
|
87
115
|
- test/test-data/valid/release
|
88
116
|
- test/test-data/valid/track
|
89
117
|
- test/test-data/valid/artist
|
90
|
-
- test/test-data/valid/
|
91
|
-
- test/test-data/valid/
|
92
|
-
- test/test-data/valid/
|
118
|
+
- test/test-data/valid/user
|
119
|
+
- test/test-data/valid/label/Atlantic_Records_1.xml
|
120
|
+
- test/test-data/valid/label/Atlantic_Records_2.xml
|
121
|
+
- test/test-data/valid/label/Atlantic_Records_3.xml
|
122
|
+
- test/test-data/valid/label/search_result_1.xml
|
123
|
+
- test/test-data/valid/release/Under_the_Pink_3.xml
|
124
|
+
- test/test-data/valid/release/search_result_1.xml
|
93
125
|
- test/test-data/valid/release/Highway_61_Revisited_1.xml
|
94
|
-
- test/test-data/valid/release/
|
126
|
+
- test/test-data/valid/release/Highway_61_Revisited_2.xml
|
127
|
+
- test/test-data/valid/release/Mission_Impossible_2.xml
|
95
128
|
- test/test-data/valid/release/Little_Earthquakes_1.xml
|
129
|
+
- test/test-data/valid/release/Little_Earthquakes_2.xml
|
96
130
|
- test/test-data/valid/release/Under_the_Pink_1.xml
|
97
131
|
- test/test-data/valid/release/Under_the_Pink_2.xml
|
98
|
-
- test/test-data/valid/release/Under_the_Pink_3.xml
|
99
|
-
- test/test-data/valid/release/search_result_1.xml
|
100
132
|
- test/test-data/valid/track/Silent_All_These_Years_1.xml
|
101
|
-
- test/test-data/valid/track/Silent_All_These_Years_5.xml
|
102
|
-
- test/test-data/valid/track/Silent_All_These_Years_3.xml
|
103
133
|
- test/test-data/valid/track/Silent_All_These_Years_2.xml
|
104
|
-
- test/test-data/valid/track/
|
134
|
+
- test/test-data/valid/track/Silent_All_These_Years_3.xml
|
105
135
|
- test/test-data/valid/track/search_result_1.xml
|
106
|
-
- test/test-data/valid/
|
107
|
-
- test/test-data/valid/
|
108
|
-
- test/test-data/valid/
|
109
|
-
- test/test-data/valid/artist/Tori_Amos_1.xml
|
110
|
-
- test/test-data/valid/artist/Tori_Amos_2.xml
|
111
|
-
- test/test-data/valid/artist/Tori_Amos_3.xml
|
136
|
+
- test/test-data/valid/track/Silent_All_These_Years_4.xml
|
137
|
+
- test/test-data/valid/track/Silent_All_These_Years_5.xml
|
138
|
+
- test/test-data/valid/track/Silent_All_These_Years_6.xml
|
112
139
|
- test/test-data/valid/artist/Tori_Amos_5.xml
|
113
140
|
- test/test-data/valid/artist/search_result_1.xml
|
141
|
+
- test/test-data/valid/artist/Tori_Amos_1.xml
|
114
142
|
- test/test-data/valid/artist/Tchaikovsky-1.xml
|
115
|
-
- test/test-data/valid/
|
116
|
-
- test/test-data/valid/
|
117
|
-
- test/test-data/valid/
|
143
|
+
- test/test-data/valid/artist/Tori_Amos_2.xml
|
144
|
+
- test/test-data/valid/artist/Tchaikovsky-2.xml
|
145
|
+
- test/test-data/valid/artist/Tori_Amos_3.xml
|
146
|
+
- test/test-data/valid/artist/empty_1.xml
|
147
|
+
- test/test-data/valid/artist/Tori_Amos_4.xml
|
148
|
+
- test/test-data/valid/artist/empty_2.xml
|
149
|
+
- test/test-data/valid/user/User_1.xml
|
118
150
|
- test/test-data/invalid/release
|
119
151
|
- test/test-data/invalid/track
|
120
152
|
- test/test-data/invalid/artist
|
121
|
-
- test/test-data/invalid/artist/basic_2.xml
|
122
|
-
- test/test-data/invalid/artist/empty_2.xml
|
123
|
-
- test/test-data/invalid/artist/empty_1.xml
|
124
|
-
- test/test-data/invalid/artist/basic_1.xml
|
125
153
|
- test/test-data/invalid/artist/empty_3.xml
|
154
|
+
- test/test-data/invalid/artist/basic_1.xml
|
155
|
+
- test/test-data/invalid/artist/basic_2.xml
|
126
156
|
- test/test-data/invalid/artist/search_result_1.xml
|
157
|
+
- test/test-data/invalid/artist/empty_1.xml
|
158
|
+
- test/test-data/invalid/artist/tags_1.xml
|
159
|
+
- test/test-data/invalid/artist/empty_2.xml
|
127
160
|
test_files: []
|
128
161
|
|
129
162
|
rdoc_options: []
|
130
163
|
|
131
164
|
extra_rdoc_files:
|
132
165
|
- doc/README.rdoc
|
166
|
+
- LICENSE
|
167
|
+
- TODO
|
168
|
+
- CHANGES
|
133
169
|
executables: []
|
134
170
|
|
135
171
|
extensions: []
|
136
172
|
|
137
173
|
requirements:
|
138
|
-
-
|
174
|
+
- "Optional: mb-discid >= 0.1.2 (for calculating disc IDs)"
|
139
175
|
dependencies: []
|
140
176
|
|