h1. Vim Plugin for Jasmine javascript testing
This is my first attempt at a vim plugin bundle. I'm sure there are dragons in here. :-)
h2. Installation
I'm currently using Pathogen and am assuming you are too. That means you should be able to do:
bc. git clone git://github.com/claco/jasmine.vim.git bundle/jasmine
inside of your ~/.vim directory. If you're using submodules to track your bundles:
bc. git submodule add git://github.com/claco/jasmine.vim.git bundle/jasmine
git submodule init
git submodule update
h2. What it does
This plugin is pretty basic right now. It currently:
* Sets *Spec.js and *SpecHelper.js files to filetype=jasmine+javascript
* Applies basic syntax highlighting for jasmine keywords in addition to normal javascript syntax
* Loads snippets for the jasmine filetype for:
** desc: description block with before..it..expect
** before: beforeEach block
** after: afterEach block
** it: it...expect block
** helper: beforeEach block and addMatcher/matcher blocks for SpecHelper.js
** matcher: matcher block for SpecHelper.js
** expect: expect..to line
** spy: spyOn method
* Uses templates for new jasmine buffers
* Runs all specs in jasmine:ci and shows Red/Green bar
You can disable templating by setting g:jasmine_use_templates=""
By default, the plugin assumes the templates are in bundle/jasmine/template and the snippets are in bundle/jasmine/snippets. You can override those by setting g:jasmine_snippets_directory and g:jasmine_templates_directory in your vimrc
h2. Running Specs
I'm slowly working on interactive spec running support. Currently, the Jasmine() command is provided for jasmine buffers. When invoked, it searches the current/parent directories of that buffer for the nearest Rakefile and invokes rake jasmine:ci to run all specs.
Jasmine buffers now have compiler set to the jasmine compiler and leader-m is mapped to run :Jasmine -> jasmine#run_tests -> :make -> rake jasmine:ci
If the specs fail, the bottom buffer status turns Red. If all specs pass, the status turns Green.
I plan on adding quickfix error support.
h2. TODO
* Add commands/functions to run a spec, a spec file
* Add QuickFix error buffer support
* docs help file