summaryrefslogtreecommitdiff
path: root/home-config/zsh/zsh-autosuggestions/spec/strategies
diff options
context:
space:
mode:
Diffstat (limited to 'home-config/zsh/zsh-autosuggestions/spec/strategies')
-rw-r--r--home-config/zsh/zsh-autosuggestions/spec/strategies/completion_spec.rb72
-rw-r--r--home-config/zsh/zsh-autosuggestions/spec/strategies/history_spec.rb23
-rw-r--r--home-config/zsh/zsh-autosuggestions/spec/strategies/match_prev_cmd_spec.rb34
-rw-r--r--home-config/zsh/zsh-autosuggestions/spec/strategies/special_characters_helper.rb75
4 files changed, 0 insertions, 204 deletions
diff --git a/home-config/zsh/zsh-autosuggestions/spec/strategies/completion_spec.rb b/home-config/zsh/zsh-autosuggestions/spec/strategies/completion_spec.rb
deleted file mode 100644
index 92794d6..0000000
--- a/home-config/zsh/zsh-autosuggestions/spec/strategies/completion_spec.rb
+++ /dev/null
@@ -1,72 +0,0 @@
-describe 'the `completion` suggestion strategy' do
- let(:options) { ['ZSH_AUTOSUGGEST_STRATEGY=completion'] }
- let(:before_sourcing) do
- -> do
- session.
- run_command('autoload compinit && compinit').
- run_command('_foo() { compadd bar; compadd bat }').
- run_command('_num() { compadd two; compadd three }').
- run_command('compdef _foo baz').
- run_command('compdef _num one')
- end
- end
-
- it 'suggests the first completion result' do
- session.send_string('baz ')
- wait_for { session.content }.to eq('baz bar')
- end
-
- it 'does not add extra carriage returns when prefix has a line feed' do
- skip '`stty` does not work inside zpty below zsh version 5.0.3' if session.zsh_version < Gem::Version.new('5.0.3')
- session.send_string('baz \\').send_keys('C-v', 'C-j')
- wait_for { session.content }.to eq("baz \\\nbar")
- end
-
- context 'when `_complete` is aliased' do
- let(:before_sourcing) do
- -> do
- session.
- run_command('autoload compinit && compinit').
- run_command('_foo() { compadd bar; compadd bat }').
- run_command('compdef _foo baz').
- run_command('alias _complete=_complete')
- end
- end
-
- it 'suggests the first completion result' do
- session.send_string('baz ')
- wait_for { session.content }.to eq('baz bar')
- end
- end
-
- context 'when ZSH_AUTOSUGGEST_COMPLETION_IGNORE is set to a pattern' do
- let(:options) { ['ZSH_AUTOSUGGEST_STRATEGY=completion', 'ZSH_AUTOSUGGEST_COMPLETION_IGNORE="one *"'] }
-
- it 'makes suggestions when the buffer does not match the pattern' do
- session.send_string('baz ')
- wait_for { session.content }.to eq('baz bar')
- end
-
- it 'does not make suggestions when the buffer matches the pattern' do
- session.send_string('one t')
- sleep 1
- expect(session.content).to eq('one t')
- end
- end
-
- context 'when async mode is enabled' do
- let(:options) { ['ZSH_AUTOSUGGEST_USE_ASYNC=true', 'ZSH_AUTOSUGGEST_STRATEGY=completion'] }
-
- it 'suggests the first completion result' do
- session.send_string('baz ')
- wait_for { session.content }.to eq('baz bar')
- end
-
- it 'does not add extra carriage returns when prefix has a line feed' do
- skip '`stty` does not work inside zpty below zsh version 5.0.3' if session.zsh_version < Gem::Version.new('5.0.3')
- session.send_string('baz \\').send_keys('C-v', 'C-j')
- wait_for { session.content }.to eq("baz \\\nbar")
- end
- end
-end
-
diff --git a/home-config/zsh/zsh-autosuggestions/spec/strategies/history_spec.rb b/home-config/zsh/zsh-autosuggestions/spec/strategies/history_spec.rb
deleted file mode 100644
index eee8efd..0000000
--- a/home-config/zsh/zsh-autosuggestions/spec/strategies/history_spec.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-require 'strategies/special_characters_helper'
-
-describe 'the `history` suggestion strategy' do
- it 'suggests the last matching history entry' do
- with_history('ls foo', 'ls bar', 'echo baz') do
- session.send_string('ls')
- wait_for { session.content }.to eq('ls bar')
- end
- end
-
- context 'when ZSH_AUTOSUGGEST_HISTORY_IGNORE is set to a pattern' do
- let(:options) { ['ZSH_AUTOSUGGEST_HISTORY_IGNORE="* bar"'] }
-
- it 'does not make suggestions that match the pattern' do
- with_history('ls foo', 'ls bar', 'echo baz') do
- session.send_string('ls')
- wait_for { session.content }.to eq('ls foo')
- end
- end
- end
-
- include_examples 'special characters'
-end
diff --git a/home-config/zsh/zsh-autosuggestions/spec/strategies/match_prev_cmd_spec.rb b/home-config/zsh/zsh-autosuggestions/spec/strategies/match_prev_cmd_spec.rb
deleted file mode 100644
index c435f16..0000000
--- a/home-config/zsh/zsh-autosuggestions/spec/strategies/match_prev_cmd_spec.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-require 'strategies/special_characters_helper'
-
-describe 'the `match_prev_cmd` strategy' do
- let(:options) { ['ZSH_AUTOSUGGEST_STRATEGY=match_prev_cmd'] }
-
- let(:history) { [
- 'echo what',
- 'ls foo',
- 'echo what',
- 'ls bar',
- 'ls baz',
- 'echo what'
- ] }
-
- it 'suggests the last matching history entry after the previous command' do
- with_history(*history) do
- session.send_string('ls')
- wait_for { session.content }.to eq('ls bar')
- end
- end
-
- context 'when ZSH_AUTOSUGGEST_HISTORY_IGNORE is set to a pattern' do
- let(:options) { ['ZSH_AUTOSUGGEST_STRATEGY=match_prev_cmd', 'ZSH_AUTOSUGGEST_HISTORY_IGNORE="* bar"'] }
-
- it 'does not make suggestions that match the pattern' do
- with_history(*history) do
- session.send_string('ls')
- wait_for { session.content }.to eq('ls foo')
- end
- end
- end
-
- include_examples 'special characters'
-end
diff --git a/home-config/zsh/zsh-autosuggestions/spec/strategies/special_characters_helper.rb b/home-config/zsh/zsh-autosuggestions/spec/strategies/special_characters_helper.rb
deleted file mode 100644
index eb1f0cd..0000000
--- a/home-config/zsh/zsh-autosuggestions/spec/strategies/special_characters_helper.rb
+++ /dev/null
@@ -1,75 +0,0 @@
-shared_examples 'special characters' do
- describe 'a special character in the buffer should be treated like any other character' do
- it 'asterisk' do
- with_history('echo "hello*"', 'echo "hello."') do
- session.send_string('echo "hello*')
- wait_for { session.content }.to eq('echo "hello*"')
- end
- end
-
- it 'question mark' do
- with_history('echo "hello?"', 'echo "hello."') do
- session.send_string('echo "hello?')
- wait_for { session.content }.to eq('echo "hello?"')
- end
- end
-
- it 'backslash' do
- with_history('echo "hello\nworld"') do
- session.send_string('echo "hello\\')
- wait_for { session.content }.to eq('echo "hello\nworld"')
- end
- end
-
- it 'double backslash' do
- with_history('echo "\\\\"') do
- session.send_string('echo "\\\\')
- wait_for { session.content }.to eq('echo "\\\\"')
- end
- end
-
- it 'tilde' do
- with_history('echo ~/foo') do
- session.send_string('echo ~')
- wait_for { session.content }.to eq('echo ~/foo')
- end
- end
-
- it 'parentheses' do
- with_history('echo "$(ls foo)"') do
- session.send_string('echo "$(')
- wait_for { session.content }.to eq('echo "$(ls foo)"')
- end
- end
-
- it 'square bracket' do
- with_history('echo "$history[123]"') do
- session.send_string('echo "$history[')
- wait_for { session.content }.to eq('echo "$history[123]"')
- session.send_string('123]')
- wait_for { session.content }.to eq('echo "$history[123]"')
- end
- end
-
- it 'octothorpe' do
- with_history('echo "#yolo"') do
- session.send_string('echo "#')
- wait_for { session.content }.to eq('echo "#yolo"')
- end
- end
-
- it 'caret' do
- with_history('echo "^A"', 'echo "^B"') do
- session.send_string('echo "^A')
- wait_for { session.content }.to eq('echo "^A"')
- end
- end
-
- it 'dash' do
- with_history('-foo() {}') do
- session.send_string('-')
- wait_for { session.content }.to eq('-foo() {}')
- end
- end
- end
-end