2 # -*- coding: iso-8859-15 -*-
3 import wrpylib.mwmarkup
6 def test_find_template():
7 wikitext = u'''== Allgemeines ==
9 | Position = 47.309820 N 9.986508 E
16 | Lawinen = gelegentlich
18 | Öffentliche Anreise = Ja
20 | Aufstieg getrennt = Nein
21 | Aufstiegshilfe = Nein
22 | Beleuchtungsanlage = Nein
27 | Telefonauskunft = +43-664-1808482 (Bergkristallhütte)
28 | Bild = Rodelbahn Bergkristallhütte 2009-03-03.jpg
29 | In Übersichtskarte = Ja
32 Die Rodelbahn zur Bergkristallhütte ist durchaus abwechslungsreich.'''
33 start, end = wrpylib.mwmarkup.find_template(wikitext, u'Rodelbahnbox')
34 assert start == wikitext.find(u'{{')
35 assert end == wikitext.find(u'}}')+2
38 def test_split_template():
39 wikitext = u'''== Allgemeines ==
41 | Position = 47.309820 N 9.986508 E
48 | Lawinen = gelegentlich
50 | Öffentliche Anreise = Ja
52 | Aufstieg getrennt = Nein
53 | Aufstiegshilfe = Nein
54 | Beleuchtungsanlage = Nein
59 | Telefonauskunft = +43-664-1808482 (Bergkristallhütte)
60 | Bild = Rodelbahn Bergkristallhütte 2009-03-03.jpg
61 | In Übersichtskarte = Ja
64 Die Rodelbahn zur Bergkristallhütte ist durchaus abwechslungsreich.'''
65 start, end = wrpylib.mwmarkup.find_template(wikitext, u'Rodelbahnbox')
66 template_title, parameters = wrpylib.mwmarkup.split_template(wikitext[start:end])
67 assert template_title == u'Rodelbahnbox'
68 assert len(parameters) == 22
69 assert parameters['Position'] == u'47.309820 N 9.986508 E'
70 assert parameters['Telefonauskunft'] == u'+43-664-1808482 (Bergkristallhütte)'
71 assert parameters['Schwierigkeit'] == u''
74 def test_create_template():
75 wikitext = u'''{{Nicetemplate|Red|Bold|Position=Top|Alignment=Right}}'''
76 template_title, parameters = wrpylib.mwmarkup.split_template(wikitext)
78 keys = [u'1', u'2', u'Position', u'Alignment']
79 values = [parameters[k] for k in keys]
80 wikitext_generated = wrpylib.mwmarkup.create_template(template_title, values[:2], keys[2:], values[2:])
81 wikitext_table = wrpylib.mwmarkup.create_template(template_title, values[:2], keys[2:], values[2:], True)
82 assert wikitext_generated == wikitext