tests.timestripper_tests module#

Tests for archivebot.py/Timestripper.

class tests.timestripper_tests.TestTimeStripperCase(*args, **kwargs)[source]#

Bases: TestCase

Basic class to test the TimeStripper class.

abstract_class = True#
cached = True#
setUp()[source]#

Set up test cases.

class tests.timestripper_tests.TestTimeStripperDoNotArchiveUntil(*args, **kwargs)[source]#

Bases: CheckHostnameMixin, ForceCacheMixin, TestTimeStripperCase

Test cases for Do Not Archive Until templates.

See https://commons.wikimedia.org/wiki/Template:DNAU and https://en.wikipedia.org/wiki/Template:Do_not_archive_until.

abstract_class = False#
cached = True#
code = 'en'#
date = '06:57 06 June 2015 (UTC)'#
family = 'wikisource'#
net = True#
site = True#
sites = {'wikisource:en': {'code': 'en', 'family': 'wikisource'}}#
test_timestripper_match()[source]#

Test that dates in comments are correctly recognised.

test_timestripper_match_only()[source]#

Test that latest date is used instead of other dates.

tzone = TZoneFixedOffset(0, UTC)#
user_and_date = '[[User:DoNotArchiveUntil]] 06:57 06 June 2015 (UTC)'#
username = '[[User:DoNotArchiveUntil]]'#
class tests.timestripper_tests.TestTimeStripperLanguage(*args, **kwargs)[source]#

Bases: CheckHostnameMixin, ForceCacheMixin, TestCase

Test cases for English language.

abstract_class = False#
cached = True#
net = True#
site = True#
sites = {'cswiki': {'code': 'cs', 'family': 'wikipedia', 'match': '3. 2. 2011, 19:48 (UTC) 7. 2. 2010 19:48 (UTC)'}, 'enwiki': {'code': 'en', 'family': 'wikipedia', 'match': '3 February 2011 19:48 (UTC) 7 February 2010 19:48 (UTC)', 'nomatch': '3. 2. 2011, 19:48 (UTC) 7. 2. 2010 19:48 (UTC)'}, 'fawiki': {'code': 'fa', 'family': 'wikipedia', 'match': فوریهٔ  ۲۰۱۱، ساعت ۱۹:۴۸ (UTC) ۷ فوریهٔ  ۲۰۱۰، ساعت ۱۹:۴۸ (UTC)', 'nomatch': ۲ ۲۰۱۴ ۱۹:۴۸ (UTC) ۷ ۲ ۲۰۱۰ ۱۹:۴۸ (UTC)'}, 'frwiki': {'code': 'fr', 'family': 'wikipedia', 'match': '3 février 2011 à 19:48 (CET) 7 février 2010 à 19:48 (CET)', 'nomatch': '3 March 2011 19:48 (CET) 7 March 2010 19:48 (CET)'}, 'kowiki': {'code': 'ko', 'family': 'wikipedia', 'match': '2011년 2월 3일 (수) 19:48 (KST) 2010년 2월 7일 (수) 19:48 (KST)'}, 'nowiki': {'code': 'no', 'family': 'wikipedia', 'match': '3. feb 2011 kl. 19:48 (CET) 7. feb 2010 kl. 19:48 (UTC)'}, 'ptwiki': {'code': 'pt', 'family': 'wikipedia', 'match': '19h48min de 3 de fevereiro de 2011\u200e (UTC) 19h48min de 7 de fevereiro de 2010\u200e (UTC)'}, 'viwiki': {'code': 'vi', 'family': 'wikipedia', 'match': '19:48, ngày 3 tháng 2 năm 2011 (UTC) 19:48, ngày 7 tháng 2 năm 2010 (UTC)', 'match2': '16:41, ngày 15 tháng 9 năm 2001 (UTC) 16:41, ngày 12 tháng 9 năm 2008 (UTC)', 'match3': '21:18, ngày 13 tháng 8 năm 2011 (UTC) 21:18, ngày 14 tháng 8 năm 2014 (UTC)', 'nomatch1': '21:18, ngày 13 March 8 năm 2011 (UTC) 21:18, ngày 14 March 8 năm 2014 (UTC)'}}#
test_timestripper_match_cswiki()#

Test that correct date is matched on wikipedia:cs

test_timestripper_match_enwiki()#

Test that correct date is matched on wikipedia:en

test_timestripper_match_fawiki()#

