aboutsummaryrefslogtreecommitdiff
path: root/atom/packages/vim-mode/spec/spec-helper.coffee
diff options
context:
space:
mode:
authorBen Beltran <ben@nsovocal.com>2019-03-14 23:19:58 +0100
committerBen Beltran <ben@nsovocal.com>2019-03-14 23:19:58 +0100
commitb009b50e81b6c1d0d691505b5f5c0418f559bfc0 (patch)
tree5fae800e76219eba28634cb236565f9b4bb7a2f7 /atom/packages/vim-mode/spec/spec-helper.coffee
parent4efcafab7f0aa454f9ebe767133654bc9f44e12c (diff)
Remove Atom config
Diffstat (limited to 'atom/packages/vim-mode/spec/spec-helper.coffee')
-rw-r--r--atom/packages/vim-mode/spec/spec-helper.coffee76
1 files changed, 0 insertions, 76 deletions
diff --git a/atom/packages/vim-mode/spec/spec-helper.coffee b/atom/packages/vim-mode/spec/spec-helper.coffee
deleted file mode 100644
index 7cff2fc..0000000
--- a/atom/packages/vim-mode/spec/spec-helper.coffee
+++ /dev/null
@@ -1,76 +0,0 @@
-VimState = require '../lib/vim-state'
-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
-
- waitsForPromise ->
- atom.project.open().then (e) ->
- textEditor = e
-
- runs ->
- element = document.createElement("atom-text-editor")
- element.setModel(textEditor)
- element.classList.add('vim-mode')
- 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) ->
- wrapper = document.createElement('div')
- wrapper.className = platform
- wrapper.appendChild(editorElement)
-
-unmockPlatform = (editorElement) ->
- editorElement.parentNode.removeChild(editorElement)
-
-dispatchKeyboardEvent = (target, eventArgs...) ->
- e = document.createEvent('KeyboardEvent')
- e.initKeyboardEvent(eventArgs...)
- # 0 is the default, and it's valid ASCII, but it's wrong.
- Object.defineProperty(e, 'keyCode', get: -> undefined) if e.keyCode is 0
- target.dispatchEvent e
-
-dispatchTextEvent = (target, eventArgs...) ->
- e = document.createEvent('TextEvent')
- e.initTextEvent(eventArgs...)
- target.dispatchEvent e
-
-keydown = (key, {element, ctrl, shift, alt, meta, raw}={}) ->
- key = "U+#{key.charCodeAt(0).toString(16)}" unless key is 'escape' or raw?
- element ||= document.activeElement
- eventArgs = [
- true, # bubbles
- true, # cancelable
- null, # view
- key, # key
- 0, # location
- ctrl, alt, shift, meta
- ]
-
- canceled = not dispatchKeyboardEvent(element, 'keydown', eventArgs...)
- dispatchKeyboardEvent(element, 'keypress', eventArgs...)
- if not canceled
- if dispatchTextEvent(element, 'textInput', eventArgs...)
- element.value += key
- dispatchKeyboardEvent(element, 'keyup', eventArgs...)
-
-module.exports = {keydown, getEditorElement, mockPlatform, unmockPlatform}