Mercurial > dotfiles
comparison .zfun/zsh-autosuggestions/spec/options/strategy_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 describe 'a suggestion for a given prefix' do | |
2 let(:history_strategy) { '_zsh_autosuggest_strategy_history() { suggestion="history" }' } | |
3 let(:foobar_strategy) { '_zsh_autosuggest_strategy_foobar() { [[ "foobar baz" = $1* ]] && suggestion="foobar baz" }' } | |
4 let(:foobaz_strategy) { '_zsh_autosuggest_strategy_foobaz() { [[ "foobaz bar" = $1* ]] && suggestion="foobaz bar" }' } | |
5 | |
6 let(:after_sourcing) do | |
7 -> do | |
8 session.run_command(history_strategy) | |
9 end | |
10 end | |
11 | |
12 it 'by default is determined by calling the `history` strategy function' do | |
13 session.send_string('h') | |
14 wait_for { session.content }.to eq('history') | |
15 end | |
16 | |
17 context 'when ZSH_AUTOSUGGEST_STRATEGY is set to an array' do | |
18 let(:after_sourcing) do | |
19 -> do | |
20 session. | |
21 run_command(foobar_strategy). | |
22 run_command(foobaz_strategy). | |
23 run_command('ZSH_AUTOSUGGEST_STRATEGY=(foobar foobaz)') | |
24 end | |
25 end | |
26 | |
27 it 'is determined by the first strategy function to return a suggestion' do | |
28 session.send_string('foo') | |
29 wait_for { session.content }.to eq('foobar baz') | |
30 | |
31 session.send_string('baz') | |
32 wait_for { session.content }.to eq('foobaz bar') | |
33 end | |
34 end | |
35 | |
36 context 'when ZSH_AUTOSUGGEST_STRATEGY is set to a string' do | |
37 let(:after_sourcing) do | |
38 -> do | |
39 session. | |
40 run_command(foobar_strategy). | |
41 run_command(foobaz_strategy). | |
42 run_command('ZSH_AUTOSUGGEST_STRATEGY="foobar foobaz"') | |
43 end | |
44 end | |
45 | |
46 it 'is determined by the first strategy function to return a suggestion' do | |
47 session.send_string('foo') | |
48 wait_for { session.content }.to eq('foobar baz') | |
49 | |
50 session.send_string('baz') | |
51 wait_for { session.content }.to eq('foobaz bar') | |
52 end | |
53 end | |
54 end | |
55 |