diff options
author | JensDiemer <git@jensdiemer.de> | 2013-10-28 11:22:11 +0100 |
---|---|---|
committer | JensDiemer <git@jensdiemer.de> | 2013-10-28 11:22:11 +0100 |
commit | 71b362ac441f28a9bcf3d45ec2f03908fd60b835 (patch) | |
tree | b4aeb773fc6f7d60cce931a323e9c5e268e017a7 /creole/tests | |
parent | 64bdf35b90b62b39620ad833433135a6e5a248b6 (diff) | |
download | creole-71b362ac441f28a9bcf3d45ec2f03908fd60b835.tar.gz |
v1.1.0: Add simple commandline interface scripts.v1.1.0
Diffstat (limited to 'creole/tests')
-rw-r--r-- | creole/tests/test_cli.py | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/creole/tests/test_cli.py b/creole/tests/test_cli.py new file mode 100644 index 0000000..6febeff --- /dev/null +++ b/creole/tests/test_cli.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python +# coding: utf-8 + +""" + unittest for CLI + ~~~~~~~~~~~~~~~~ + + :copyleft: 2013 by python-creole team, see AUTHORS for more details. + :license: GNU GPL v3 or above, see LICENSE for more details. +""" + +from __future__ import division, absolute_import, print_function, unicode_literals + +import unittest +import sys +import tempfile + +from creole.tests.utils.base_unittest import BaseCreoleTest +from creole.cmdline import cli_creole2html, cli_html2creole, cli_html2rest, \ + cli_html2textile + + +class CreoleCLITests(BaseCreoleTest): + def setUp(self): + super(CreoleCLITests, self).setUp() + self._old_argv = sys.argv[:] + def tearDown(self): + super(CreoleCLITests, self).tearDown() + sys.argv = self._old_argv + + def _test_convert(self, source_content, dest_content, cli_func): + source_file = tempfile.NamedTemporaryFile() + sourcefilepath = source_file.name + source_file.write(source_content) + source_file.seek(0) + + dest_file = tempfile.NamedTemporaryFile() + destfilepath = dest_file.name + + sys.argv += [sourcefilepath, destfilepath] + cli_func() + + dest_file.seek(0) + result_content = dest_file.read() + +# print(dest_content) + self.assertEqual(result_content, dest_content) + + def test_creole2html(self): + self._test_convert( + source_content=b"= test creole2html =", + dest_content=b"<h1>test creole2html</h1>", + cli_func=cli_creole2html + ) + + def test_html2creole(self): + self._test_convert( + source_content=b"<h1>test html2creole</h1>", + dest_content=b"= test html2creole", + cli_func=cli_html2creole + ) + + def test_html2rest(self): + self._test_convert( + source_content=b"<h1>test html2rest</h1>", + dest_content=(b"==============\n" + "test html2rest\n" + "==============" + ), + cli_func=cli_html2rest + ) + + def test_html2textile(self): + self._test_convert( + source_content=b"<h1>test html2textile</h1>", + dest_content=b"h1. test html2textile", + cli_func=cli_html2textile + ) + +if __name__ == '__main__': + unittest.main() |