]>
git.madduck.net Git - etc/vim.git/blobdiff - spec/spec_helper.rb
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
require 'vimrunner'
require 'vimrunner/rspec'
require 'vimrunner'
require 'vimrunner/rspec'
+require 'vimrunner/server'
+
+# Explicitly enable usage of "should".
+RSpec.configure do |config|
+ config.expect_with(:rspec) { |c| c.syntax = :should }
+end
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).
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).
- # FIXME: reuse_server = true seems to hang after a certain number of test cases
- # - Travis CI hangs after 15 successful tests.
- # - Locally it may hang also, with Vim and Xorg using 100% CPU.
- # Therefore default to false in both cases.
- config.reuse_server = ENV['CI'] ? false : false
+ # This requires using gvim, otherwise it hangs after a few tests.
+ config.reuse_server = ENV['VIMRUNNER_REUSE_SERVER'] == '1' ? true : false
- vim = Vimrunner.start
-
- plugin_path = File.expand_path('../..', __FILE__)
+ exe = config.reuse_server ? Vimrunner::Platform.gvim : Vimrunner::Platform.vim
+ vimrc = File.expand_path("../vimrc", __FILE__)
+ vim = Vimrunner::Server.new(:executable => exe,
+ :vimrc => vimrc).start
+ # More friendly killing.
+ # Otherwise profiling information might not be written.
+ def vim.kill
+ normal(':qall!<CR>')
- # add_plugin appends the path to the rtp... :(
- # vim.add_plugin(plugin_path, 'indent/python.vim')
+ Timeout.timeout(5) do
+ sleep 0.1 while server.running?
+ end
+ end
+ plugin_path = File.expand_path('../..', __FILE__)
vim.command "set rtp^=#{plugin_path}"
vim.command "set rtp^=#{plugin_path}"
- vim.command "runtime syntax/python.vim"
- vim.command "runtime indent/python.vim"
+ vim.command "set filetype=python"
def shiftwidth
@shiftwidth ||= vim.echo("exists('*shiftwidth') ? shiftwidth() : &sw").to_i
def shiftwidth
@shiftwidth ||= vim.echo("exists('*shiftwidth') ? shiftwidth() : &sw").to_i
i = vim.echo("get(g:, 'python_pep8_indent_multiline_string', 0)").to_i
return (i == -2 ? default : i), i < 0 ? (i == -1 ? prev : default) : i
end
i = vim.echo("get(g:, 'python_pep8_indent_multiline_string', 0)").to_i
return (i == -2 ? default : i), i < 0 ? (i == -1 ? prev : default) : i
end
+ def hang_closing
+ i = vim.echo("get(g:, 'python_pep8_indent_hang_closing', 0)").to_i
+ return (i != 0)
+ end
+ def set_hang_closing(value)
+ i = value ? 1 : 0
+ vim.command("let g:python_pep8_indent_hang_closing=#{i}")
+ end