Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nicosantangelo/sublime-jasmine
Jasmine syntax, snippets and commands
https://github.com/nicosantangelo/sublime-jasmine
jasmine jasmine-syntax python sublime
Last synced: 3 months ago
JSON representation
Jasmine syntax, snippets and commands
- Host: GitHub
- URL: https://github.com/nicosantangelo/sublime-jasmine
- Owner: nicosantangelo
- License: mit
- Created: 2014-06-30T19:10:29.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2017-05-31T14:05:05.000Z (over 7 years ago)
- Last Synced: 2024-10-01T09:43:00.055Z (4 months ago)
- Topics: jasmine, jasmine-syntax, python, sublime
- Language: Python
- Homepage:
- Size: 75.2 KB
- Stars: 24
- Watchers: 4
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Jasmine
Sublime Text package that includes syntax highlighting, snippets and commands for [Jasmine](http://jasmine.github.io) the Javascript BDD framework.
This package is a merge between [Jasmine BDD](https://github.com/caiogondim/jasmine-sublime-snippets) from [@caiogondim](https://github.com/caiogondim) and [Jasmine](https://github.com/gja/sublime-text-2-jasmine) from [@gja](https://github.com/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](https://github.com/gja) package, found in [run_jasmine.py](https://github.com/gja/sublime-text-2-jasmine/blob/master/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