35 lines
911 B
Ruby
35 lines
911 B
Ruby
|
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
|