diff --git a/dosagelib/scraper.py b/dosagelib/scraper.py index e142588a0..e42b885d3 100644 --- a/dosagelib/scraper.py +++ b/dosagelib/scraper.py @@ -198,7 +198,7 @@ def find_scraperclasses(comic, multiple_allowed=False): if lname == cname: # perfect match if not multiple_allowed: - return scraperclass + return [scraperclass] else: candidates.append(scraperclass) elif cname in lname: diff --git a/tests/test_scraper.py b/tests/test_scraper.py new file mode 100644 index 000000000..9be830f26 --- /dev/null +++ b/tests/test_scraper.py @@ -0,0 +1,24 @@ +# -*- coding: iso-8859-1 -*- +# Copyright (C) 2013 Bastian Kleineidam +from unittest import TestCase +from dosagelib import scraper + + +class ScraperTester(TestCase): + """Test scraper module functions.""" + + def test_get_scraperclasses(self): + for scraperclass in scraper.get_scraperclasses(): + scraperclass() + scraperclass(indexes=["bla"]) + + def test_find_scraperclasses_single(self): + result = scraper.find_scraperclasses("CalvinAndHobbes") + self.assertEqual(len(result), 1) + + def test_find_scraperclasses_multi(self): + result = scraper.find_scraperclasses("a", multiple_allowed=True) + self.assertTrue(len(result) > 1) + + def test_find_scraperclasses_error(self): + self.assertRaises(ValueError, scraper.find_scraperclasses, "")