From 174b7072b76df38bdb307e7ecaec725bab357509 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Fri, 9 Jan 2015 16:57:53 -0800 Subject: [PATCH] Add specs for Task events Signed-off-by: Nathan Sobo --- spec/fixtures/task-spec-handler.coffee | 1 + spec/task-spec.coffee | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/spec/fixtures/task-spec-handler.coffee b/spec/fixtures/task-spec-handler.coffee index 6f2e4a470..4115246c2 100644 --- a/spec/fixtures/task-spec-handler.coffee +++ b/spec/fixtures/task-spec-handler.coffee @@ -1,2 +1,3 @@ module.exports = -> + emit("some-event", 1, 2, 3) 'hello' diff --git a/spec/task-spec.coffee b/spec/task-spec.coffee index 90463fd19..403e4650d 100644 --- a/spec/task-spec.coffee +++ b/spec/task-spec.coffee @@ -20,3 +20,26 @@ describe "Task", -> expect(handlerResult).toBe 'hello' expect(childProcess.kill).toHaveBeenCalled() expect(processErrored).toBe false + + it "calls listeners registered with ::on when events are emitted in the task", -> + task = new Task(require.resolve('./fixtures/task-spec-handler')) + + eventSpy = jasmine.createSpy('eventSpy') + task.on("some-event", eventSpy) + + waitsFor (done) -> task.start(done) + + runs -> + expect(eventSpy).toHaveBeenCalledWith(1, 2, 3) + + it "unregisters listeners when the Disposable returned by ::on is disposed", -> + task = new Task(require.resolve('./fixtures/task-spec-handler')) + + eventSpy = jasmine.createSpy('eventSpy') + disposable = task.on("some-event", eventSpy) + disposable.dispose() + + waitsFor (done) -> task.start(done) + + runs -> + expect(eventSpy).not.toHaveBeenCalled()