]> git.r.bdr.sh - rbdr/dotfiles/blobdiff - atom/packages/vim-mode/spec/spec-helper.coffee
Adds atom packages
[rbdr/dotfiles] / atom / packages / vim-mode / spec / spec-helper.coffee
index 88ba4b26588f59566f5fc5d22a5da5861d5e602a..7cff2fc8f22f31eedc075331277b996bbddd977f 100644 (file)
@@ -3,8 +3,13 @@ GlobalVimState = require '../lib/global-vim-state'
 VimMode  = require '../lib/vim-mode'
 StatusBarManager = require '../lib/status-bar-manager'
 
+[globalVimState, statusBarManager] = []
+
 beforeEach ->
   atom.workspace ||= {}
+  statusBarManager = null
+  globalVimState = null
+  spyOn(atom, 'beep')
 
 getEditorElement = (callback) ->
   textEditor = null
@@ -17,11 +22,16 @@ getEditorElement = (callback) ->
     element = document.createElement("atom-text-editor")
     element.setModel(textEditor)
     element.classList.add('vim-mode')
-    element.vimState = new VimState(element, new StatusBarManager, new GlobalVimState)
+    statusBarManager ?= new StatusBarManager
+    globalVimState ?= new GlobalVimState
+    element.vimState = new VimState(element, statusBarManager, globalVimState)
 
     element.addEventListener "keydown", (e) ->
       atom.keymaps.handleKeyboardEvent(e)
 
+    # mock parent element for the text editor
+    document.createElement('html').appendChild(atom.views.getView(textEditor))
+
     callback(element)
 
 mockPlatform = (editorElement, platform) ->