43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
describe 'the `autosuggest-enable` widget' do
 | 
						|
  before do
 | 
						|
    session.
 | 
						|
      run_command('typeset -g _ZSH_AUTOSUGGEST_DISABLED').
 | 
						|
      run_command('bindkey ^B autosuggest-enable')
 | 
						|
  end
 | 
						|
 | 
						|
  it 'enables suggestions and fetches a suggestion' do
 | 
						|
    with_history('echo hello') do
 | 
						|
      session.send_string('e')
 | 
						|
      sleep 1
 | 
						|
      expect(session.content).to eq('e')
 | 
						|
 | 
						|
      session.send_keys('C-b')
 | 
						|
      session.send_string('c')
 | 
						|
      wait_for { session.content }.to eq('echo hello')
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  context 'invoked on an empty buffer' do
 | 
						|
    it 'does not fetch a suggestion' do
 | 
						|
      with_history('echo hello') do
 | 
						|
        session.send_keys('C-b')
 | 
						|
        sleep 1
 | 
						|
        expect(session.content).to eq('')
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  context 'invoked on a non-empty buffer' do
 | 
						|
    it 'fetches a suggestion' do
 | 
						|
      with_history('echo hello') do
 | 
						|
        session.send_string('e')
 | 
						|
        sleep 1
 | 
						|
        expect(session.content).to eq('e')
 | 
						|
 | 
						|
        session.send_keys('C-b')
 | 
						|
        wait_for { session.content }.to eq('echo hello')
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |