mirror of
https://github.com/amix/vimrc
synced 2025-06-16 01:25:00 +08:00
Updated plugins
This commit is contained in:
141
sources_non_forked/vim-multiple-cursors/spec/benchmark_spec.rb
Normal file
141
sources_non_forked/vim-multiple-cursors/spec/benchmark_spec.rb
Normal file
@ -0,0 +1,141 @@
|
||||
require 'vimrunner'
|
||||
require 'vimrunner/rspec'
|
||||
|
||||
Vimrunner::RSpec.configure do |config|
|
||||
|
||||
# Use a single Vim instance for the test suite. Set to false to use an
|
||||
# instance per test (slower, but can be easier to manage).
|
||||
config.reuse_server = false
|
||||
|
||||
# Decide how to start a Vim instance. In this block, an instance should be
|
||||
# spawned and set up with anything project-specific.
|
||||
config.start_vim do
|
||||
# vim = Vimrunner.start
|
||||
# vim = Vimrunner::Server.new("/usr/local/bin/vim").start
|
||||
|
||||
# Or, start a GUI instance:
|
||||
vim = Vimrunner.start_gvim
|
||||
|
||||
# Setup your plugin in the Vim instance
|
||||
plugin_path = File.expand_path('../..', __FILE__)
|
||||
vim.add_plugin(plugin_path, 'plugin/multiple_cursors.vim')
|
||||
|
||||
# The returned value is the Client available in the tests.
|
||||
vim
|
||||
end
|
||||
end
|
||||
|
||||
def set_file_content(string)
|
||||
string = normalize_string_indent(string)
|
||||
File.open(filename, 'w'){ |f| f.write(string) }
|
||||
vim.edit filename
|
||||
end
|
||||
|
||||
def get_file_content()
|
||||
vim.write
|
||||
IO.read(filename).strip
|
||||
end
|
||||
|
||||
def before(string)
|
||||
set_file_content(string)
|
||||
end
|
||||
|
||||
def after(string)
|
||||
get_file_content().should eq normalize_string_indent(string)
|
||||
type ":q<CR>"
|
||||
end
|
||||
|
||||
def type(string)
|
||||
string.scan(/<.*?>|./).each do |key|
|
||||
if /<.*>/.match(key)
|
||||
vim.feedkeys "\\#{key}"
|
||||
else
|
||||
vim.feedkeys key
|
||||
end
|
||||
end
|
||||
sleep 0.2
|
||||
end
|
||||
|
||||
describe "Multiple Cursors" do
|
||||
let(:filename) { 'test.txt' }
|
||||
|
||||
specify "#benchmark" do
|
||||
before <<-EOF
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
hello
|
||||
EOF
|
||||
|
||||
# type ':profile start /tmp/test.result<CR>'
|
||||
# type ':profile! file *multiple_cursors.vim<CR>'
|
||||
type ':let g:multi_cursor_debug_latency=1<CR>'
|
||||
|
||||
type 'VG<C-n>Vchellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello<Esc>'
|
||||
|
||||
type ':echo multiple_cursors#get_latency_debug_file()<CR>'
|
||||
sleep 3
|
||||
latency_file = vim.command 'echo multiple_cursors#get_latency_debug_file()'
|
||||
puts 'latency file = ' + latency_file
|
||||
|
||||
after <<-EOF
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
|
||||
EOF
|
||||
end
|
||||
|
||||
end
|
@ -256,4 +256,18 @@ describe "Multiple Cursors" do
|
||||
hell
|
||||
EOF
|
||||
end
|
||||
|
||||
specify "#multiline visual mode" do
|
||||
before <<-EOF
|
||||
hello
|
||||
hello
|
||||
EOF
|
||||
|
||||
type 'Vj<C-n>A world<Esc>'
|
||||
|
||||
after <<-EOF
|
||||
hello world
|
||||
hello world
|
||||
EOF
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user