mirror of
https://github.com/zsh-users/zsh-autosuggestions.git
synced 2025-12-08 15:32:31 +01:00
Implement suggestion integration tests in RSpec + tmux
This commit is contained in:
parent
07a6768fcb
commit
c22ab0e399
5 changed files with 192 additions and 232 deletions
60
spec/strategies/match_prev_cmd_spec.rb
Normal file
60
spec/strategies/match_prev_cmd_spec.rb
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
describe 'match_prev_cmd strategy' do
|
||||
let(:session) { TerminalSession.new }
|
||||
|
||||
before do
|
||||
session.run_command('source zsh-autosuggestions.zsh')
|
||||
session.run_command('ZSH_AUTOSUGGEST_STRATEGY=match_prev_cmd')
|
||||
session.run_command('fc -p')
|
||||
session.clear
|
||||
end
|
||||
|
||||
after do
|
||||
session.destroy
|
||||
end
|
||||
|
||||
context 'with some history entries' do
|
||||
before do
|
||||
session.run_command('echo what')
|
||||
session.run_command('ls foo')
|
||||
session.run_command('echo what')
|
||||
session.run_command('ls bar')
|
||||
session.run_command('ls baz')
|
||||
|
||||
session.clear
|
||||
end
|
||||
|
||||
it 'suggests nothing if prefix does not match' do
|
||||
session.send_string('ls q')
|
||||
wait_for { session.content }.to eq('ls q')
|
||||
end
|
||||
|
||||
it 'suggests the most recent matching history item' do
|
||||
session.send_string('ls')
|
||||
wait_for { session.content }.to eq('ls baz')
|
||||
end
|
||||
|
||||
it 'suggests the most recent after the previous command' do
|
||||
session.run_command('echo what')
|
||||
session.clear
|
||||
|
||||
session.send_string('ls')
|
||||
wait_for { session.content }.to eq('ls bar')
|
||||
end
|
||||
end
|
||||
|
||||
context 'with a multiline hist entry' do
|
||||
before do
|
||||
session.send_string('echo "')
|
||||
session.send_keys('enter')
|
||||
session.send_string('"')
|
||||
session.send_keys('enter')
|
||||
|
||||
session.clear
|
||||
end
|
||||
|
||||
it do
|
||||
session.send_keys('e')
|
||||
wait_for { session.content }.to eq "echo \"\n\""
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue