Coder Social home page Coder Social logo

jasmine.vim's Introduction

Vim Plugin for Jasmine javascript testing

This is my first attempt at a vim plugin bundle. I’m sure there are dragons in here. :-)

Installation

I’m currently using Pathogen and am assuming you are too. That means you should be able to do:

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:

git submodule add git://github.com/claco/jasmine.vim.git bundle/jasmine
git submodule init
git submodule update

What it does

This plugin is pretty basic right now. It currently:

  • Sets *Spec.js and *SpecHelper.js files to filetype=jasmine.javascript syntax=jasmine
  • Sets *Spec.coffee and *SpecHelper.coffee files to filetype=jasmine.coffee syntax=jasmine
  • 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

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.

TODO

  • Add commands/functions to run a spec, a spec file
  • Add QuickFix error buffer support
  • docs help file

jasmine.vim's People

Contributors

claco avatar jvortmann avatar johnbintz avatar superstructor avatar kevicency avatar luan avatar venables avatar mharju avatar rosenfeld avatar creasty avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.