2010-02-21 06:20:34 +00:00
|
|
|
from twisted.trial import unittest
|
|
|
|
|
|
|
|
from deluge.ui.tracker_icons import TrackerIcons, TrackerIcon
|
|
|
|
|
|
|
|
import common
|
|
|
|
|
|
|
|
common.set_tmp_config_dir()
|
|
|
|
icons = TrackerIcons()
|
|
|
|
|
|
|
|
class TrackerIconsTestCase(unittest.TestCase):
|
2010-05-04 17:19:54 +00:00
|
|
|
def test_get_deluge_png(self):
|
2010-02-21 06:20:34 +00:00
|
|
|
# Deluge has a png favicon link
|
|
|
|
icon = TrackerIcon("../deluge.png")
|
|
|
|
d = icons.get("deluge-torrent.org")
|
|
|
|
d.addCallback(self.assertNotIdentical, None)
|
|
|
|
d.addCallback(self.assertEquals, icon)
|
|
|
|
return d
|
|
|
|
|
2010-05-04 17:19:54 +00:00
|
|
|
def test_get_google_ico(self):
|
2010-02-21 06:20:34 +00:00
|
|
|
# Google doesn't have any icon links
|
|
|
|
# So instead we'll grab its favicon.ico
|
|
|
|
icon = TrackerIcon("../google.ico")
|
|
|
|
d = icons.get("www.google.com")
|
|
|
|
d.addCallback(self.assertNotIdentical, None)
|
|
|
|
d.addCallback(self.assertEquals, icon)
|
|
|
|
return d
|
|
|
|
|
2010-05-04 17:19:54 +00:00
|
|
|
def test_get_google_ico_with_redirect(self):
|
2010-02-21 06:20:34 +00:00
|
|
|
# google.com redirects to www.google.com
|
|
|
|
icon = TrackerIcon("../google.ico")
|
|
|
|
d = icons.get("google.com")
|
|
|
|
d.addCallback(self.assertNotIdentical, None)
|
|
|
|
d.addCallback(self.assertEquals, icon)
|
|
|
|
return d
|
2010-05-03 20:28:16 +00:00
|
|
|
|
|
|
|
def test_get_ubuntu_ico(self):
|
2010-05-06 13:06:53 +00:00
|
|
|
def check_data(icon, data):
|
|
|
|
self.assertNotEqual(icon.get_data(), data)
|
|
|
|
|
2010-05-03 20:28:16 +00:00
|
|
|
# ubuntu.com has inline css which causes HTMLParser issues
|
|
|
|
d = icons.get("www.ubuntu.com")
|
|
|
|
d.addCallback(self.assertNotIdentical, None)
|
2010-05-06 13:06:53 +00:00
|
|
|
# as ubuntu's icon is 32x32 it may get resized and hence
|
|
|
|
# we can't test if the icon is equal to a reference one
|
|
|
|
# however we can test that the icon has some sort of data
|
|
|
|
d.addCallback(check_data, "")
|
2010-05-03 20:28:16 +00:00
|
|
|
return d
|
2010-05-04 17:19:54 +00:00
|
|
|
|
|
|
|
def test_get_openbt_png(self):
|
|
|
|
# openbittorrent.com has an incorrect type (image/gif)
|
|
|
|
icon = TrackerIcon("../openbt.png")
|
|
|
|
d = icons.get("openbittorrent.com")
|
|
|
|
d.addCallback(self.assertNotIdentical, None)
|
|
|
|
d.addCallback(self.assertEquals, icon)
|
|
|
|
return d
|