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
 |