fix parsing admin pages
This commit is contained in:
@@ -18,8 +18,6 @@ class Domain::Fa::Parser::UserPageHelper < Domain::Fa::Parser::Base
|
||||
]
|
||||
|
||||
def name
|
||||
# user names are in the form "~username", so strip the first
|
||||
# char from the user's name
|
||||
@name ||= begin
|
||||
elem = case @page_version
|
||||
when VERSION_0, VERSION_1
|
||||
@@ -36,7 +34,11 @@ class Domain::Fa::Parser::UserPageHelper < Domain::Fa::Parser::Base
|
||||
strip
|
||||
|
||||
if name
|
||||
if PREFIXES.include?(name[0])
|
||||
if @elem.css("img.userIcon.type-admin").first
|
||||
# in newer versions of FA user pages, admins have no '@' prefix,
|
||||
# but rather an indicator image icon
|
||||
name
|
||||
elsif PREFIXES.include?(name[0])
|
||||
name[1..]
|
||||
else
|
||||
raise("invalid prefix for name: #{name}")
|
||||
|
||||
@@ -46,6 +46,16 @@ describe Domain::Fa::Parser::Page do
|
||||
assert_equal "//a.furaffinity.net/1556545516/miles-df.gif", up.profile_thumb_url
|
||||
end
|
||||
|
||||
it "can parse admin user page" do
|
||||
parser = get_parser "user_page_dragoneer.html"
|
||||
assert parser.logged_in?
|
||||
assert_page_type parser, :probably_user_page?
|
||||
up = parser.user_page
|
||||
assert_equal "Dragoneer", up.name
|
||||
assert_equal 1_460_919, up.num_pageviews
|
||||
assert_match /Site Owner/, up.profile_html
|
||||
end
|
||||
|
||||
it "gallery_is_correct" do
|
||||
parser = get_parser "gallery_page_miles_df.html"
|
||||
assert parser.logged_in?
|
||||
|
||||
1672
test/fixtures/files/domain/fa/parser/redux/user_page_dragoneer.html
vendored
Normal file
1672
test/fixtures/files/domain/fa/parser/redux/user_page_dragoneer.html
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user