#
# CoffeeScript versions -- adapted from the JS TextMate bundle + additions
# for some jasmine-jquery matchers
#
priority -50

extends coffee

priority -49

snippet des "Describe (coffee)" b
describe '${1:description}', ->
	$0
endsnippet

snippet it "it (coffee)" b
it '${1:description}', ->
	$0
endsnippet

snippet bef "before each (coffee)" b
beforeEach ->
	$0
endsnippet

snippet aft "after each (coffee)" b
afterEach ->
	$0
endsnippet

snippet any "any (coffee)" b
jasmine.any($1)
endsnippet

snippet ru "runs (coffee)" b
runs ->
	$0
endsnippet

snippet wa "waits (coffee)" b
waits($1)
endsnippet

snippet ex "expect (coffee)" b
expect(${1:target})$0
endsnippet

snippet ee "expect to equal (coffee)" b
expect(${1:target}).toEqual(${2:value})
endsnippet

snippet em "expect to match (coffee)" b
expect(${1:target}).toMatch(${2:pattern})
endsnippet

snippet eha "expect to have attribute (coffee)" b
expect(${1:target}).toHaveAttr('${2:attr}'${3:, '${4:value}'})
endsnippet

snippet et "expect to be truthy (coffee)" b
expect(${1:target}).toBeTruthy()
endsnippet

snippet ef "expect to be falsy (coffee)" b
expect(${1:target}).toBeFalsy()
endsnippet

snippet ed "expect to be defined (coffee)" b
expect(${1:target}).toBeDefined()
endsnippet

snippet en "expect to be null (coffee)" b
expect(${1:target}).toBeNull()
endsnippet

snippet ec "expect to contain (coffee)" b
expect(${1:target}).toContain(${2:value})
endsnippet

snippet ev "expect to be visible (coffee)" b
expect(${1:target}).toBeVisible()
endsnippet

snippet eh "expect to be hidden (coffee)" b
expect(${1:target}).toBeHidden()
endsnippet

snippet notx "expect not (coffee)" b
expect(${1:target}).not$0
endsnippet

snippet note "expect not to equal (coffee)" b
expect(${1:target}).not.toEqual(${2:value})
endsnippet

snippet notm "expect not to match (coffee)" b
expect(${1:target}).not.toMatch(${2:pattern})
endsnippet

snippet notha "expect to not have attribute (coffee)" b
expect(${1:target}).not.toHaveAttr('${2:attr}'${3:, '${4:value}'})
endsnippet

snippet nott "expect not to be truthy (coffee)" b
expect(${1:target}).not.toBeTruthy()
endsnippet

snippet notf "expect not to be falsy (coffee)" b
expect(${1:target}).not.toBeFalsy()
endsnippet

snippet notd "expect not to be defined (coffee)" b
expect(${1:target}).not.toBeDefined()
endsnippet

snippet notn "expect not to be null (coffee)" b
expect(${1:target}).not.toBeNull()
endsnippet

snippet notc "expect not to contain (coffee)" b
expect(${1:target}).not.toContain(${2:value})
endsnippet

snippet notv "expect not to be visible (coffee)" b
expect(${1:target}).not.toBeVisible()
endsnippet

snippet noth "expect not to be hidden (coffee)" b
expect(${1:target}).not.toBeHidden()
endsnippet

snippet s "spy on (coffee)" b
spyOn(${1:object}, "${2:method}")$0
endsnippet

snippet sr "spy on and return (coffee)" b
spyOn(${1:object}, "${2:method}").andReturn(${3:arguments})
endsnippet

snippet st "spy on and throw (coffee)" b
spyOn(${1:object}, "${2:method}").andThrow(${3:exception})
endsnippet

snippet sct "spy on and call through (coffee)" b
spyOn(${1:object}, "${2:method}").andCallThrough()
endsnippet

snippet scf "spy on and call fake (coffee)" b
spyOn(${1:object}, "${2:method}").andCallFake(${3:function})
endsnippet

snippet esc "expect was called (coffee)" b
expect(${1:target}).wasCalled()
endsnippet

snippet escw "expect was called with (coffee)" b
expect(${1:target}).wasCalledWith(${2:arguments})
endsnippet

snippet notsc "expect was not called (coffee)" b
expect(${1:target}).wasNotCalled()
endsnippet

snippet noscw "expect was not called with (coffee)" b
expect(${1:target}).wasNotCalledWith(${2:arguments})
endsnippet
