Added test case for new function find_tag.
[philipp/winterrodeln/wrpylib.git] / tests / test_mwmarkup.py
index 97feef3daa129df8bbb4bfc1cc09ea53ef03e93b..3d8c2cbbc5bc156163abaf45290dfcc4557158b0 100644 (file)
@@ -82,8 +82,21 @@ def test_create_template():
     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 = '''
+    wikitext = u'''
     <googlemap version="0.9" lat="47.113291" lon="11.272337" zoom="15">
     (Parkplatz)47.114958,11.266026
     Erster Parkplatz
@@ -102,7 +115,7 @@ def test_parse_googlemap():
     assert zoom == 15
     assert coords == [
         (11.266026, 47.114958, 'Parkplatz', 'Erster Parkplatz'),
-        (11.266262, 47.114715, 'Gasthaus', 'Alt Bärnbad (Gasthaus)')]
+        (11.266262, 47.114715, 'Gasthaus', u'Alt Bärnbad (Gasthaus)')]
     assert paths == [
         ('6#FF014E9A', [
             (11.266262, 47.114715, None, None),
@@ -110,3 +123,9 @@ def test_parse_googlemap():
             (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
+