]> code.communitydata.science - rises_declines_wikia_code.git/blob - mediawiki_dump_tools/Mediawiki-Utilities/mw/lib/title/tests/test_parser.py
Initial commit
[rises_declines_wikia_code.git] / mediawiki_dump_tools / Mediawiki-Utilities / mw / lib / title / tests / test_parser.py
1 from nose.tools import eq_
2
3 from ....types import Namespace
4 from ..parser import Parser
5
6
7 def test_simple():
8     parser = Parser(
9         [
10             Namespace(0, "", case="first-letter"),
11             Namespace(1, "Discuss\u00e3o", canonical="Talk", case="first-letter"),
12             Namespace(2, "Usu\u00e1rio(a)", canonical="User", case="first-letter")
13         ]
14     )
15
16     eq_((1, "Foo"), parser.parse("Discuss\u00e3o:Foo"))
17     eq_((1, "Foo_bar"), parser.parse("Discuss\u00e3o:Foo bar"))
18     eq_((0, "Herpderp:Foo_bar"), parser.parse("Herpderp:Foo bar"))
19
20
21 def test_from_site_info():
22     parser = Parser.from_site_info(
23         {
24             "namespaces": {
25                 "0": {
26                     "id": 0,
27                     "case": "first-letter",
28                     "*": "",
29                     "content": ""
30                 },
31                 "1": {
32                     "id": 1,
33                     "case": "first-letter",
34                     "*": "Discuss\u00e3o",
35                     "subpages": "",
36                     "canonical": "Talk"
37                 },
38                 "2": {
39                     "id": 2,
40                     "case": "first-letter",
41                     "*": "Usu\u00e1rio(a)",
42                     "subpages": "",
43                     "canonical": "User"
44                 }
45             },
46             "namespacealiases": [
47                 {
48                     "id": 1,
49                     "*": "WAFFLES"
50                 }
51             ]
52         }
53     )
54
55     eq_((1, "Foo"), parser.parse("Discuss\u00e3o:Foo"))
56     eq_((1, "Foo_bar"), parser.parse("Discuss\u00e3o:Foo bar"))
57     eq_((0, "Herpderp:Foo_bar"), parser.parse("Herpderp:Foo bar"))
58     eq_((1, "Foo_bar"), parser.parse("WAFFLES:Foo bar"))

Community Data Science Collective || Want to submit a patch?