Allow autocomplete package to be deactivated

This commit is contained in:
Kevin Sawicki
2013-06-12 11:40:49 -07:00
parent 04c5e9fa42
commit f870dc7b72
2 changed files with 19 additions and 1 deletions

View File

@@ -2,8 +2,15 @@ AutocompleteView = require './autocomplete-view'
module.exports =
autoCompleteViews: []
editorSubscription: null
activate: ->
rootView.eachEditor (editor) =>
@editorSubscription = rootView.eachEditor (editor) =>
if editor.attached and not editor.mini
@autoCompleteViews.push new AutocompleteView(editor)
deactivate: ->
@editorSubscription?.off()
@editorSubscription = null
@autoCompleteViews.forEach (autoCompleteView) -> autoCompleteView.remove()
@autoCompleteViews = []

View File

@@ -33,6 +33,17 @@ describe "Autocomplete", ->
rightEditor.trigger 'autocomplete:attach'
expect(rightEditor.find('.autocomplete')).toExist()
describe "@deactivate()", ->
it "removes all autocomplete views and doesn't create new ones when new editors are opened", ->
atom.activatePackage('autocomplete')
rootView.getActiveView().trigger "autocomplete:attach"
expect(rootView.getActiveView().find('.autocomplete')).toExist()
atom.deactivatePackage('autocomplete')
expect(rootView.getActiveView().find('.autocomplete')).not.toExist()
rootView.getActiveView().splitRight()
rootView.getActiveView().trigger "autocomplete:attach"
expect(rootView.getActiveView().find('.autocomplete')).not.toExist()
describe "AutocompleteView", ->
autocomplete = null
editor = null