You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.1 KiB
43 lines
1.1 KiB
|
|
"""Tests for parsing and outputting a simple .org test file
|
|
|
|
You need the fr_FR.UTF-8 locale to run these tests
|
|
"""
|
|
|
|
import locale
|
|
import PyOrgMode
|
|
try:
|
|
import unittest2 as unittest
|
|
except ImportError:
|
|
import unittest
|
|
|
|
|
|
def _normalize_ignored(line):
|
|
"""Normalize a line to ignore differences which aren't yet handled"""
|
|
line = line.replace(':ORDERED: t', ':ORDERED: t')
|
|
return line
|
|
|
|
|
|
def _normalize_output_ignored(line):
|
|
line = line.replace(':TAG1:TAG2:', ':TAG1::TAG2:')
|
|
line = _normalize_ignored(line)
|
|
return line
|
|
|
|
|
|
class TestExampleOrgFile(unittest.TestCase):
|
|
def test_test_org(self):
|
|
test = PyOrgMode.OrgDataStructure()
|
|
locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')
|
|
test.load_from_file("test.org")
|
|
test.save_to_file("output.org")
|
|
with open("test.org") as f:
|
|
original = [_normalize_ignored(line) for line in f]
|
|
with open("output.org") as f:
|
|
saved = [_normalize_output_ignored(line) for line in f]
|
|
|
|
self.assertEqual(saved, original)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|