summaryrefslogtreecommitdiff
path: root/tests/test_commands.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_commands.py')
-rw-r--r--tests/test_commands.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/test_commands.py b/tests/test_commands.py
new file mode 100644
index 0000000..f1817e7
--- /dev/null
+++ b/tests/test_commands.py
@@ -0,0 +1,45 @@
+# coding: utf-8
+
+"""
+Unit tests of commands.py.
+
+"""
+
+import sys
+import unittest
+
+from pystache.commands import main
+
+
+ORIGINAL_STDOUT = sys.stdout
+
+
+class MockStdout(object):
+
+ def __init__(self):
+ self.output = ""
+
+ def write(self, str):
+ self.output += str
+
+
+class CommandsTestCase(unittest.TestCase):
+
+ def setUp(self):
+ sys.stdout = MockStdout()
+
+ def callScript(self, template, context):
+ argv = ['pystache', template, context]
+ main(argv)
+ return sys.stdout.output
+
+ def testMainSimple(self):
+ """
+ Test a simple command-line case.
+
+ """
+ actual = self.callScript("Hi {{thing}}", '{"thing": "world"}')
+ self.assertEquals(actual, u"Hi world\n")
+
+ def tearDown(self):
+ sys.stdout = ORIGINAL_STDOUT