Add tests for example commands

This commit is contained in:
Ian Adam Naval 2015-02-26 18:08:01 -05:00
parent 7b5b8b4d06
commit 1d7d2d8446
2 changed files with 37 additions and 0 deletions

19
test/test_example_cmd.py Normal file
View File

@ -0,0 +1,19 @@
import pytest
from psh import echo, example
from utils import TestFormatter
@pytest.fixture
def test_formatter():
return TestFormatter()
def test_example_cmd_should_return_two_things(test_formatter):
example.chain(test_formatter).call()
assert "examplecommand" == test_formatter.get_data()
def test_echo_should_echo(test_formatter):
example.chain(echo).chain(test_formatter).call()
assert "examplecommand" == test_formatter.get_data()

18
test/utils.py Normal file
View File

@ -0,0 +1,18 @@
from psh.commands import BaseCommand
from io import StringIO
class TestFormatter(BaseCommand):
def __init__(self, *args, **kwargs):
super(TestFormatter, self).__init__(*args, **kwargs)
self.buffer = StringIO()
def call(self):
input_generator = self.get_input_generator()
for line in input_generator:
self.buffer.write(line.decode('utf-8'))
return None
def get_data(self):
return self.buffer.getvalue()