diff options
Diffstat (limited to 'test/reline/test_terminfo.rb')
-rw-r--r-- | test/reline/test_terminfo.rb | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/test/reline/test_terminfo.rb b/test/reline/test_terminfo.rb new file mode 100644 index 0000000000..4e59c54838 --- /dev/null +++ b/test/reline/test_terminfo.rb @@ -0,0 +1,61 @@ +require_relative 'helper' +require "reline" + +class Reline::Terminfo::Test < Reline::TestCase + def setup + Reline::Terminfo.setupterm(0, 2) + end + + def test_tigetstr + assert Reline::Terminfo.tigetstr('khome') + rescue Reline::Terminfo::TerminfoError => e + omit e.message + end + + def test_tigetstr_with_error + assert_raise(Reline::Terminfo::TerminfoError) { Reline::Terminfo.tigetstr('unknown') } + assert_raise(Reline::Terminfo::TerminfoError) { Reline::Terminfo.tigetstr(nil) } + end + + def test_tiparm + assert Reline::Terminfo.tigetstr('khome').tiparm + rescue Reline::Terminfo::TerminfoError => e + omit e.message + end + + def test_tigetstr_with_param + assert Reline::Terminfo.tigetstr('cuu').include?('%p1%d') + rescue Reline::Terminfo::TerminfoError => e + omit e.message + end + + def test_tiparm_with_param + assert Reline::Terminfo.tigetstr('cuu').tiparm(4649).include?('4649') + rescue Reline::Terminfo::TerminfoError => e + omit e.message + end + + def test_tigetflag + assert_instance_of Integer, Reline::Terminfo.tigetflag('xenl') + rescue Reline::Terminfo::TerminfoError => e + omit e.message + end + + def test_tigetflag_with_error + assert_raise(Reline::Terminfo::TerminfoError) { Reline::Terminfo.tigetflag('cuu') } + assert_raise(Reline::Terminfo::TerminfoError) { Reline::Terminfo.tigetflag('unknown') } + assert_raise(Reline::Terminfo::TerminfoError) { Reline::Terminfo.tigetflag(nil) } + end + + def test_tigetnum + assert_instance_of Integer, Reline::Terminfo.tigetnum('colors') + rescue Reline::Terminfo::TerminfoError => e + omit e.message + end + + def test_tigetnum_with_error + assert_raise(Reline::Terminfo::TerminfoError) { Reline::Terminfo.tigetnum('cuu') } + assert_raise(Reline::Terminfo::TerminfoError) { Reline::Terminfo.tigetnum('unknown') } + assert_raise(Reline::Terminfo::TerminfoError) { Reline::Terminfo.tigetnum(nil) } + end +end if Reline::Terminfo.enabled? && Reline::Terminfo.term_supported? |