44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
describe 'pasting using bracketed-paste-magic' do
 | 
						|
  let(:before_sourcing) do
 | 
						|
    -> do
 | 
						|
      session.
 | 
						|
        run_command('autoload -Uz bracketed-paste-magic').
 | 
						|
        run_command('zle -N bracketed-paste bracketed-paste-magic')
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  context 'with suggestions disabled while pasting' do
 | 
						|
    before do
 | 
						|
      session.
 | 
						|
        run_command('bpm_init() { zle autosuggest-disable }').
 | 
						|
        run_command('bpm_finish() { zle autosuggest-enable }').
 | 
						|
        run_command('zstyle :bracketed-paste-magic paste-init bpm_init').
 | 
						|
        run_command('zstyle :bracketed-paste-magic paste-finish bpm_finish')
 | 
						|
    end
 | 
						|
 | 
						|
    it 'does not show an incorrect suggestion' do
 | 
						|
      with_history('echo hello') do
 | 
						|
        session.paste_string("echo #{'a' * 60}")
 | 
						|
        sleep 1
 | 
						|
        expect(session.content).to eq("echo #{'a' * 60}")
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  context 'with `bracketed-paste` added to the list of widgets that clear the suggestion' do
 | 
						|
    let(:options) { ['ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=(bracketed-paste)'] }
 | 
						|
 | 
						|
    it 'does not retain an old suggestion' do
 | 
						|
      with_history ('echo foo') do
 | 
						|
        session.send_string('echo ')
 | 
						|
        wait_for { session.content }.to eq('echo foo')
 | 
						|
        session.paste_string('bar')
 | 
						|
        wait_for { session.content }.to eq('echo bar')
 | 
						|
        session.send_keys('C-a') # Any cursor movement works
 | 
						|
        sleep 1
 | 
						|
        expect(session.content).to eq('echo bar')
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |