From a7a6395384ecb882bf9064aae8b0e6e0dcd23956 Mon Sep 17 00:00:00 2001 From: albert Date: Mon, 15 Feb 2010 14:17:08 -0500 Subject: [PATCH] added artist url test --- app/models/artist_url.rb | 12 ++++++------ test/factories/artist_url.rb | 1 + test/unit/artist_url_test.rb | 35 +++++++++++++++++++++++++++++++---- 3 files changed, 38 insertions(+), 10 deletions(-) diff --git a/app/models/artist_url.rb b/app/models/artist_url.rb index 74d245f9d..caefee4d6 100644 --- a/app/models/artist_url.rb +++ b/app/models/artist_url.rb @@ -7,17 +7,17 @@ class ArtistUrl < ActiveRecord::Base if url.nil? nil else - url.gsub!(/^http:\/\/blog\d+\.fc2/, "http://blog.fc2") - url.gsub!(/^http:\/\/blog-imgs-\d+\.fc2/, "http://blog.fc2") - url.gsub!(/^http:\/\/blog-imgs-\d+-\w+\.fc2/, "http://blog.fc2") - url.gsub!(/^http:\/\/img\d+\.pixiv\.net/, "http://img.pixiv.net") - url.gsub!(/\/+$/, "") + url = url.gsub(/^http:\/\/blog\d+\.fc2/, "http://blog.fc2") + url = url.gsub(/^http:\/\/blog-imgs-\d+\.fc2/, "http://blog.fc2") + url = url.gsub(/^http:\/\/blog-imgs-\d+-\w+\.fc2/, "http://blog.fc2") + url = url.gsub(/^http:\/\/img\d+\.pixiv\.net/, "http://img.pixiv.net") + url = url.gsub(/\/+\Z/, "") url + "/" end end def self.normalize_for_search(url) - if url =~ /\.\w+$/ && url =~ /\w\/\w/ + if url =~ /\.\w+\Z/ && url =~ /\w\/\w/ url = File.dirname(url) end diff --git a/test/factories/artist_url.rb b/test/factories/artist_url.rb index 2aa5d3cbc..aa40a774b 100644 --- a/test/factories/artist_url.rb +++ b/test/factories/artist_url.rb @@ -1,3 +1,4 @@ Factory.define(:artist_url) do |f| + f.artist {|x| x.association(:artist)} f.url {Faker::Internet.domain_name} end diff --git a/test/unit/artist_url_test.rb b/test/unit/artist_url_test.rb index 2ab0f91ab..05847fa78 100644 --- a/test/unit/artist_url_test.rb +++ b/test/unit/artist_url_test.rb @@ -1,8 +1,35 @@ -require 'test_helper' +require File.dirname(__FILE__) + '/../test_helper' class ArtistUrlTest < ActiveSupport::TestCase - # Replace this with your real tests. - test "the truth" do - assert true + context "An artist url" do + setup do + MEMCACHE.flush_all + end + + should "always add a trailing slash when normalized" do + url = Factory.create(:artist_url, :url => "http://monet.com") + assert_equal("http://monet.com", url.url) + assert_equal("http://monet.com/", url.normalized_url) + + url = Factory.create(:artist_url, :url => "http://monet.com/") + assert_equal("http://monet.com/", url.url) + assert_equal("http://monet.com/", url.normalized_url) + end + + should "normalize fc2 urls" do + url = Factory.create(:artist_url, :url => "http://blog55.fc2.com/monet") + assert_equal("http://blog55.fc2.com/monet", url.url) + assert_equal("http://blog.fc2.com/monet/", url.normalized_url) + + url = Factory.create(:artist_url, :url => "http://blog-imgs-55.fc2.com/monet") + assert_equal("http://blog-imgs-55.fc2.com/monet", url.url) + assert_equal("http://blog.fc2.com/monet/", url.normalized_url) + end + + should "normalize pixiv urls" do + url = Factory.create(:artist_url, :url => "http://img55.pixiv.net/monet") + assert_equal("http://img55.pixiv.net/monet", url.url) + assert_equal("http://img.pixiv.net/monet/", url.normalized_url) + end end end