Added test case for new function find_tag.
[philipp/winterrodeln/wrpylib.git] / tests / test_mwmarkup.py
index b8a12a2d7bf39082c2c5e75c861e2d08c9ab4aa8..3d8c2cbbc5bc156163abaf45290dfcc4557158b0 100644 (file)
@@ -82,6 +82,19 @@ 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 = u'''
     <googlemap version="0.9" lat="47.113291" lon="11.272337" zoom="15">
@@ -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
+