43 lines
1.0 KiB
Ruby
43 lines
1.0 KiB
Ruby
|
describe 'the `autosuggest-enable` widget' do
|
||
|
before do
|
||
|
session.
|
||
|
run_command('typeset -g _ZSH_AUTOSUGGEST_DISABLED').
|
||
|
run_command('bindkey ^B autosuggest-enable')
|
||
|
end
|
||
|
|
||
|
it 'enables suggestions and fetches a suggestion' do
|
||
|
with_history('echo hello') do
|
||
|
session.send_string('e')
|
||
|
sleep 1
|
||
|
expect(session.content).to eq('e')
|
||
|
|
||
|
session.send_keys('C-b')
|
||
|
session.send_string('c')
|
||
|
wait_for { session.content }.to eq('echo hello')
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context 'invoked on an empty buffer' do
|
||
|
it 'does not fetch a suggestion' do
|
||
|
with_history('echo hello') do
|
||
|
session.send_keys('C-b')
|
||
|
sleep 1
|
||
|
expect(session.content).to eq('')
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context 'invoked on a non-empty buffer' do
|
||
|
it 'fetches a suggestion' do
|
||
|
with_history('echo hello') do
|
||
|
session.send_string('e')
|
||
|
sleep 1
|
||
|
expect(session.content).to eq('e')
|
||
|
|
||
|
session.send_keys('C-b')
|
||
|
wait_for { session.content }.to eq('echo hello')
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|