rbrainz 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. data/CHANGES +31 -0
  2. data/LICENSE +1 -1
  3. data/README +3 -2
  4. data/Rakefile +40 -22
  5. data/TODO +6 -23
  6. data/doc/README.rdoc +50 -21
  7. data/examples/getartist.rb +6 -4
  8. data/examples/getuser.rb +30 -0
  9. data/examples/searchartists.rb +35 -0
  10. data/lib/rbrainz.rb +12 -7
  11. data/lib/rbrainz/core_ext.rb +8 -0
  12. data/lib/rbrainz/core_ext/mbid.rb +30 -0
  13. data/lib/rbrainz/core_ext/net_http_digest.rb +52 -0
  14. data/lib/rbrainz/core_ext/range.rb +28 -0
  15. data/lib/rbrainz/core_ext/range/equality.rb +232 -0
  16. data/lib/rbrainz/data/countrynames.rb +7 -5
  17. data/lib/rbrainz/data/languagenames.rb +8 -5
  18. data/lib/rbrainz/data/releasetypenames.rb +34 -0
  19. data/lib/rbrainz/data/scriptnames.rb +8 -5
  20. data/lib/rbrainz/model.rb +27 -35
  21. data/lib/rbrainz/model/alias.rb +31 -7
  22. data/lib/rbrainz/model/artist.rb +30 -41
  23. data/lib/rbrainz/model/collection.rb +102 -0
  24. data/lib/rbrainz/model/default_factory.rb +78 -0
  25. data/lib/rbrainz/model/disc.rb +45 -8
  26. data/lib/rbrainz/model/entity.rb +122 -53
  27. data/lib/rbrainz/model/incomplete_date.rb +31 -47
  28. data/lib/rbrainz/model/individual.rb +103 -0
  29. data/lib/rbrainz/model/label.rb +42 -33
  30. data/lib/rbrainz/model/mbid.rb +111 -40
  31. data/lib/rbrainz/model/relation.rb +78 -14
  32. data/lib/rbrainz/model/release.rb +119 -31
  33. data/lib/rbrainz/model/release_event.rb +38 -9
  34. data/lib/rbrainz/model/scored_collection.rb +99 -0
  35. data/lib/rbrainz/model/tag.rb +39 -0
  36. data/lib/rbrainz/model/track.rb +37 -13
  37. data/lib/rbrainz/model/user.rb +48 -0
  38. data/lib/rbrainz/utils.rb +9 -0
  39. data/lib/rbrainz/utils/data.rb +78 -0
  40. data/lib/rbrainz/utils/helper.rb +22 -0
  41. data/lib/rbrainz/version.rb +15 -0
  42. data/lib/rbrainz/webservice.rb +32 -6
  43. data/lib/rbrainz/webservice/filter.rb +124 -47
  44. data/lib/rbrainz/webservice/includes.rb +49 -10
  45. data/lib/rbrainz/webservice/mbxml.rb +228 -173
  46. data/lib/rbrainz/webservice/query.rb +312 -25
  47. data/lib/rbrainz/webservice/webservice.rb +164 -27
  48. data/test/lib/mock_webservice.rb +53 -0
  49. data/test/lib/test_entity.rb +27 -8
  50. data/test/lib/test_factory.rb +47 -0
  51. data/test/lib/testing_helper.rb +7 -5
  52. data/test/test-data/invalid/artist/tags_1.xml +6 -0
  53. data/test/test-data/valid/artist/Tchaikovsky-2.xml +12 -0
  54. data/test/test-data/valid/label/Atlantic_Records_2.xml +3 -0
  55. data/test/test-data/valid/label/Atlantic_Records_3.xml +11 -0
  56. data/test/test-data/valid/release/Highway_61_Revisited_2.xml +12 -0
  57. data/test/test-data/valid/track/Silent_All_These_Years_6.xml +8 -0
  58. data/test/test_alias.rb +13 -7
  59. data/test/test_artist.rb +26 -4
  60. data/test/test_artist_filter.rb +11 -6
  61. data/test/test_artist_includes.rb +11 -6
  62. data/test/test_collection.rb +66 -0
  63. data/test/test_default_factory.rb +75 -0
  64. data/test/test_disc.rb +9 -4
  65. data/test/test_incomplete_date.rb +21 -14
  66. data/test/test_label.rb +56 -18
  67. data/test/test_label_filter.rb +10 -5
  68. data/test/test_label_includes.rb +11 -6
  69. data/test/test_mbid.rb +34 -19
  70. data/test/test_mbxml.rb +242 -72
  71. data/test/test_query.rb +92 -7
  72. data/test/test_range_equality.rb +144 -0
  73. data/test/test_relation.rb +18 -7
  74. data/test/test_release.rb +15 -4
  75. data/test/test_release_event.rb +16 -4
  76. data/test/test_release_filter.rb +11 -5
  77. data/test/test_release_includes.rb +11 -6
  78. data/test/test_scored_collection.rb +86 -0
  79. data/test/test_tag.rb +39 -0
  80. data/test/test_track.rb +15 -4
  81. data/test/test_track_filter.rb +11 -5
  82. data/test/test_track_includes.rb +11 -6
  83. data/test/test_utils.rb +41 -0
  84. data/test/test_webservice.rb +16 -17
  85. 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 30 2007-05-29 02:12:33Z phw $
