Added column delete_invisible to wrreport table.
[philipp/winterrodeln/wrpylib.git] / tests / test_mwmarkup.py
index 15dff3181fb394c086265f729da57b707a2e398d..a1fa937b6d395f93e1f57f881bbfb7504a3c780f 100644 (file)
@@ -1,10 +1,9 @@
-#!/usr/bin/python2.6
+#!/usr/bin/python2.7
 # -*- coding: iso-8859-15 -*-
 # -*- coding: iso-8859-15 -*-
-import wrpylib.wrmwmarkup
-import formencode
+import wrpylib.mwmarkup
 
 
 
 
-def test_rodelbahnbox_to_sledrun():
+def test_find_template():
     wikitext = u'''== Allgemeines ==
     {{Rodelbahnbox
     | Position             = 47.309820 N 9.986508 E
     wikitext = u'''== Allgemeines ==
     {{Rodelbahnbox
     | Position             = 47.309820 N 9.986508 E
@@ -31,32 +30,55 @@ def test_rodelbahnbox_to_sledrun():
     | Forumid              = 72
     }}
     Die Rodelbahn zur Bergkristallhütte ist durchaus abwechslungsreich.'''
     | Forumid              = 72
     }}
     Die Rodelbahn zur Bergkristallhütte ist durchaus abwechslungsreich.'''
-    class Sledrun(object): pass
-    sledrun = Sledrun()
-    wrpylib.wrmwmarkup.rodelbahnbox_to_sledrun(wikitext, sledrun)
-    wrpylib.wrmwmarkup.sledrun_to_rodelbahnbox(sledrun, '1.3')
-
-
-
-def test_gasthausbox_to_inn():
-    wikitext = u'''{{Gasthausbox
-    | Position          = 47.295549 N 9.986970 E
-    | Höhe              = 1250
-    | Betreiber         = 
-    | Sitzplätze        = 
-    | Übernachtung      = 
-    | Rauchfrei         = Nein
-    | Rodelverleih      = 
-    | Handyempfang      = A1; T-Mobile/Telering
-    | Homepage          = http://www.bergkristallhuette.com/
-    | E-Mail            = bergkristallhuette@gmx.at
-    | Telefon           = +43-664-1808482
-    | Bild              = Bergkritsallhütte 2009-02-07.JPG
-    | Rodelbahnen       = [[Bergkristallhütte]]
+    start, end = wrpylib.mwmarkup.find_template(wikitext, u'Rodelbahnbox')
+    assert start == wikitext.find(u'{{')
+    assert end == wikitext.find(u'}}')+2
+
+
+def test_split_template():
+    wikitext = u'''== Allgemeines ==
+    {{Rodelbahnbox
+    | Position             = 47.309820 N 9.986508 E
+    | Position oben        = 
+    | Höhe oben            = 1244
+    | Position unten       = 
+    | Höhe unten           = 806
+    | Länge                = 5045
+    | Schwierigkeit        = 
+    | Lawinen              = gelegentlich
+    | Betreiber            = 
+    | Öffentliche Anreise  = Ja
+    | Gehzeit              = 105
+    | Aufstieg getrennt    = Nein
+    | Aufstiegshilfe       = Nein
+    | Beleuchtungsanlage   = Nein
+    | Beleuchtungstage     = 
+    | Rodelverleih         = Ja
+    | Gütesiegel           = 
+    | Webauskunft          = 
+    | Telefonauskunft      = +43-664-1808482 (Bergkristallhütte)
+    | Bild                 = Rodelbahn Bergkristallhütte 2009-03-03.jpg
+    | In Übersichtskarte   = Ja
+    | Forumid              = 72
     }}
     }}
-    Die Bergkristallhütte ist Teil des Boden-Vorsäß.'''
-    class Inn(object): pass
-    inn = Inn()
-    wrpylib.wrmwmarkup.gasthausbox_to_inn(wikitext, inn)
-    wrpylib.wrmwmarkup.inn_to_gasthausbox(inn)
+    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
+