From df2bd62327b357f51de1f4028a468ecb956a595b Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 3 Jun 2015 09:47:13 -0700 Subject: [PATCH] Load deprecated packages when including deprecated APIs --- spec/package-manager-spec.coffee | 22 ++++++++++++++++------ src/package-manager.coffee | 2 +- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/spec/package-manager-spec.coffee b/spec/package-manager-spec.coffee index 0cf9b728a..cab063e00 100644 --- a/spec/package-manager-spec.coffee +++ b/spec/package-manager-spec.coffee @@ -57,12 +57,22 @@ describe "PackageManager", -> expect(console.warn.callCount).toBe(1) expect(console.warn.argsForCall[0][0]).toContain("Could not resolve") - it "returns null if the package is deprecated", -> - expect(atom.packages.loadPackage(path.join(__dirname, 'fixtures', 'packages', 'wordcount'))).toBeNull() - expect(atom.packages.isDeprecatedPackage('wordcount', '2.0.9')).toBe true - expect(atom.packages.isDeprecatedPackage('wordcount', '2.1.0')).toBe true - expect(atom.packages.isDeprecatedPackage('wordcount', '2.1.1')).toBe false - expect(atom.packages.getDeprecatedPackageMetadata('wordcount').version).toBe '<=2.1.0' + describe "when the package is deprecated", -> + includeDeprecatedAPIs = null + + beforeEach -> + {includeDeprecatedAPIs} = require('grim') + + afterEach -> + require('grim').includeDeprecatedAPIs = includeDeprecatedAPIs + + it "returns null", -> + require('grim').includeDeprecatedAPIs = false + expect(atom.packages.loadPackage(path.join(__dirname, 'fixtures', 'packages', 'wordcount'))).toBeNull() + expect(atom.packages.isDeprecatedPackage('wordcount', '2.0.9')).toBe true + expect(atom.packages.isDeprecatedPackage('wordcount', '2.1.0')).toBe true + expect(atom.packages.isDeprecatedPackage('wordcount', '2.1.1')).toBe false + expect(atom.packages.getDeprecatedPackageMetadata('wordcount').version).toBe '<=2.1.0' it "invokes ::onDidLoadPackage listeners with the loaded package", -> loadedPackage = null diff --git a/src/package-manager.coffee b/src/package-manager.coffee index 313ffd31d..306e553a8 100644 --- a/src/package-manager.coffee +++ b/src/package-manager.coffee @@ -333,7 +333,7 @@ class PackageManager @handleMetadataError(error, packagePath) return null - unless @isBundledPackage(metadata.name) + unless @isBundledPackage(metadata.name) or Grim.includeDeprecatedAPIs if @isDeprecatedPackage(metadata.name, metadata.version) console.warn "Could not load #{metadata.name}@#{metadata.version} because it uses deprecated APIs that have been removed." return null