2
- # Copyright (c) 2007, Philipp Wolfer
3
- # All rights reserved.
4
- # See LICENSE for permissions.
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.
@@ -1,7 +1,9 @@
1
- # $Id: test_track_filter.rb 27 2007-05-28 23:15:21Z phw $
2
- # Copyright (c) 2007, Philipp Wolfer
3
- # All rights reserved.
4
- # See LICENSE for permissions.
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
@@ -1,7 +1,9 @@
1
- # $Id: test_track_includes.rb 27 2007-05-28 23:15:21Z phw $
2
- # Copyright (c) 2007, Philipp Wolfer
3
- # All rights reserved.
4
- # See LICENSE for permissions.
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
 
@@ -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
@@ -1,7 +1,9 @@
1
- # $Id: test_webservice.rb 36 2007-05-29 18:43:36Z phw $
2
- # Copyright (c) 2007, Philipp Wolfer
3
- # All rights reserved.
4
- # See LICENSE for permissions.
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.from_uuid(:artist, '10bf95b6-30e3-44f1-817f-45762cdc0de0'))
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.from_uuid(:artist, '10bf95b6-30e3-44f1-817f-45762cdc0de0'),
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.from_uuid(:artist, '10bf95b6-30e3-44f1-817f-45762cdc0de0'))
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.from_uuid(:artist, '10bf95b6-30e3-44f1-817f-45762cdc0de0'))
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.1.1
7
- date: 2007-05-29 00:00:00 +02:00
8
- summary: Ruby library for the MusicBrainz XML webservice.
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 webservice written in pure Ruby. 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. RBrainz supports the MusicBrainz XML Metadata Version 1.1, including support for labels and extended release events.
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/entity.rb
42
- - lib/rbrainz/model/alias.rb
43
- - lib/rbrainz/model/mbid.rb
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/relation.rb
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/release_event.rb
50
- - lib/rbrainz/model/disc.rb
51
- - lib/rbrainz/model/artist.rb
52
- - lib/rbrainz/webservice/query.rb
53
- - lib/rbrainz/webservice/filter.rb
54
- - lib/rbrainz/webservice/includes.rb
55
- - lib/rbrainz/webservice/webservice.rb
56
- - lib/rbrainz/webservice/mbxml.rb
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/data/countrynames.rb
60
- - test/test_track_filter.rb
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/test_webservice.rb
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/test_label_filter.rb
72
- - test/test_release_event.rb
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/test_artist_filter.rb
94
+ - test/test_query.rb
75
95
  - test/test_label_includes.rb
76
96
  - test/test_artist.rb
77
- - test/test_incomplete_date.rb
78
- - test/test_query.rb
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/test_alias.rb
81
- - test/lib/test_entity.rb
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/user
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/label
91
- - test/test-data/valid/user/User_1.xml
92
- - test/test-data/valid/release/Mission_Impossible_2.xml
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/Little_Earthquakes_2.xml
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/Silent_All_These_Years_4.xml
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/artist/empty_2.xml
107
- - test/test-data/valid/artist/empty_1.xml
108
- - test/test-data/valid/artist/Tori_Amos_4.xml
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/label/Atlantic_Records_1.xml
116
- - test/test-data/valid/label/Atlantic_Records_2.xml
117
- - test/test-data/valid/label/search_result_1.xml
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
- - none
174
+ - "Optional: mb-discid >= 0.1.2 (for calculating disc IDs)"
139
175
  dependencies: []
140
176