ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Jasmine JS

by NicoSantangelo ST2/ST3

Jasmine syntax, snippets and commands

Details

Installs

  • Total 21K
  • Win 8K
  • OS X 10K
  • Linux 3K
Apr 23 Apr 22 Apr 21 Apr 20 Apr 19 Apr 18 Apr 17 Apr 16 Apr 15 Apr 14 Apr 13 Apr 12 Apr 11 Apr 10 Apr 9 Apr 8 Apr 7 Apr 6 Apr 5 Apr 4 Apr 3 Apr 2 Apr 1 Mar 31 Mar 30 Mar 29 Mar 28 Mar 27 Mar 26 Mar 25 Mar 24 Mar 23 Mar 22 Mar 21 Mar 20 Mar 19 Mar 18 Mar 17 Mar 16 Mar 15 Mar 14 Mar 13 Mar 12 Mar 11 Mar 10 Mar 9
Windows 1 2 0 2 0 1 1 1 2 2 2 1 1 0 0 2 0 0 0 1 3 4 0 2 2 5 1 2 1 1 1 0 1 3 2 1 0 2 2 1 2 2 6 0 0 4
OS X 0 2 1 0 1 0 0 1 1 0 2 1 1 1 1 0 1 0 0 2 2 4 0 1 0 1 1 0 2 1 0 1 2 0 2 3 1 1 2 2 2 1 2 1 0 3
Linux 2 0 0 1 0 0 1 1 0 0 1 1 2 0 0 0 0 0 0 0 0 0 0 1 0 0 0 2 0 1 0 1 0 0 0 1 0 0 0 1 0 0 1 2 1 0

Readme

Source
raw.​githubusercontent.​com

Jasmine

Sublime Text package that includes syntax highlighting, snippets and commands for Jasmine the Javascript BDD framework.

This package is a merge between Jasmine BDD from @caiogondim and Jasmine from @gja.

Snippets

Below is a list of all snippets currently supported on this package and the triggers of each one. The means the TAB key.

Specs

  • describe: desc⇥
  • xdescribe: xdesc⇥
  • fdescribe: fdesc⇥
  • it: it⇥
  • xit: xit⇥
  • fit: fit⇥
  • afterEach: ae⇥
  • beforeEach: be⇥

Expectations

  • expect: exp⇥
  • expect().toBe: tb⇥
  • expect().toBeCloseTo: tbct⇥
  • expect().toBeDefined: tbd⇥
  • expect().toBeFalsy: tbf⇥
  • expect().toBeGreaterThan: tbgt⇥
  • expect().toBeLessThan: tblt⇥
  • expect().toBeNull: tbn⇥
  • expect().toBeTruthy: tbt⇥
  • expect().toBeUndefined: tbu⇥
  • expect().toContain: tc⇥
  • expect().toEqual: te⇥
  • expect().toHaveBeenCalled: thbc⇥
  • expect().toHaveBeenCalledWith: thbcw⇥
  • expect().toMatch: tm⇥
  • expect().toThrow: tt⇥
  • expect().toThrowError: tte⇥
  • expect().not.toBe: nb⇥
  • expect().not.toBeCloseTo: nct⇥
  • expect().not.toBeDefined: nd⇥
  • expect().not.toBeFalsy: nf⇥
  • expect().not.toBeGreaterThan: ngt⇥
  • expect().not.toBeLessThan: nlt⇥
  • expect().not.toBeNull: nn⇥
  • expect().not.toBeTruthy: nt⇥
  • expect().not.toBeUndefined: nu⇥
  • expect().not.toContain: nc⇥
  • expect().not.toEqual: ne⇥
  • expect().not.toMatch: nm⇥
  • expect().not.toThrow: nt⇥
  • jasmine.any: any⇥
  • jasmine.objectContaining: oc⇥

Spies

  • spyOn: so⇥
  • spyOn.and.callThrough: sct⇥
  • spyOn.and.callFake: scf⇥
  • spyOn.and.returnValue: srv⇥
  • spyOn.and.stub: ss⇥
  • spyOn.and.throwError: ste⇥
  • spy.calls.all: ca⇥
  • spy.calls.allArgs: caa⇥
  • spy.calls.any: ca⇥
  • spy.calls.argsFor: caf⇥
  • spy.calls.count: cc⇥
  • spy.calls.first: cf⇥
  • spy.calls.mostRecent: cmr⇥
  • spy.calls.reset: cr⇥
  • createSpy: cs⇥
  • createSpyObj: cso⇥

Commands

Switch between code and spec

This command will open the spec or source file that has the same path of the active view file. If you're looking at a source file and the package can't find any specs, it'll display a list of possible directories to create a new one.

To run this command, you can use ctrl+./super+. or ctrl+shift+./super+shift+., this last one will open a split view. Also you can select Jasmine: Switch between code and spec from the command palette.

Create spec file

This command is exactly the same as running Jasmine: Switch between code and spec and not finding specs.

It doesn't have a key binding, but you can use jasmine_create_spec as a command name, like this:

{ "keys": ["KEYS"], "command": "jasmine_create_spec", "args": { "split_view": false } }

(legacy) Switch between code and spec

Runs the command from @gja package, found in run_jasmine.py.

If you want to setup a keybinding for it, you can use:

{ "keys": ["KEYS"], "command": "legacy_jasmine_switch" }

Toggle quotes

This command will change the snippets from the current active quotes to it's counterpart.

For example, it will transform this:

describe("Name of the group", function() {

});

to this

describe('Name of the group', function() {

});

If you want to setup a keybinding for it, you can use:

{ "keys": ["KEYS"], "command": "jasmine_toggle_quotes" }

Important!

After each toggle you may need to restart Sublime to the changes to take effect.

Command Settings

There are two possible settings: “javascript { // Ignore directories when searching for files (source and specs) "ignored_directories”: [“.git”, “vendor”, “tmp”, “node_modules”],

// The parent folder name for the spec files
"jasmine_path": "spec",

// Extension used when creating a new spec file. 
"spec_file_extension": ".spec.js"

}

**Remember** that this settings only apply to the new command (they won't affect `(legacy) Switch between code and spec`).

## Syntax

With this package, the editor will recognize `.spec.js` files as having Jasmine syntax. It will highlight `(x)describe` and `(x)it`.

Take into account that any other packages that are using `javascript` as a syntax may not work with `jasmine`, you can always turn it back off by opening a `.spec.js` file and selecting "View > Syntax > Open all with current extension as... > Javascript".

## Installation

### PackageControl

If you have [PackageControl](http://wbond.net/sublime_packages/package_control) installed, you can use it to install the package.

Just type `cmd-shift-p`/`ctrl-shift-p` to bring up the command pallete and pick `Package Control: Install Package` from the dropdown, search and select the package there and you're all set.

### Manual

You can clone the repo in your `/Packages` (*Preferences -> Browse Packages...*) folder and start using/hacking it.

    cd ~/path/to/Packages
    git clone https://github.com/NicoSantangelo/sublime-jasmine.git Jasmine