|
|
@ -27,6 +27,29 @@ context 'with asynchronous suggestions enabled' do |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
describe '`copy-earlier-word`' do |
|
|
|
let(:before_sourcing) do |
|
|
|
-> do |
|
|
|
session. |
|
|
|
run_command('autoload -Uz copy-earlier-word'). |
|
|
|
run_command('zle -N copy-earlier-word'). |
|
|
|
run_command('bindkey "^N" copy-earlier-word') |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
it 'should cycle through previous words in the buffer' do |
|
|
|
session.clear_screen |
|
|
|
session.send_string('foo bar baz') |
|
|
|
sleep 0.5 |
|
|
|
session.send_keys('C-n') |
|
|
|
wait_for { session.content }.to eq('foo bar bazbaz') |
|
|
|
session.send_keys('C-n') |
|
|
|
wait_for { session.content }.to eq('foo bar bazbar') |
|
|
|
session.send_keys('C-n') |
|
|
|
wait_for { session.content }.to eq('foo bar bazfoo') |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
describe 'pressing ^C after fetching a suggestion' do |
|
|
|
before do |
|
|
|
skip 'Workaround does not work below v5.0.8' if session.zsh_version < Gem::Version.new('5.0.8') |
|
|
@ -34,9 +57,9 @@ context 'with asynchronous suggestions enabled' do |
|
|
|
|
|
|
|
it 'terminates the prompt and begins a new one' do |
|
|
|
session.send_keys('e') |
|
|
|
sleep 0.1 |
|
|
|
sleep 0.5 |
|
|
|
session.send_keys('C-c') |
|
|
|
sleep 0.1 |
|
|
|
sleep 0.5 |
|
|
|
session.send_keys('echo') |
|
|
|
|
|
|
|
wait_for { session.content }.to eq("e\necho") |
|
|
|