Fixing tests
This commit is contained in:
parent
b9e90da8a3
commit
4976785e1c
@ -39,14 +39,13 @@ module MusicBrainz
|
|||||||
end
|
end
|
||||||
|
|
||||||
def search(name)
|
def search(name)
|
||||||
artists = load({
|
load({
|
||||||
:parser => :artist_search
|
:parser => :artist_search
|
||||||
}, {
|
}, {
|
||||||
:resource => :artist,
|
:resource => :artist,
|
||||||
:query => CGI.escape(name).gsub(/\!/, '\!') + '~',
|
:query => "artist:" << CGI.escape(name).gsub(/\!/, '\!'),
|
||||||
:limit => 50
|
:limit => 10
|
||||||
})
|
})
|
||||||
artists.sort{ |a, b| b[:weight] <=> a[:weight] }.take(10)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def discography(mbid)
|
def discography(mbid)
|
||||||
|
@ -21,19 +21,17 @@ module MusicBrainz
|
|||||||
end
|
end
|
||||||
|
|
||||||
def search(xml)
|
def search(xml)
|
||||||
artists = []
|
xml.css("artist-list > artist").map do |a|
|
||||||
xml.css("artist-list > artist").each do |a|
|
{
|
||||||
artists << {
|
|
||||||
:name => a.first_element_child.text.gsub(/[`’]/, "'"),
|
:name => a.first_element_child.text.gsub(/[`’]/, "'"),
|
||||||
:sort_name => safe_get_value(a, "sort-name").gsub(/[`’]/, "'"),
|
:sort_name => safe_get_value(a, "sort-name").gsub(/[`’]/, "'"),
|
||||||
:score => (safe_get_attr(a, nil, "score") .to_i rescue 0),
|
:score => (safe_get_attr(a, nil, "score").to_i rescue 0),
|
||||||
:desc => safe_get_value(a, "disambiguation"),
|
:desc => safe_get_value(a, "disambiguation"),
|
||||||
:type => safe_get_attr(a, nil, "type"),
|
:type => safe_get_attr(a, nil, "type"),
|
||||||
:mbid => safe_get_attr(a, nil, "id"),
|
:mbid => safe_get_attr(a, nil, "id"),
|
||||||
:aliases => a.css("alias-list > alias").map { |item| item.text }
|
:aliases => a.css("alias-list > alias").map { |item| item.text }
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
artists
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def release_groups(xml)
|
def release_groups(xml)
|
||||||
|
@ -22,17 +22,19 @@ describe MusicBrainz::Artist do
|
|||||||
|
|
||||||
it "should return search results in the right order and pass back the correct score" do
|
it "should return search results in the right order and pass back the correct score" do
|
||||||
matches = MusicBrainz::Artist.search('Chris Martin')
|
matches = MusicBrainz::Artist.search('Chris Martin')
|
||||||
|
|
||||||
matches.first[:score].should == 100
|
matches[0][:score].should == 100
|
||||||
matches.first[:mbid].should == "98d1ec5a-dd97-4c0b-9c83-7928aac89bca"
|
matches[0][:mbid].should == "98d1ec5a-dd97-4c0b-9c83-7928aac89bca"
|
||||||
matches[1][:score].should == 100
|
matches[1][:score].should == 100
|
||||||
matches[1][:mbid].should == "af2ab893-3212-4226-9e73-73a1660b6952"
|
matches[1][:mbid].should == "af2ab893-3212-4226-9e73-73a1660b6952"
|
||||||
matches[2][:score].should == 95
|
matches[2][:score].should == 95
|
||||||
matches[2][:mbid].should == "444d1b63-534b-4ea6-89f0-0af6ab2e20c3"
|
matches[2][:mbid].should == "444d1b63-534b-4ea6-89f0-0af6ab2e20c3"
|
||||||
matches[3][:score].should == 95
|
matches[3][:score].should == 95
|
||||||
matches[3][:mbid].should == "90fff570-a4ef-4cd4-ba21-e00c7261b05a"
|
matches[3][:mbid].should == "b732a912-af95-472c-be52-b14610734c64"
|
||||||
|
matches[4][:score].should == 95
|
||||||
|
matches[4][:mbid].should == "90fff570-a4ef-4cd4-ba21-e00c7261b05a"
|
||||||
end
|
end
|
||||||
|
|
||||||
it "finds name first than alias" do
|
it "finds name first than alias" do
|
||||||
matches = MusicBrainz::Artist.search('Chris Martin')
|
matches = MusicBrainz::Artist.search('Chris Martin')
|
||||||
matches.length.should be > 0
|
matches.length.should be > 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user