From dbcabd397e44cb34ae6ab8dce686395178d78b79 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Wed, 29 Sep 2010 08:25:06 -0700 Subject: [PATCH] Test that show that afterEach and after are not being called when a waitsFor times out. --- spec/suites/SpecRunningSpec.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/spec/suites/SpecRunningSpec.js b/spec/suites/SpecRunningSpec.js index f4b4c65d..a52558f0 100644 --- a/spec/suites/SpecRunningSpec.js +++ b/spec/suites/SpecRunningSpec.js @@ -399,6 +399,39 @@ describe("jasmine spec running", function () { expect(subsequentSpecRan).toEqual(true); }); + it("runs afterEach after timing out", function() { + var afterEach = jasmine.createSpy('afterEach'); + + env.describe('foo', function () { + env.afterEach(afterEach); + + env.it('waitsFor', function () { + this.waitsFor(100, function() { + return false; + }); + }); + }).execute(); + + fakeTimer.tick(500); + expect(afterEach).toHaveBeenCalled(); + }); + + it("runs single-spec after functions after timing out", function() { + var after = jasmine.createSpy('after'); + + env.describe('foo', function () { + env.it('waitsFor', function () { + this.after(after); + this.waitsFor(100, function() { + return false; + }); + }); + }).execute(); + + fakeTimer.tick(500); + expect(after).toHaveBeenCalled(); + }); + describe('with consecutive calls', function () { var foo; beforeEach(function () {