Mercurial > dotfiles
annotate .zfun/zsh-autosuggestions/spec/options/strategy_spec.rb @ 477:8373f6924e50
emacs: kludge around a case of emacs being too clever for me
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Thu, 21 Feb 2019 19:54:55 -0500 |
parents | e1ce8897030d |
children |
rev | line source |
---|---|
467
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
1 describe 'a suggestion for a given prefix' do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
2 let(:history_strategy) { '_zsh_autosuggest_strategy_history() { suggestion="history" }' } |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
3 let(:foobar_strategy) { '_zsh_autosuggest_strategy_foobar() { [[ "foobar baz" = $1* ]] && suggestion="foobar baz" }' } |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
4 let(:foobaz_strategy) { '_zsh_autosuggest_strategy_foobaz() { [[ "foobaz bar" = $1* ]] && suggestion="foobaz bar" }' } |
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(:after_sourcing) do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
7 -> do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
8 session.run_command(history_strategy) |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
9 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
10 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
11 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
12 it 'by default is determined by calling the `history` strategy function' do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
13 session.send_string('h') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
14 wait_for { session.content }.to eq('history') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
15 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
16 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
17 context 'when ZSH_AUTOSUGGEST_STRATEGY is set to an array' do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
18 let(:after_sourcing) do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
19 -> do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
20 session. |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
21 run_command(foobar_strategy). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
22 run_command(foobaz_strategy). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
23 run_command('ZSH_AUTOSUGGEST_STRATEGY=(foobar foobaz)') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
24 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
25 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
26 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
27 it 'is determined by the first strategy function to return a suggestion' do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
28 session.send_string('foo') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
29 wait_for { session.content }.to eq('foobar baz') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
30 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
31 session.send_string('baz') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
32 wait_for { session.content }.to eq('foobaz bar') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
33 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
34 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
35 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
36 context 'when ZSH_AUTOSUGGEST_STRATEGY is set to a string' do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
37 let(:after_sourcing) do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
38 -> do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
39 session. |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
40 run_command(foobar_strategy). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
41 run_command(foobaz_strategy). |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
42 run_command('ZSH_AUTOSUGGEST_STRATEGY="foobar foobaz"') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
43 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
44 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
45 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
46 it 'is determined by the first strategy function to return a suggestion' do |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
47 session.send_string('foo') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
48 wait_for { session.content }.to eq('foobar baz') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
49 |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
50 session.send_string('baz') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
51 wait_for { session.content }.to eq('foobaz bar') |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
52 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
53 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
54 end |
e1ce8897030d
zsh: import df6f6f9ff41 of zsh-autosuggestions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
55 |