From 6e6e2ea0ca0be3ebc4e6ef3a9b2ecd6b13ef8c23 Mon Sep 17 00:00:00 2001 From: Samuel Susla Date: Fri, 14 Mar 2025 09:03:12 -0700 Subject: [PATCH] add tests for Fantom.scheduleTask (#50033) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/50033 changelog: [internal] All public APIs should be covered with tests, this diff adds tests for Fantom.scheduleTask. Reviewed By: rubennorte Differential Revision: D71195921 fbshipit-source-id: dc7f0f889b9633b1e641dc8887fd506bc4753fe5 --- .../src/__tests__/Fantom-itest.js | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/packages/react-native-fantom/src/__tests__/Fantom-itest.js b/packages/react-native-fantom/src/__tests__/Fantom-itest.js index 9375af4568b..5d0812c13db 100644 --- a/packages/react-native-fantom/src/__tests__/Fantom-itest.js +++ b/packages/react-native-fantom/src/__tests__/Fantom-itest.js @@ -829,3 +829,35 @@ describe('Fantom', () => { }); }); }); + +describe('scheduleTask', () => { + it('does not run task immediately', () => { + let didRun = false; + + Fantom.scheduleTask(() => { + didRun = true; + }); + + expect(didRun).toBe(false); + + Fantom.runWorkLoop(); + + expect(didRun).toBe(true); + }); + + it('can be scheduled from within another task', () => { + let didInnerTaskRun = false; + + Fantom.scheduleTask(() => { + Fantom.scheduleTask(() => { + didInnerTaskRun = true; + }); + }); + + expect(didInnerTaskRun).toBe(false); + + Fantom.runWorkLoop(); + + expect(didInnerTaskRun).toBe(true); + }); +});