-
Notifications
You must be signed in to change notification settings - Fork 1
/
test_languagestripper.py
74 lines (57 loc) · 2.86 KB
/
test_languagestripper.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from languagestripper import LanguageStripper
import unittest
class TestQueryStripping(unittest.TestCase):
def runTest(self):
language_stripper = LanguageStripper(
languages=['fr'])
self.assertEqual(language_stripper.strip_uri(
'http://bla.com?lang=fr'), ('http://bla.com', True))
self.assertEqual(language_stripper.strip_uri(
'http://bla.com?lang=1'), ('http://bla.com?lang=1', False))
language_stripper = LanguageStripper(
languages=['fr'], strip_query_variables=True)
self.assertEqual(language_stripper.strip_uri(
'http://bla.com?lang=fr'), ('http://bla.com', True))
self.assertEqual(language_stripper.strip_uri(
'http://bla.com?lang=1'), ('http://bla.com', True))
self.assertEqual(language_stripper.strip_uri(
'http://bla.com/?clang=1'), ('http://bla.com/', True))
class TestPathStripping(unittest.TestCase):
def runTest(self):
language_stripper = LanguageStripper(
languages=['fr'])
self.assertEqual(language_stripper.strip_uri(
'http://bla.com/fr/x'), ('http://bla.com/x', True))
self.assertEqual(language_stripper.strip_uri(
'http://bla.com/FR/x'), ('http://bla.com/x', True))
self.assertEqual(language_stripper.strip_uri(
'http://bla.com/fr-FR/x'), ('http://bla.com/x', True))
# remove multiple
self.assertEqual(language_stripper.strip_uri(
'http://bla.com/fr-FR/fr'), ('http://bla.com', True))
# removing only the language identifier
self.assertEqual(language_stripper.strip_uri(
'http://bla.com/lang-FR/x'), ('http://bla.com/lang/x', True))
# keep / at the end consistent
self.assertEqual(language_stripper.strip_uri(
'http://bla.com/x/fr'), ('http://bla.com/x', True))
self.assertEqual(language_stripper.strip_uri(
'http://bla.com/x/fr/'), ('http://bla.com/x/', True))
# removing bits from them middle of a path part
self.assertEqual(language_stripper.strip_uri(
'http://bla.com/lang-FR-foo/x'), ('http://bla.com/lang-foo/x', True))
self.assertEqual(language_stripper.strip_uri(
'http://bla.com/lang-fr-FR-foo/x'), ('http://bla.com/lang-foo/x', True))
# mixed languages
language_stripper = LanguageStripper(
languages=['fr', 'en'])
self.assertEqual(language_stripper.strip_uri(
'http://bla.com/x/fr/'), ('http://bla.com/x/', True))
self.assertEqual(language_stripper.strip_uri(
'http://bla.com/x/en/'), ('http://bla.com/x/', True))
self.assertEqual(language_stripper.strip_uri(
'http://bla.com/x/en/fr/'), ('http://bla.com/x/', True))
if __name__ == '__main__':
unittest.main()