Sha256: f20e212ac7a9c118dad9466f0e07c636b1f5a1e14c07faa8e09b2f5387d80702
Contents?: true
Size: 1.92 KB
Versions: 2
Compression:
Stored size: 1.92 KB
Contents
ENV.delete("VIM") ENV.delete("VIMRUNTIME") require "json" require "net/http" require "open-uri" require "tempfile" RSpec.describe "Acceptance", :timeout => 10 do let(:root) { File.expand_path("../acceptance", __FILE__) } let(:init) { File.join(root, "runtime/init.vim") } let(:manifest) { File.join(root, "runtime/rplugin.vim") } around do |spec| Dir.chdir(root) { spec.run } end describe "Vim compatibility" do ["ruby", "rubyfile", "rubydo"].each do |feature| specify ":#{feature}" do run_vader("#{feature}_spec.vim") do |status, output| expect(status).to be_success, lambda { output.read } end end end end describe "Remote plugin DSL" do ["command", "function", "autocmd"].each do |feature| specify "##{feature}" do run_vader("rplugin_#{feature}_spec.vim") do |status, output| expect(status).to be_success, lambda { output.read } end end end end describe "Generated documentation" do it "is up to date" do begin url = "https://api.github.com/repos/neovim/neovim/releases/latest" response = open(url) { |json| JSON.load(json) } client_file = File.read( File.expand_path("../../lib/neovim/client.rb", __FILE__) ) docs_version = client_file[ /The methods documented here were generated using (.+)$/, 1 ] expect(docs_version).to eq(response["name"]) rescue SocketError, OpenURI::HTTPError => e skip "Skipping: #{e}" end end end def run_nvim(env, *opts) nvim = env.fetch("NVIM_EXECUTABLE", "nvim") system(env, nvim, "--headless", "-n", "-u", init, *opts) end def run_vader(test_path) Tempfile.open("vader.out") do |out| run_nvim( {"NVIM_RPLUGIN_MANIFEST" => manifest, "VADER_OUTPUT_FILE" => out.path}, "-c", "Vader! #{test_path}" ) yield $?, out end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
neovim-0.6.1 | spec/acceptance_spec.rb |
neovim-0.6.0 | spec/acceptance_spec.rb |