mirror of
				https://github.com/zsh-users/zsh-autosuggestions.git
				synced 2024-05-11 05:54:57 +00:00 
			
		
		
		
	otherwise users are obliged to set the config values *after* sourcing the plugin. They're not able to do it before. Also, re-sourcing the plugin will reset the values to the defaults again. See zimfw/zimfw#301 Fixes #335
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
require 'pry'
 | 
						|
require 'rspec/wait'
 | 
						|
require 'terminal_session'
 | 
						|
 | 
						|
RSpec.shared_context 'terminal session' do
 | 
						|
  let(:term_opts) { {} }
 | 
						|
  let(:session) { TerminalSession.new(term_opts) }
 | 
						|
  let(:before_sourcing) { -> {} }
 | 
						|
  let(:after_sourcing) { -> {} }
 | 
						|
  let(:options) { [] }
 | 
						|
 | 
						|
  around do |example|
 | 
						|
    before_sourcing.call
 | 
						|
    session.run_command(options.join('; '))
 | 
						|
    session.run_command('source zsh-autosuggestions.zsh')
 | 
						|
    after_sourcing.call
 | 
						|
    session.clear_screen
 | 
						|
 | 
						|
    example.run
 | 
						|
 | 
						|
    session.destroy
 | 
						|
  end
 | 
						|
 | 
						|
  def with_history(*commands, &block)
 | 
						|
    session.run_command('fc -p')
 | 
						|
 | 
						|
    commands.each do |c|
 | 
						|
      c.respond_to?(:call) ? c.call : session.run_command(c)
 | 
						|
    end
 | 
						|
 | 
						|
    session.clear_screen
 | 
						|
 | 
						|
    yield block
 | 
						|
 | 
						|
    session.send_keys('C-c')
 | 
						|
    session.run_command('fc -P')
 | 
						|
  end
 | 
						|
end
 | 
						|
 | 
						|
RSpec.configure do |config|
 | 
						|
  config.expect_with :rspec do |expectations|
 | 
						|
    expectations.include_chain_clauses_in_custom_matcher_descriptions = true
 | 
						|
  end
 | 
						|
 | 
						|
  config.mock_with :rspec do |mocks|
 | 
						|
    mocks.verify_partial_doubles = true
 | 
						|
  end
 | 
						|
 | 
						|
  config.wait_timeout = 2
 | 
						|
 | 
						|
  config.include_context 'terminal session'
 | 
						|
end
 |