From e7f15d06e4632eeee2d51cf827921a1c0a058b28 Mon Sep 17 00:00:00 2001 From: Machiste Quintana Date: Sun, 10 Jan 2016 09:32:51 -0500 Subject: [PATCH 1/3] :white_check_mark: Add failing spec for disabling an already disabled package --- spec/package-manager-spec.coffee | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/spec/package-manager-spec.coffee b/spec/package-manager-spec.coffee index e6848ef03..3099684b1 100644 --- a/spec/package-manager-spec.coffee +++ b/spec/package-manager-spec.coffee @@ -1026,6 +1026,16 @@ describe "PackageManager", -> expect(atom.packages.enablePackage("this-doesnt-exist")).toBeNull() expect(console.warn.callCount).toBe 1 + fit "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 From 78543a7a34d0197576849de26217f7dccf895d6b Mon Sep 17 00:00:00 2001 From: Machiste Quintana Date: Sun, 10 Jan 2016 09:38:12 -0500 Subject: [PATCH 2/3] Only disable a package if it isn't already disabled --- src/package-manager.coffee | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/package-manager.coffee b/src/package-manager.coffee index 6772178af..1ecdc5448 100644 --- a/src/package-manager.coffee +++ b/src/package-manager.coffee @@ -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? From 088b32f9d5f583724391bb748d2a5f294f3d9d13 Mon Sep 17 00:00:00 2001 From: Machiste Quintana Date: Sun, 10 Jan 2016 09:39:09 -0500 Subject: [PATCH 3/3] Unfocus spec --- spec/package-manager-spec.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/package-manager-spec.coffee b/spec/package-manager-spec.coffee index 3099684b1..46d1d11ee 100644 --- a/spec/package-manager-spec.coffee +++ b/spec/package-manager-spec.coffee @@ -1026,7 +1026,7 @@ describe "PackageManager", -> expect(atom.packages.enablePackage("this-doesnt-exist")).toBeNull() expect(console.warn.callCount).toBe 1 - fit "does not disable an already disabled package", -> + it "does not disable an already disabled package", -> packageName = 'package-with-main' atom.config.pushAtKeyPath('core.disabledPackages', packageName) atom.packages.observeDisabledPackages()