Test refactoring
This commit is contained in:
parent
8973207bb4
commit
8b618f7439
@ -72,17 +72,6 @@ class Tmux
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def closed?
|
|
||||||
!go("list-window -F '#I'").include?(win)
|
|
||||||
end
|
|
||||||
|
|
||||||
def close
|
|
||||||
wait do
|
|
||||||
send_keys 'C-c', 'C-u', 'exit', :Enter
|
|
||||||
closed?
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def kill
|
def kill
|
||||||
go("kill-window -t #{win} 2> /dev/null")
|
go("kill-window -t #{win} 2> /dev/null")
|
||||||
end
|
end
|
||||||
@ -152,21 +141,25 @@ class TestBase < Minitest::Test
|
|||||||
|
|
||||||
attr_reader :tmux
|
attr_reader :tmux
|
||||||
|
|
||||||
|
def tempname
|
||||||
|
[TEMPNAME,
|
||||||
|
caller_locations.map(&:label).find { |l| l =~ /^test_/ }].join '-'
|
||||||
|
end
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
ENV.delete 'FZF_DEFAULT_OPTS'
|
ENV.delete 'FZF_DEFAULT_OPTS'
|
||||||
ENV.delete 'FZF_DEFAULT_COMMAND'
|
ENV.delete 'FZF_DEFAULT_COMMAND'
|
||||||
File.unlink TEMPNAME while File.exists?(TEMPNAME)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def readonce
|
def readonce
|
||||||
wait { File.exists?(TEMPNAME) }
|
wait { File.exists?(tempname) }
|
||||||
File.read(TEMPNAME)
|
File.read(tempname)
|
||||||
ensure
|
ensure
|
||||||
File.unlink TEMPNAME while File.exists?(TEMPNAME)
|
File.unlink tempname while File.exists?(tempname)
|
||||||
end
|
end
|
||||||
|
|
||||||
def fzf(*opts)
|
def fzf(*opts)
|
||||||
fzf!(*opts) + " > #{TEMPNAME}.tmp; mv #{TEMPNAME}.tmp #{TEMPNAME}"
|
fzf!(*opts) + " > #{tempname}.tmp; mv #{tempname}.tmp #{tempname}"
|
||||||
end
|
end
|
||||||
|
|
||||||
def fzf!(*opts)
|
def fzf!(*opts)
|
||||||
@ -214,7 +207,6 @@ class TestGoFZF < TestBase
|
|||||||
assert_equal '> 391', lines[-1]
|
assert_equal '> 391', lines[-1]
|
||||||
|
|
||||||
tmux.send_keys :Enter
|
tmux.send_keys :Enter
|
||||||
tmux.close
|
|
||||||
assert_equal '1391', readonce.chomp
|
assert_equal '1391', readonce.chomp
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -223,7 +215,6 @@ class TestGoFZF < TestBase
|
|||||||
tmux.until { |lines| lines.last =~ /^>/ }
|
tmux.until { |lines| lines.last =~ /^>/ }
|
||||||
|
|
||||||
tmux.send_keys :Enter
|
tmux.send_keys :Enter
|
||||||
tmux.close
|
|
||||||
assert_equal 'hello', readonce.chomp
|
assert_equal 'hello', readonce.chomp
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -290,7 +281,6 @@ class TestGoFZF < TestBase
|
|||||||
# CTRL-M
|
# CTRL-M
|
||||||
tmux.send_keys "C-M"
|
tmux.send_keys "C-M"
|
||||||
tmux.until { |lines| lines.last !~ /^>/ }
|
tmux.until { |lines| lines.last !~ /^>/ }
|
||||||
tmux.close
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_multi_order
|
def test_multi_order
|
||||||
@ -303,7 +293,6 @@ class TestGoFZF < TestBase
|
|||||||
tmux.until { |lines| lines[-2].include? '(6)' }
|
tmux.until { |lines| lines[-2].include? '(6)' }
|
||||||
tmux.send_keys "C-M"
|
tmux.send_keys "C-M"
|
||||||
assert_equal %w[3 2 5 6 8 7], readonce.split($/)
|
assert_equal %w[3 2 5 6 8 7], readonce.split($/)
|
||||||
tmux.close
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_with_nth
|
def test_with_nth
|
||||||
@ -454,16 +443,12 @@ class TestGoFZF < TestBase
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_unicode_case
|
def test_unicode_case
|
||||||
tempname = TEMPNAME + Time.now.to_f.to_s
|
|
||||||
writelines tempname, %w[строКА1 СТРОКА2 строка3 Строка4]
|
writelines tempname, %w[строКА1 СТРОКА2 строка3 Строка4]
|
||||||
assert_equal %w[СТРОКА2 Строка4], `cat #{tempname} | #{FZF} -fС`.split($/)
|
assert_equal %w[СТРОКА2 Строка4], `cat #{tempname} | #{FZF} -fС`.split($/)
|
||||||
assert_equal %w[строКА1 СТРОКА2 строка3 Строка4], `cat #{tempname} | #{FZF} -fс`.split($/)
|
assert_equal %w[строКА1 СТРОКА2 строка3 Строка4], `cat #{tempname} | #{FZF} -fс`.split($/)
|
||||||
rescue
|
|
||||||
File.unlink tempname
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_tiebreak
|
def test_tiebreak
|
||||||
tempname = TEMPNAME + Time.now.to_f.to_s
|
|
||||||
input = %w[
|
input = %w[
|
||||||
--foobar--------
|
--foobar--------
|
||||||
-----foobar---
|
-----foobar---
|
||||||
@ -500,8 +485,6 @@ class TestGoFZF < TestBase
|
|||||||
], `cat #{tempname} | #{FZF} -ffoobar --tiebreak end`.split($/)
|
], `cat #{tempname} | #{FZF} -ffoobar --tiebreak end`.split($/)
|
||||||
|
|
||||||
assert_equal input, `cat #{tempname} | #{FZF} -f"!z" -x --tiebreak end`.split($/)
|
assert_equal input, `cat #{tempname} | #{FZF} -f"!z" -x --tiebreak end`.split($/)
|
||||||
rescue
|
|
||||||
File.unlink tempname
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_invalid_cache
|
def test_invalid_cache
|
||||||
@ -527,14 +510,11 @@ class TestGoFZF < TestBase
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_long_line
|
def test_long_line
|
||||||
tempname = TEMPNAME + Time.now.to_f.to_s
|
|
||||||
data = '.' * 256 * 1024
|
data = '.' * 256 * 1024
|
||||||
File.open(tempname, 'w') do |f|
|
File.open(tempname, 'w') do |f|
|
||||||
f << data
|
f << data
|
||||||
end
|
end
|
||||||
assert_equal data, `cat #{tempname} | #{FZF} -f .`.chomp
|
assert_equal data, `cat #{tempname} | #{FZF} -f .`.chomp
|
||||||
ensure
|
|
||||||
File.unlink tempname
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_null
|
def test_null
|
||||||
|
Loading…
x
Reference in New Issue
Block a user