diff --git a/app/models/post.rb b/app/models/post.rb index 63f61e69b..c87b684ce 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -301,7 +301,9 @@ class Post < ActiveRecord::Base when %r{\Ahttp://img\d+\.pixiv\.net/img/[^\/]+/(\d+)}i, %r{\Ahttp://i\d\.pixiv\.net/img\d+/img/[^\/]+/(\d+)}i "http://www.pixiv.net/member_illust.php?mode=medium&illust_id=#{$1}" - when %r{\Ahttp://i\d\.pixiv\.net/img-original/img/(?:\d+\/)+(\d+)_p}i, %r{\Ahttp://i\d\.pixiv\.net/c/\d+x\d+/img-master/img/(?:\d+\/)+(\d+)_p}i + when %r{\Ahttp://i\d+\.pixiv\.net/img-original/img/(?:\d+\/)+(\d+)_p}i, + %r{\Ahttp://i\d+\.pixiv\.net/c/\d+x\d+/img-master/img/(?:\d+\/)+(\d+)_p}i, + %r{\Ahttp://i\d+\.pixiv\.net/img-zip-ugoira/img/(?:\d+\/)+(\d+)_ugoira\d+x\d+\.zip}i "http://www.pixiv.net/member_illust.php?mode=medium&illust_id=#{$1}" when %r{\Ahttp://lohas\.nicoseiga\.jp/priv/(\d+)\?e=\d+&h=[a-f0-9]+}i, %r{\Ahttp://lohas\.nicoseiga\.jp/priv/[a-f0-9]+/\d+/(\d+)}i diff --git a/test/unit/post_test.rb b/test/unit/post_test.rb index b70e0417d..5f73a1c44 100644 --- a/test/unit/post_test.rb +++ b/test/unit/post_test.rb @@ -853,8 +853,18 @@ class PostTest < ActiveSupport::TestCase should "normalize pixiv links" do @post.source = "http://i2.pixiv.net/img12/img/zenze/39749565.png" assert_equal("http://www.pixiv.net/member_illust.php?mode=medium&illust_id=39749565", @post.normalized_source) + @post.source = "http://i1.pixiv.net/img53/img/themare/39735353_big_p1.jpg" assert_equal("http://www.pixiv.net/member_illust.php?mode=medium&illust_id=39735353", @post.normalized_source) + + @post.source = "http://i1.pixiv.net/c/150x150/img-master/img/2010/11/30/08/39/58/14901720_p0_master1200.jpg" + assert_equal("http://www.pixiv.net/member_illust.php?mode=medium&illust_id=14901720", @post.normalized_source) + + @post.source = "http://i1.pixiv.net/img-original/img/2010/11/30/08/39/58/14901720_p0.png" + assert_equal("http://www.pixiv.net/member_illust.php?mode=medium&illust_id=14901720", @post.normalized_source) + + @post.source = "http://i2.pixiv.net/img-zip-ugoira/img/2014/08/05/06/01/10/44524589_ugoira1920x1080.zip" + assert_equal("http://www.pixiv.net/member_illust.php?mode=medium&illust_id=44524589", @post.normalized_source) end should "normalize nicoseiga links" do