Mercurial > dotfiles
annotate .zfun/zsh-autosuggestions/spec/async_spec.rb @ 467:e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Mon, 03 Dec 2018 22:37:29 -0500 |
parents | |
children |
rev | line source |
---|---|
467
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
1 context 'with asynchronous suggestions enabled' do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
2 before do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
3 skip 'Async mode not supported below v5.0.8' if session.zsh_version < Gem::Version.new('5.0.8') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
4 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
5 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
6 let(:options) { ["ZSH_AUTOSUGGEST_USE_ASYNC="] } |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
7 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
8 describe '`up-line-or-beginning-search`' do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
9 let(:before_sourcing) do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
10 -> do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
11 session. |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
12 run_command('autoload -U up-line-or-beginning-search'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
13 run_command('zle -N up-line-or-beginning-search'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
14 send_string('bindkey "'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
15 send_keys('C-v').send_keys('up'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
16 send_string('" up-line-or-beginning-search'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
17 send_keys('enter') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
18 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
19 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
20 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
21 it 'should show previous history entries' do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
22 with_history( |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
23 'echo foo', |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
24 'echo bar', |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
25 'echo baz' |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
26 ) do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
27 session.clear_screen |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
28 3.times { session.send_keys('up') } |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
29 wait_for { session.content }.to eq("echo foo") |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
30 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
31 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
32 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
33 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
34 it 'should not add extra carriage returns before newlines' do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
35 session. |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
36 send_string('echo "'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
37 send_keys('escape'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
38 send_keys('enter'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
39 send_string('"'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
40 send_keys('enter') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
41 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
42 session.clear_screen |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
43 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
44 session.send_string('echo') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
45 wait_for { session.content }.to eq("echo \"\n\"") |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
46 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
47 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
48 it 'should treat carriage returns and newlines as separate characters' do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
49 session. |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
50 send_string('echo "'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
51 send_keys('C-v'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
52 send_keys('enter'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
53 send_string('foo"'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
54 send_keys('enter') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
55 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
56 session. |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
57 send_string('echo "'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
58 send_keys('control'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
59 send_keys('enter'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
60 send_string('bar"'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
61 send_keys('enter') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
62 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
63 session.clear_screen |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
64 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
65 session. |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
66 send_string('echo "'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
67 send_keys('C-v'). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
68 send_keys('enter') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
69 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
70 wait_for { session.content }.to eq('echo "^Mfoo"') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
71 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
72 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
73 describe 'exiting a subshell' do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
74 it 'should not cause error messages to be printed' do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
75 session.run_command('$(exit)') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
76 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
77 sleep 1 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
78 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
79 expect(session.content).to eq('$(exit)') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
80 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
81 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
82 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
83 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
84 |