Merge pull request #10361 from atom/mq-disable-package

Only disable a package if it isn't already disabled
This commit is contained in:
Josh Abernathy
2016-01-13 09:49:12 -05:00
2 changed files with 14 additions and 1 deletions

View File

@@ -1026,6 +1026,16 @@ describe "PackageManager", ->
expect(atom.packages.enablePackage("this-doesnt-exist")).toBeNull()
expect(console.warn.callCount).toBe 1
it "does not disable an already disabled package", ->
packageName = 'package-with-main'
atom.config.pushAtKeyPath('core.disabledPackages', packageName)
atom.packages.observeDisabledPackages()
expect(atom.config.get('core.disabledPackages')).toContain packageName
atom.packages.disablePackage(packageName)
packagesDisabled = atom.config.get('core.disabledPackages').filter((pack) -> pack is packageName)
expect(packagesDisabled.length).toEqual 1
describe "with themes", ->
didChangeActiveThemesHandler = null

View File

@@ -199,7 +199,10 @@ class PackageManager
# Returns the {Package} that was disabled or null if it isn't loaded.
disablePackage: (name) ->
pack = @loadPackage(name)
pack?.disable()
unless @isPackageDisabled(name)
pack?.disable()
pack
# Public: Is the package with the given name disabled?