Cucumber step definitions for testing vimscript
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

This project contains step definitions that can be used to spawn a Vim instance and control it through code. The actual work is done by the vimrunner gem.

Here's an example feature from my plugin splitjoin:

Feature: CSS support

  Scenario: Splitting single-line style definitions
    Given Vim is running
    And the splitjoin plugin is loaded
    And I'm editing a file named "example.css" with the following contents:
      h2 { font-size: 18px; font-weight: bold }
    And the cursor is positioned on "h2"
    And "expandtab" is set
    And "shiftwidth" is set to "2"
    When I split the line
    And I save
    Then the file "example.css" should contain the following text:
      h2 {
        font-size: 18px;
        font-weight: bold;

It's a bit verbose, but it's work in progress.

For now, there are only a few steps in lib/cucumber/vimscript.rb. I'll add more and organize them as I attempt to use this project for testing some of my own scripts. Any contributions are more than welcome, though.