Basic test for user keymap loaded event

This commit is contained in:
Ian Olsen
2017-01-05 17:12:02 -08:00
parent 8d212b10d4
commit d35a63aa6a
2 changed files with 24 additions and 3 deletions

View File

@@ -0,0 +1,23 @@
path = require 'path'
temp = require('temp').track()
CSON = require 'season'
fs = require 'fs-plus'
describe "keymap-extensions", ->
beforeEach ->
atom.keymaps.configDirPath = temp.path('atom-spec-keymap-ext')
fs.writeFileSync(atom.keymaps.getUserKeymapPath(), '#')
@userKeymapLoaded = ->
atom.keymaps.onDidLoadUserKeymap => @userKeymapLoaded()
afterEach ->
fs.removeSync(atom.keymaps.configDirPath)
atom.keymaps.destroy()
describe "did-load-user-keymap", ->
it "fires when user keymap is loaded", ->
spyOn(this, 'userKeymapLoaded')
atom.keymaps.loadUserKeymap()
expect(@userKeymapLoaded).toHaveBeenCalled()

View File

@@ -35,10 +35,8 @@ KeymapManager::loadUserKeymap = ->
return unless fs.isFileSync(userKeymapPath)
try
errorLoading = false
@loadKeymap(userKeymapPath, watch: true, suppressErrors: true, priority: 100)
catch error
errorLoading = true
if error.message.indexOf('Unable to watch path') > -1
message = """
Unable to watch path: `#{path.basename(userKeymapPath)}`. Make sure you
@@ -54,7 +52,7 @@ KeymapManager::loadUserKeymap = ->
stack = error.stack
@notificationManager.addFatalError(error.message, {detail, stack, dismissable: true})
@emitter.emit 'did-load-user-keymap' unless errorLoading
@emitter.emit 'did-load-user-keymap'
KeymapManager::subscribeToFileReadFailure = ->