@ -1,17 +1,20 @@
"""
Very minimal unittests for parts of the readline module .
These tests were added to check that the libedit emulation on OSX and
the " real " readline have the same interface for history manipulation . That ' s
why the tests cover only a small subset of the interface .
"""
import os
import unittest
from test.support import run_unittest , import_module
from test.script_helper import assert_python_ok
# Skip tests if there is no readline module
readline = import_module ( ' readline ' )
class TestHistoryManipulation ( unittest . TestCase ) :
"""
These tests were added to check that the libedit emulation on OSX and the
" real " readline have the same interface for history manipulation . That ' s
why the tests cover only a small subset of the interface .
"""
@unittest.skipIf ( not hasattr ( readline , ' clear_history ' ) ,
" The history update test cannot be run because the "
@ -40,8 +43,18 @@ class TestHistoryManipulation (unittest.TestCase):
self . assertEqual ( readline . get_current_history_length ( ) , 1 )
class TestReadline ( unittest . TestCase ) :
def test_init ( self ) :
# Issue #19884: Ensure that the ANSI sequence "\033[1034h" is not
# written into stdout when the readline module is imported and stdout
# is redirected to a pipe.
rc , stdout , stderr = assert_python_ok ( ' -c ' , ' import readline ' ,
TERM = ' xterm-256color ' )
self . assertEqual ( stdout , b ' ' )
def test_main ( ) :
run_unittest ( TestHistoryManipulation )
run_unittest ( TestHistoryManipulation , TestReadline )
if __name__ == " __main__ " :
test_main ( )