From 5ba5309ca4dfafa687e78722580d27b33a0119e7 Mon Sep 17 00:00:00 2001 From: Brian Vaughn Date: Fri, 30 Aug 2019 14:59:22 -0700 Subject: [PATCH] Simplified tearing test case slightly --- .../useSubscription-test.internal.js | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/packages/use-subscription/src/__tests__/useSubscription-test.internal.js b/packages/use-subscription/src/__tests__/useSubscription-test.internal.js index 0555fc55472e1..891a80ceb31d8 100644 --- a/packages/use-subscription/src/__tests__/useSubscription-test.internal.js +++ b/packages/use-subscription/src/__tests__/useSubscription-test.internal.js @@ -602,28 +602,22 @@ describe('useSubscription', () => { // This update will be eagerly evaluated, // so the tearing case this test is guarding against would not happen. mutate('B'); - expect(Scheduler).toFlushAndYieldThrough(['render:first:B']); - mutate('C'); - expect(Scheduler).toFlushAndYield([ - 'render:second:B', - 'render:first:C', - 'render:second:C', - ]); + expect(Scheduler).toFlushAndYield(['render:first:B', 'render:second:B']); // No more pending updates jest.runAllTimers(); - // Partial update "C" -> "D" - // Interrupt with a second mutation "D" -> "E". + // Partial update "B" -> "C" + // Interrupt with a second mutation "C" -> "D". // This update will not be eagerly evaluated, // but useSubscription() should eagerly close over the updated value to avoid tearing. + mutate('C'); + expect(Scheduler).toFlushAndYieldThrough(['render:first:C']); mutate('D'); - expect(Scheduler).toFlushAndYieldThrough(['render:first:D']); - mutate('E'); expect(Scheduler).toFlushAndYield([ + 'render:second:C', + 'render:first:D', 'render:second:D', - 'render:first:E', - 'render:second:E', ]); // No more pending updates