+ Die Rodelbahn zur Bergkristallhütte ist durchaus abwechslungsreich.'''
+ start, end = wrpylib.mwmarkup.find_template(wikitext, u'Rodelbahnbox')
+ template_title, parameters = wrpylib.mwmarkup.split_template(wikitext[start:end])
+ assert template_title == u'Rodelbahnbox'
+ assert len(parameters) == 22
+ assert parameters['Position'] == u'47.309820 N 9.986508 E'
+ assert parameters['Telefonauskunft'] == u'+43-664-1808482 (Bergkristallhütte)'
+ assert parameters['Schwierigkeit'] == u''
+
+
+def test_create_template():
+ wikitext = u'''{{Nicetemplate|Red|Bold|Position=Top|Alignment=Right}}'''
+ template_title, parameters = wrpylib.mwmarkup.split_template(wikitext)
+ print parameters
+ keys = [u'1', u'2', u'Position', u'Alignment']
+ values = [parameters[k] for k in keys]
+ wikitext_generated = wrpylib.mwmarkup.create_template(template_title, values[:2], keys[2:], values[2:])
+ wikitext_table = wrpylib.mwmarkup.create_template(template_title, values[:2], keys[2:], values[2:], True)
+ assert wikitext_generated == wikitext
+
+
+def test_find_tag():
+ wikitext = u'This is <tag>my first tag</tag> and <tag>my second tag</tag>.'
+ start, content, endtag, end = wrpylib.mwmarkup.find_tag(wikitext, u'tags')
+ assert (start, content, endtag, end) == (None, None, None, None)
+ start, content, endtag, end = wrpylib.mwmarkup.find_tag(wikitext, u'tag')
+ assert (start, content, endtag, end) == (8, 13, 25, 31)
+ start, content, endtag, end = wrpylib.mwmarkup.find_tag(wikitext, u'tag', end)
+ assert (start, content, endtag, end) == (36, 41, 54, 60)
+ wikitext = u'This is <tag myattrib="4"/>.'
+ start, content, endtag, end = wrpylib.mwmarkup.find_tag(wikitext, u'tag')
+ assert (start, content, endtag, end) == (8, None, None, 27)
+
+
+def test_parse_googlemap():
+ wikitext = u'''
+ <googlemap version="0.9" lat="47.113291" lon="11.272337" zoom="15">
+ (Parkplatz)47.114958,11.266026
+ Erster Parkplatz
+
+ (Gasthaus) 47.114715, 11.266262, Alt Bärnbad (Gasthaus)
+ 6#FF014E9A
+ 47.114715,11.266262
+ 47.114135,11.268381
+ 47.113421,11.269322
+ 47.11277,11.269979
+ 47.112408,11.271119
+ </googlemap>
+ '''
+ center, zoom, coords, paths = wrpylib.mwmarkup.parse_googlemap(wikitext)
+ assert center == (11.272337, 47.113291)
+ assert zoom == 15
+ assert coords == [
+ (11.266026, 47.114958, 'Parkplatz', 'Erster Parkplatz'),
+ (11.266262, 47.114715, 'Gasthaus', u'Alt Bärnbad (Gasthaus)')]
+ assert paths == [
+ ('6#FF014E9A', [
+ (11.266262, 47.114715, None, None),
+ (11.268381, 47.114135, None, None),
+ (11.269322, 47.113421, None, None),
+ (11.269979, 47.11277, None, None),
+ (11.271119, 47.112408, None, None)])]
+ center, zoom, coords, paths, start, end = wrpylib.mwmarkup.parse_googlemap(wikitext, detail=True)
+ assert start == 5
+ assert end == 344
+ result = wrpylib.mwmarkup.parse_googlemap(wikitext.replace('<googlemap', '|googlemap'), detail=True)
+ assert result is None