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