Fixing tests
This commit is contained in:
		
							parent
							
								
									b9e90da8a3
								
							
						
					
					
						commit
						4976785e1c
					
				@ -39,14 +39,13 @@ module MusicBrainz
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def search(name)
 | 
			
		||||
        artists = load({
 | 
			
		||||
        load({
 | 
			
		||||
          :parser => :artist_search
 | 
			
		||||
        }, {
 | 
			
		||||
          :resource => :artist,
 | 
			
		||||
          :query => CGI.escape(name).gsub(/\!/, '\!') + '~',
 | 
			
		||||
          :limit => 50
 | 
			
		||||
          :query => "artist:" << CGI.escape(name).gsub(/\!/, '\!'),
 | 
			
		||||
          :limit => 10
 | 
			
		||||
        })
 | 
			
		||||
        artists.sort{ |a, b| b[:weight] <=> a[:weight] }.take(10)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def discography(mbid)
 | 
			
		||||
 | 
			
		||||
@ -21,19 +21,17 @@ module MusicBrainz
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def search(xml)
 | 
			
		||||
          artists = []
 | 
			
		||||
          xml.css("artist-list > artist").each do |a|
 | 
			
		||||
            artists << {
 | 
			
		||||
          xml.css("artist-list > artist").map do |a|
 | 
			
		||||
            {
 | 
			
		||||
              :name => a.first_element_child.text.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"),
 | 
			
		||||
              :type => safe_get_attr(a, nil, "type"),
 | 
			
		||||
              :mbid => safe_get_attr(a, nil, "id"),
 | 
			
		||||
              :aliases => a.css("alias-list > alias").map { |item| item.text }
 | 
			
		||||
            }
 | 
			
		||||
          end
 | 
			
		||||
          artists
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        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
 | 
			
		||||
    matches = MusicBrainz::Artist.search('Chris Martin')
 | 
			
		||||
    
 | 
			
		||||
    matches.first[:score].should == 100
 | 
			
		||||
    matches.first[:mbid].should == "98d1ec5a-dd97-4c0b-9c83-7928aac89bca"
 | 
			
		||||
 | 
			
		||||
    matches[0][:score].should == 100
 | 
			
		||||
    matches[0][:mbid].should == "98d1ec5a-dd97-4c0b-9c83-7928aac89bca"
 | 
			
		||||
    matches[1][:score].should == 100
 | 
			
		||||
    matches[1][:mbid].should == "af2ab893-3212-4226-9e73-73a1660b6952"
 | 
			
		||||
    matches[2][:score].should == 95
 | 
			
		||||
    matches[2][:mbid].should == "444d1b63-534b-4ea6-89f0-0af6ab2e20c3"
 | 
			
		||||
    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
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  it "finds name first than alias" do
 | 
			
		||||
    matches = MusicBrainz::Artist.search('Chris Martin')
 | 
			
		||||
    matches.length.should be > 0
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user