mirror of
https://github.com/atom/atom.git
synced 2026-01-24 06:18:03 -05:00
Merge pull request #12237 from zertosh/cleanup-activation-hook-subscrtiptions
Cleanup activationHookSubscriptions when deactivating package
This commit is contained in:
@@ -431,6 +431,27 @@ describe "PackageManager", ->
|
||||
runs ->
|
||||
expect(Package.prototype.requireMainModule.callCount).toBe 1
|
||||
|
||||
it "does not double register activation hooks when deactivating and reactivating", ->
|
||||
expect(mainModule.activate.callCount).toBe 0
|
||||
atom.packages.triggerActivationHook('language-fictitious:grammar-used')
|
||||
atom.packages.triggerDeferredActivationHooks()
|
||||
|
||||
waitsForPromise ->
|
||||
promise
|
||||
|
||||
runs ->
|
||||
expect(mainModule.activate.callCount).toBe 1
|
||||
atom.packages.deactivatePackage('package-with-activation-hooks')
|
||||
promise = atom.packages.activatePackage('package-with-activation-hooks')
|
||||
atom.packages.triggerActivationHook('language-fictitious:grammar-used')
|
||||
atom.packages.triggerDeferredActivationHooks()
|
||||
|
||||
waitsForPromise ->
|
||||
promise
|
||||
|
||||
runs ->
|
||||
expect(mainModule.activate.callCount).toBe 2
|
||||
|
||||
it "activates the package immediately when activationHooks is empty", ->
|
||||
mainModule = require './fixtures/packages/package-with-empty-activation-hooks/index'
|
||||
spyOn(mainModule, 'activate').andCallThrough()
|
||||
|
||||
@@ -388,6 +388,7 @@ class Package
|
||||
@activationPromise = null
|
||||
@resolveActivationPromise = null
|
||||
@activationCommandSubscriptions?.dispose()
|
||||
@activationHookSubscriptions?.dispose()
|
||||
@configSchemaRegisteredOnActivate = false
|
||||
@deactivateResources()
|
||||
@deactivateKeymaps()
|
||||
|
||||
Reference in New Issue
Block a user