This is a Fork of the original Sublime Jasmine JS plugin
I am upgrading it to some latest evolution of testing frameworks for Javascript and cleanup stuff I do not consider useful, like double-quoted strings snippets. The README that follows is the original one, last updated in early 2017.
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.
Below is a list of all snippets currently supported on this package and the triggers of each one. The ⇥ means the TAB
key.
describe
: desc⇥xdescribe
: xdesc⇥fdescribe
: fdesc⇥it
: it⇥xit
: xit⇥fit
: fit⇥afterEach
: ae⇥beforeEach
: be⇥
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().toHaveLength
: thl⇥expect().toHaveProperty
: thp⇥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⇥
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⇥
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.
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 } }
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" }
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.
There are two possible settings:
{
// 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
).
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".
If you have PackageControl 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.
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