Work on parsing wikicode (currently Rodelbahnbox).
[philipp/winterrodeln/wrpylib.git] / tests / test_mwmarkup.py
index 1f2e939fa424d35eaa488d114ff68aff3db14cbe..14e0e17a65d8db76fa25d032fa1e4eabecd7cde2 100644 (file)
@@ -1,5 +1,3 @@
-#!/usr/bin/python3.4
-# coding=utf-8
 import unittest
 import mwparserfromhell
 import wrpylib.mwmarkup
@@ -40,8 +38,8 @@ class TestMwParserFromHell(unittest.TestCase):
         rb = list(wikicode.filter_templates())[0]
         self.assertEqual(rb.name.strip(), 'Rodelbahnbox')
         self.assertEqual(rb.get('Aufstiegshilfe').value.strip(), 'Nein')
-        self.assertEqual(rb[:2], '{{')
-        self.assertEqual(rb[-2:], '}}')
+        self.assertEqual(str(rb)[:2], '{{')
+        self.assertEqual(str(rb)[-2:], '}}')
 
     def test_template_to_table(self):
         wikitext = '{{Rodelbahnbox | Unbenannt | Position = 47.309820 N 9.986508 E | Aufstieg möglich = Ja }}'
@@ -141,3 +139,17 @@ class TestMwParserFromHell(unittest.TestCase):
         wikicode = mwparserfromhell.parse(wikitext)
         tag = next(wikicode.ifilter_tags())
         self.assertEqual('tag', tag.tag)
+
+
+class TestFormatTemplate(unittest.TestCase):
+    def test_format_template_oneline(self):
+        value = mwparserfromhell.parse('{{ my_template ||   | var = 7 }}').filter_templates()[0]
+        wrpylib.mwmarkup.format_template_oneline(value)
+        self.assertEqual('{{my_template| | |var=7}}', value)
+
+
+class TestMwApi(unittest.TestCase):
+    def test_dbkey_to_title(self):
+        self.assertEqual(wrpylib.mwmarkup.dbkey_to_title('My_Title'), 'My Title')
+        self.assertEqual(wrpylib.mwmarkup.dbkey_to_title('My Title'), 'My Title') # should not happen
+        self.assertEqual(wrpylib.mwmarkup.dbkey_to_title('My_nice_Title'), 'My nice Title')