From 14969c052239abe6262eac40a44914caaab25354 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Mon, 2 Feb 2015 10:01:56 -0800 Subject: [PATCH] Avoid using private serviceHub in package manager test Signed-off-by: Nathan Sobo --- .../index.coffee | 9 +- .../package.json | 6 +- .../index.coffee | 6 +- .../package.json | 6 +- spec/package-manager-spec.coffee | 87 ++++++------------- 5 files changed, 38 insertions(+), 76 deletions(-) diff --git a/spec/fixtures/packages/package-with-consumed-services/index.coffee b/spec/fixtures/packages/package-with-consumed-services/index.coffee index a6ac7b7e9..ccb893175 100644 --- a/spec/fixtures/packages/package-with-consumed-services/index.coffee +++ b/spec/fixtures/packages/package-with-consumed-services/index.coffee @@ -3,11 +3,8 @@ module.exports = deactivate: -> - handleFirstServiceV3: (service) -> - service('first-service-v3-used') + consumeFirstServiceV3: -> - handleFirstServiceV4: (service) -> - service('first-service-v4-used') + consumeFirstServiceV4: -> - handleSecondService: (service) -> - service('second-service-used') + consumeSecondService: -> diff --git a/spec/fixtures/packages/package-with-consumed-services/package.json b/spec/fixtures/packages/package-with-consumed-services/package.json index 7598683e9..b8a25709f 100644 --- a/spec/fixtures/packages/package-with-consumed-services/package.json +++ b/spec/fixtures/packages/package-with-consumed-services/package.json @@ -4,13 +4,13 @@ "consumedServices": { "service-1": { "versions": { - ">=0.2 <= 0.3.6": "handleFirstServiceV3", - "^0.4.1": "handleFirstServiceV4" + ">=0.2 <=0.3.6": "consumeFirstServiceV3", + "^0.4.1": "consumeFirstServiceV4" } }, "service-2": { "versions": { - "0.5.1 || 0.5.2": "handleSecondService" + "0.2.1 || 0.2.2": "consumeSecondService" } } } diff --git a/spec/fixtures/packages/package-with-provided-services/index.coffee b/spec/fixtures/packages/package-with-provided-services/index.coffee index 5d2350106..b6413b119 100644 --- a/spec/fixtures/packages/package-with-provided-services/index.coffee +++ b/spec/fixtures/packages/package-with-provided-services/index.coffee @@ -3,11 +3,11 @@ module.exports = deactivate: -> - firstServiceV3: -> + provideFirstServiceV3: -> 'first-service-v3' - firstServiceV4: -> + provideFirstServiceV4: -> 'first-service-v4' - secondService: -> + provideSecondService: -> 'second-service' diff --git a/spec/fixtures/packages/package-with-provided-services/package.json b/spec/fixtures/packages/package-with-provided-services/package.json index 66d2bd92a..144fc2dac 100644 --- a/spec/fixtures/packages/package-with-provided-services/package.json +++ b/spec/fixtures/packages/package-with-provided-services/package.json @@ -5,14 +5,14 @@ "service-1": { "description": "The first service", "versions": { - "0.3.1": "firstServiceV3", - "0.4.1": "firstServiceV4" + "0.3.1": "provideFirstServiceV3", + "0.4.1": "provideFirstServiceV4" } }, "service-2": { "description": "The second service", "versions": { - "0.5.1": "secondService" + "0.2.1": "provideSecondService" } } } diff --git a/spec/package-manager-spec.coffee b/spec/package-manager-spec.coffee index f4808c420..c3aaefa15 100644 --- a/spec/package-manager-spec.coffee +++ b/spec/package-manager-spec.coffee @@ -447,80 +447,45 @@ describe "PackageManager", -> expect(atom.config.get 'editor.increaseIndentPattern', scope: ['.source.omg']).toBe '^a' describe "service registration", -> - it "registers the package's service providers", -> - service1V3 = null - atom.packages.serviceHub.consume "service-1", "^0.3", (service) -> - service1V3 = service - new Disposable -> service1V3 = 'deactivated' + it "registers the package's provided and consumed services", -> + consumerModule = require "./fixtures/packages/package-with-consumed-services" + firstServiceV3Disposed = false + firstServiceV4Disposed = false + secondServiceDisposed = false + spyOn(consumerModule, 'consumeFirstServiceV3').andReturn(new Disposable -> firstServiceV3Disposed = true) + spyOn(consumerModule, 'consumeFirstServiceV4').andReturn(new Disposable -> firstServiceV4Disposed = true) + spyOn(consumerModule, 'consumeSecondService').andReturn(new Disposable -> secondServiceDisposed = true) - service1V4 = null - atom.packages.serviceHub.consume "service-1", "^0.4", (service) -> - service1V4 = service - new Disposable -> service1V4 = 'deactivated' - - service2V5 = null - atom.packages.serviceHub.consume "service-2", "^0.5", (service) -> - service2V5 = service - new Disposable -> service2V5 = 'deactivated' - - # Incompatible - service2V6 = null - atom.packages.serviceHub.consume "service-2", "^0.6", (service) -> - service2V6 = service - new Disposable -> service2V6 = 'deactivated' + waitsForPromise -> + atom.packages.activatePackage("package-with-consumed-services") waitsForPromise -> atom.packages.activatePackage("package-with-provided-services") runs -> - expect(service1V3).toBe 'first-service-v3' - expect(service1V4).toBe 'first-service-v4' - expect(service2V5).toBe 'second-service' - expect(service2V6).toBeNull() + expect(consumerModule.consumeFirstServiceV3).toHaveBeenCalledWith('first-service-v3') + expect(consumerModule.consumeFirstServiceV4).toHaveBeenCalledWith('first-service-v4') + expect(consumerModule.consumeSecondService).toHaveBeenCalledWith('second-service') + + consumerModule.consumeFirstServiceV3.reset() + consumerModule.consumeFirstServiceV4.reset() + consumerModule.consumeSecondService.reset() atom.packages.deactivatePackage("package-with-provided-services") - expect(service1V3).toBe 'deactivated' - expect(service1V4).toBe 'deactivated' - expect(service2V5).toBe 'deactivated' - expect(service2V6).toBeNull() - - it "registers the package's service dependencies", -> - waitsForPromise -> - atom.packages.activatePackage("package-with-consumed-services") - - runs -> - service1V3Spy = jasmine.createSpy('service1V3') - service1V4Spy = jasmine.createSpy('service1V4') - service2V5Spy = jasmine.createSpy('service2V5') - service2V6Spy = jasmine.createSpy('service2V6') - - atom.packages.serviceHub.provide "service-1", "0.3.1", service1V3Spy - atom.packages.serviceHub.provide "service-1", "0.4.1", service1V4Spy - atom.packages.serviceHub.provide "service-2", "0.5.1", service2V5Spy - atom.packages.serviceHub.provide "service-2", "0.6.1", service2V5Spy # incompatible - - expect(service1V3Spy).toHaveBeenCalledWith('first-service-v3-used') - expect(service1V4Spy).toHaveBeenCalledWith('first-service-v4-used') - expect(service2V5Spy).toHaveBeenCalledWith('second-service-used') - expect(service2V6Spy).not.toHaveBeenCalled() + expect(firstServiceV3Disposed).toBe true + expect(firstServiceV4Disposed).toBe true + expect(secondServiceDisposed).toBe true atom.packages.deactivatePackage("package-with-consumed-services") - service1V3Spy.reset() - service1V4Spy.reset() - service2V5Spy.reset() - service2V6Spy.reset() + waitsForPromise -> + atom.packages.activatePackage("package-with-provided-services") - atom.packages.serviceHub.provide "service-1", "0.3.1", service1V3Spy - atom.packages.serviceHub.provide "service-1", "0.4.1", service1V4Spy - atom.packages.serviceHub.provide "service-2", "0.5.1", service2V5Spy - atom.packages.serviceHub.provide "service-2", "0.6.1", service2V5Spy # incompatible - - expect(service1V3Spy).not.toHaveBeenCalled() - expect(service1V4Spy).not.toHaveBeenCalled() - expect(service2V5Spy).not.toHaveBeenCalled() - expect(service2V6Spy).not.toHaveBeenCalled() + runs -> + expect(consumerModule.consumeFirstServiceV3).not.toHaveBeenCalled() + expect(consumerModule.consumeFirstServiceV4).not.toHaveBeenCalled() + expect(consumerModule.consumeSecondService).not.toHaveBeenCalled() describe "::deactivatePackage(id)", -> afterEach ->