Test that correct date is matched on wikipedia:fa

test_timestripper_match_frwiki()#

Test that correct date is matched on wikipedia:fr

test_timestripper_match_kowiki()#

Test that correct date is matched on wikipedia:ko

test_timestripper_match_nowiki()#

Test that correct date is matched on wikipedia:no

test_timestripper_match_ptwiki()#

Test that correct date is matched on wikipedia:pt

test_timestripper_match_viwiki()#

Test that correct date is matched on wikipedia:vi

test_timestripper_nomatch_cswiki()#

Test that correct date is not matched on wikipedia:cs

test_timestripper_nomatch_enwiki()#

Test that correct date is not matched on wikipedia:en

test_timestripper_nomatch_fawiki()#

Test that correct date is not matched on wikipedia:fa

test_timestripper_nomatch_frwiki()#

Test that correct date is not matched on wikipedia:fr

test_timestripper_nomatch_kowiki()#

Test that correct date is not matched on wikipedia:ko

test_timestripper_nomatch_nowiki()#

Test that correct date is not matched on wikipedia:no

test_timestripper_nomatch_ptwiki()#

Test that correct date is not matched on wikipedia:pt

test_timestripper_nomatch_viwiki()#

Test that correct date is not matched on wikipedia:vi

class tests.timestripper_tests.TestTimeStripperNumberAndDate(*args, **kwargs)[source]#

Bases: CheckHostnameMixin, ForceCacheMixin, TestTimeStripperCase

Test cases for lines with (non-year) numbers and timestamps.

abstract_class = False#
cached = True#
code = 'en'#
family = 'wikipedia'#
net = True#
site = True#
sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
test_four_digit_is_not_year_with_no_timestamp()[source]#

A 4-digit number should not be mistaken as year (w/o timestamp).

test_four_digit_is_not_year_with_timestamp()[source]#

A 4-digit number should not be mistaken as year (w/ timestamp).

class tests.timestripper_tests.TestTimeStripperTreatSpecialText(*args, **kwargs)[source]#

Bases: CheckHostnameMixin, ForceCacheMixin, TestTimeStripperCase

Test special text behaviour (comments, hyperlinks, wikilinks).

abstract_class = False#
cached = True#
code = 'en'#
date = '06:57 06 June 2015 (UTC)'#
expected_date = datetime.datetime(2015, 6, 6, 6, 57, tzinfo=TZoneFixedOffset(0, UTC))#
fake_date = '05:57 06 June 2015 (UTC)'#
family = 'wikisource'#
net = True#
site = True#
sites = {'wikisource:en': {'code': 'en', 'family': 'wikisource'}}#
test_timestripper_match_comment()[source]#

Test that comments are correctly matched.

test_timestripper_match_comment_with_date()[source]#

Test that dates in comments are correctly matched.

Test that hyperlinks are correctly matched.

Test that wikilinks are correctly matched.

Test that dates in wikilinks are correctly matched.

test_timestripper_skip_html()[source]#

Test dates in html are correctly skipped.

Test that dates in hyperlinks are correctly skipped.

Test that skipping hyperlinks will not make gaps shorter.

Test that skipping wikilinks will not make gaps shorter.

tzone = TZoneFixedOffset(0, UTC)#
class tests.timestripper_tests.TestTimeStripperWithDigitsAsMonths(*args, **kwargs)[source]#

Bases: CheckHostnameMixin, ForceCacheMixin, TestTimeStripperCase

Test cases for TimeStripper methods.

abstract_class = False#
cached = True#
code = 'cs'#
family = 'wikipedia'#
net = True#
site = True#
sites = {'wikipedia:cs': {'code': 'cs', 'family': 'wikipedia'}}#
test_last_match_and_replace()[source]#

Test that pattern matches and removes items correctly.

class tests.timestripper_tests.TestTimeStripperWithNoDigitsAsMonths(*args, **kwargs)[source]#

Bases: CheckHostnameMixin, ForceCacheMixin, TestTimeStripperCase

Test cases for TimeStripper methods.

abstract_class = False#
cached = True#
code = 'fr'#
family = 'wikipedia'#
net = True#
site = True#
sites = {'wikipedia:fr': {'code': 'fr', 'family': 'wikipedia'}}#
test_hour()[source]#

Test that correct hour is matched.

test_last_match_and_replace()[source]#

Test that pattern matches and removes items correctly.