зеркало из https://github.com/github/ruby.git
33 строки
854 B
Ruby
33 строки
854 B
Ruby
require_relative 'helper'
|
|
|
|
class Reline::WithinPipeTest < Reline::TestCase
|
|
def setup
|
|
Reline.send(:test_mode)
|
|
@reader, @writer = IO.pipe((RELINE_TEST_ENCODING rescue Encoding.default_external))
|
|
Reline.input = @reader
|
|
@output = Reline.output = File.open(IO::NULL, 'w')
|
|
@config = Reline.class_variable_get(:@@config)
|
|
@line_editor = Reline.class_variable_get(:@@line_editor)
|
|
end
|
|
|
|
def teardown
|
|
Reline.input = STDIN
|
|
Reline.output = STDOUT
|
|
@reader.close
|
|
@writer.close
|
|
@output.close
|
|
@config.reset
|
|
end
|
|
|
|
def test_simple_input
|
|
@writer.write("abc\n")
|
|
assert_equal 'abc', Reline.readmultiline(&proc{ true })
|
|
end
|
|
|
|
def test_unknown_macro
|
|
@config.add_default_key_binding('abc'.bytes, :unknown_macro)
|
|
@writer.write("abcd\n")
|
|
assert_equal 'd', Reline.readmultiline(&proc{ true })
|
|
end
|
|
end
|