Skip to content

Commit

Permalink
Merge pull request #376 from aycabta/add-tests-of-reline
Browse files Browse the repository at this point in the history
Add tests of reline
  • Loading branch information
aycabta committed Oct 11, 2021
2 parents 368f7e2 + 90c61d8 commit 9b4fcfd
Showing 1 changed file with 37 additions and 22 deletions.
59 changes: 37 additions & 22 deletions test/reline/test_reline.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
require_relative 'helper'
require "reline"
require 'reline'
require 'stringio'

class Reline::Test < Reline::TestCase
class DummyCallbackObject
Expand Down Expand Up @@ -246,29 +247,47 @@ def test_dig_perfect_match_proc
end

def test_insert_text
# TODO
end

def test_line_buffer
# TODO
end

def test_point
# TODO
end

def test_input=
# TODO
assert_equal('', Reline.line_buffer)
assert_equal(0, Reline.point)
Reline.insert_text('abc')
assert_equal('abc', Reline.line_buffer)
assert_equal(3, Reline.point)
end

def test_delete_text
assert_equal('', Reline.line_buffer)
assert_equal(0, Reline.point)
Reline.insert_text('abc')
assert_equal('abc', Reline.line_buffer)
assert_equal(3, Reline.point)
Reline.delete_text()
assert_equal('', Reline.line_buffer)
assert_equal(0, Reline.point)
Reline.insert_text('abc')
Reline.delete_text(1)
assert_equal('a', Reline.line_buffer)
assert_equal(1, Reline.point)
Reline.insert_text('defghi')
Reline.delete_text(2, 2)
assert_equal('adghi', Reline.line_buffer)
assert_equal(5, Reline.point)
end

def test_set_input_and_output
assert_raise(TypeError) do
Reline.input = "This is not a file."
end
end

def test_output=
# TODO
assert_raise(TypeError) do
Reline.output = "This is not a file."
end
Reline.input, to_write = IO.pipe
to_read, Reline.output = IO.pipe
to_write.write "a\n"
result = Reline.readline
to_write.close
read_text = to_read.read_nonblock(100)
assert_equal('a', result)
refute(read_text.empty?)
end

def test_vi_editing_mode
Expand All @@ -281,10 +300,6 @@ def test_emacs_editing_mode
assert_equal(Reline::KeyActor::Emacs, Reline.send(:core).config.editing_mode.class)
end

def test_editing_mode
# TODO
end

def test_readmultiline
# readmultiline is module function
assert_include(Reline.methods, :readmultiline)
Expand Down

0 comments on commit 9b4fcfd

Please sign in to comment.