From 27cb9b60a3399955c8df1405090b81d22be4315e Mon Sep 17 00:00:00 2001 From: Nicholas Jamieson Date: Thu, 17 May 2018 18:41:10 +1000 Subject: [PATCH] fix(TestScheduler): restore run changes upon error --- src/internal/testing/TestScheduler.ts | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/internal/testing/TestScheduler.ts b/src/internal/testing/TestScheduler.ts index 329b3f3319..60474b3078 100644 --- a/src/internal/testing/TestScheduler.ts +++ b/src/internal/testing/TestScheduler.ts @@ -378,14 +378,15 @@ export class TestScheduler extends VirtualTimeScheduler { expectObservable: this.expectObservable.bind(this), expectSubscriptions: this.expectSubscriptions.bind(this), }; - const ret = callback(helpers); - this.flush(); - - TestScheduler.frameTimeFactor = prevFrameTimeFactor; - this.maxFrames = prevMaxFrames; - this.runMode = false; - AsyncScheduler.delegate = undefined; - - return ret; + try { + const ret = callback(helpers); + this.flush(); + return ret; + } finally { + TestScheduler.frameTimeFactor = prevFrameTimeFactor; + this.maxFrames = prevMaxFrames; + this.runMode = false; + AsyncScheduler.delegate = undefined; + } } }