Files
atom/spec/spec-helper.coffee
Nathan Sobo f4aa8daa52 Add window.requireStylesheet
This allows you to synchronously load a stylesheet into the document's
head whenever it is needed.
2012-01-16 20:03:48 -08:00

37 lines
951 B
CoffeeScript

nakedLoad 'jasmine-jquery'
$ = require 'jquery'
_ = require 'underscore'
Native = require 'native'
BindingSet = require 'binding-set'
require 'window'
afterEach ->
(new Native).resetMainMenu()
atom.globalKeymap.reset()
$('#jasmine-content').empty()
$('head style[path]').remove()
window.atom = new (require 'app')
eventPropertiesFromPattern = (pattern) ->
bindingSet = new BindingSet("*", {})
parsedPattern = bindingSet.parseKeyPattern(pattern)
delete parsedPattern.key # key doesn't exist on browser-generated key events
parsedPattern
window.keydownEvent = (pattern, properties={}) ->
$.Event "keydown", _.extend(eventPropertiesFromPattern(pattern), properties)
window.waitsForPromise = (fn) ->
window.waitsFor (moveOn) ->
fn().done(moveOn)
$.fn.resultOfTrigger = (type) ->
event = $.Event(type)
this.trigger(event)
event.result
$.fn.enableKeymap = ->
@on 'keydown', (e) => atom.globalKeymap.handleKeyEvent(e)