xonsh/tests/test_replay.py

46 lines
1.1 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
2015-08-23 16:50:54 -04:00
"""Tests the xonsh replay functionality."""
from __future__ import unicode_literals, print_function
import os
import builtins
2016-06-22 23:20:37 +03:00
import pytest
2015-08-23 16:50:54 -04:00
from xonsh.shell import Shell
from xonsh.replay import Replayer
2016-06-28 13:16:12 +03:00
from tools import skip_if_on_darwin
2015-10-20 17:53:12 -04:00
2015-08-23 16:50:54 -04:00
2016-10-16 16:44:55 +03:00
HISTDIR = os.path.join(os.path.dirname(__file__), 'histories')
2015-08-23 16:50:54 -04:00
2015-08-23 17:00:26 -04:00
2016-10-16 16:54:46 +03:00
@pytest.yield_fixture(scope='module', autouse=True)
2016-10-16 16:44:55 +03:00
def ctx():
"""Create a global Shell instance to use in all the test."""
builtins.__xonsh_shell__ = Shell({'PATH': []})
yield
del builtins.__xonsh_shell__
2015-08-23 16:50:54 -04:00
@skip_if_on_darwin
def test_echo():
2016-10-16 16:44:55 +03:00
histfile = os.path.join(HISTDIR, 'echo.json')
hist = Replayer(histfile).replay()
assert len(hist) == 2
2015-08-23 16:50:54 -04:00
2015-08-23 17:00:26 -04:00
@skip_if_on_darwin
def test_reecho():
2016-10-16 16:44:55 +03:00
histfile = os.path.join(HISTDIR, 'echo.json')
hist = Replayer(histfile).replay()
assert len(hist) == 2
2015-08-23 16:50:54 -04:00
@skip_if_on_darwin
def test_simple_python():
2016-10-16 16:44:55 +03:00
histfile = os.path.join(HISTDIR, 'simple-python.json')
hist = Replayer(histfile).replay()
assert len(hist) == 4
assert hist.inps[0].strip() == "print('The Turtles')"