summaryrefslogtreecommitdiff
path: root/home-config/zsh/zsh-autosuggestions/spec/integrations/zle_input_stack_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'home-config/zsh/zsh-autosuggestions/spec/integrations/zle_input_stack_spec.rb')
-rw-r--r--home-config/zsh/zsh-autosuggestions/spec/integrations/zle_input_stack_spec.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/home-config/zsh/zsh-autosuggestions/spec/integrations/zle_input_stack_spec.rb b/home-config/zsh/zsh-autosuggestions/spec/integrations/zle_input_stack_spec.rb
new file mode 100644
index 0000000..12cfbc7
--- /dev/null
+++ b/home-config/zsh/zsh-autosuggestions/spec/integrations/zle_input_stack_spec.rb
@@ -0,0 +1,24 @@
+describe 'using `zle -U`' do
+ let(:before_sourcing) do
+ -> do
+ session.
+ run_command('_zsh_autosuggest_strategy_test() { sleep 1; _zsh_autosuggest_strategy_history "$1" }').
+ run_command('foo() { zle -U - "echo hello" }; zle -N foo; bindkey ^B foo')
+ end
+ end
+
+ let(:options) { ['unset ZSH_AUTOSUGGEST_USE_ASYNC', 'ZSH_AUTOSUGGEST_STRATEGY=test'] }
+
+ # TODO: This is only possible with the $KEYS_QUEUED_COUNT widget parameter, coming soon...
+ xit 'does not fetch a suggestion for every inserted character' do
+ session.send_keys('C-b')
+ wait_for { session.content }.to eq('echo hello')
+ end
+
+ it 'shows a suggestion when the widget completes' do
+ with_history('echo hello world') do
+ session.send_keys('C-b')
+ wait_for { session.content(esc_seqs: true) }.to match(/\Aecho hello\e\[[0-9]+m world/)
+ end
+ end
+end