1# -*- coding: utf-8 -*-
2# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
3# Copyright (C) 2012-2014 Bastian Kleineidam
4# Copyright (C) 2015-2019 Tobias Gruetzmacher
5
6from __future__ import absolute_import, division, print_function
7
8import re
9
10from dosagelib import scraper
11from dosagelib.plugins import old
12
13
14class TestComicNames(object):
15
16    def test_names(self):
17        for scraperobj in scraper.get_scrapers():
18            name = scraperobj.name
19            assert name.count('/') <= 1
20            if '/' in name:
21                comicname = name.split('/')[1]
22            else:
23                comicname = name
24            assert re.sub("[^0-9a-zA-Z_]", "", comicname) == comicname
25
26    def test_renamed(self):
27        for scraperobj in scraper.get_scrapers(include_removed=True):
28            if not isinstance(scraperobj, old.Renamed):
29                continue
30            assert len(scraperobj.getDisabledReasons()) > 0
31            # Renamed scraper should only point to an non-disabled scraper
32            newscraper = scraper.find_scrapers(scraperobj.newname)[0]
33            assert len(newscraper.getDisabledReasons()) == 0
34