@applicaster/zapp-react-native-utils 13.0.0-rc.8 → 13.0.0-rc.80

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/README.md +0 -10
  2. package/actionsExecutor/ActionExecutor.ts +16 -9
  3. package/actionsExecutor/ActionExecutorContext.tsx +74 -9
  4. package/alertUtils/alert.ts +148 -0
  5. package/alertUtils/index.ts +1 -148
  6. package/analyticsUtils/AnalyticPlayerListener.ts +18 -1
  7. package/analyticsUtils/__tests__/__snapshots__/analyticsManagerNoModule.test.js.snap +9 -9
  8. package/analyticsUtils/currentScreenProperities.ts +6 -4
  9. package/analyticsUtils/helpers/hooks.ts +1 -1
  10. package/appUtils/HooksManager/{Hook.js → Hook.ts} +35 -23
  11. package/appUtils/HooksManager/__tests__/__snapshots__/hook.test.js.snap +10 -8
  12. package/appUtils/HooksManager/__tests__/__snapshots__/hooksManager.test.js.snap +693 -0
  13. package/appUtils/HooksManager/__tests__/hook.test.js +196 -184
  14. package/appUtils/HooksManager/__tests__/hooksManager.test.js +96 -99
  15. package/appUtils/HooksManager/{constants.js → constants.ts} +1 -1
  16. package/appUtils/HooksManager/{index.js → index.ts} +122 -113
  17. package/appUtils/HooksManager/types.ts +119 -0
  18. package/appUtils/RiverFocusManager/index.js +17 -12
  19. package/appUtils/accessibilityManager/index.ts +42 -1
  20. package/appUtils/contextKeysManager/contextResolver.ts +77 -0
  21. package/appUtils/contextKeysManager/index.ts +2 -2
  22. package/appUtils/contextKeysManager/utils/index.ts +2 -1
  23. package/appUtils/focusManager/__tests__/__snapshots__/focusManager.test.js.snap +7 -6
  24. package/appUtils/focusManager/index.ts +100 -74
  25. package/appUtils/focusManager/treeDataStructure/Tree/index.js +25 -3
  26. package/appUtils/focusManager/treeDataStructure/Utils/index.js +1 -3
  27. package/appUtils/focusManager/utils/enums.ts +4 -0
  28. package/appUtils/focusManagerAux/utils/index.ts +4 -3
  29. package/appUtils/{index.js → index.ts} +1 -1
  30. package/appUtils/keyCodes/__tests__/__snapshots__/keyCodes.test.js.snap +2 -2
  31. package/appUtils/keyCodes/__tests__/keyCodes.test.js +4 -4
  32. package/appUtils/keyCodes/{index.js → index.ts} +13 -7
  33. package/appUtils/keyCodes/keys/index.ts +3 -0
  34. package/appUtils/keyCodes/{keys.android.js → keys/keyEventMapper.ts} +0 -19
  35. package/appUtils/keyCodes/keys/keys.android.ts +18 -0
  36. package/appUtils/keyCodes/keys/keys.ios.ts +25 -0
  37. package/appUtils/keyCodes/keys/keys.ts +15 -0
  38. package/appUtils/keyCodes/{keysByPlatform.js → keys/keysByPlatform.ts} +4 -0
  39. package/appUtils/keyCodes/keysByPlatform.ts +8 -0
  40. package/appUtils/keyInputHandler/KeyInputHandler.ts +68 -0
  41. package/appUtils/orientationHelper.ts +11 -13
  42. package/appUtils/platform/const.ts +14 -0
  43. package/appUtils/platform/platformUtils.ts +47 -18
  44. package/appUtils/playerManager/index.ts +1 -1
  45. package/appUtils/playerManager/player.ts +42 -18
  46. package/appUtils/playerManager/playerNative.ts +18 -2
  47. package/appUtils/playerManager/usePlayerControllerSetup.tsx +3 -3
  48. package/arrayUtils/__tests__/__snapshots__/arrayUtils.test.ts.snap +4 -4
  49. package/domUtils/{cookieManager.js → cookieManager.ts} +1 -2
  50. package/equalUtils/__tests__/isEqual/combination.test.ts +263 -0
  51. package/equalUtils/index.ts +49 -30
  52. package/focusManager/FocusManager.ts +11 -1
  53. package/focusManager/index.ts +49 -4
  54. package/functionUtils/__tests__/__snapshots__/functionUtils.test.js.snap +4 -4
  55. package/functionUtils/index.ts +36 -19
  56. package/idleUtils/__tests__/withTimeout$.test.ts +37 -0
  57. package/idleUtils/index.ts +1 -1
  58. package/idleUtils/withTimeout.ts +15 -2
  59. package/logger/const.ts +9 -67
  60. package/manifestUtils/__tests__/createConfig.test.js +16 -16
  61. package/manifestUtils/defaultManifestConfigurations/player.js +8 -0
  62. package/manifestUtils/fonts/index.js +5 -6
  63. package/manifestUtils/sharedConfiguration/screenPicker/__tests__/utils.test.js +304 -0
  64. package/manifestUtils/sharedConfiguration/screenPicker/stylesFields.js +875 -0
  65. package/manifestUtils/sharedConfiguration/screenPicker/utils.js +130 -0
  66. package/modalState/index.ts +1 -5
  67. package/navigationUtils/__tests__/__snapshots__/navigationUtils.test.js.snap +6 -6
  68. package/navigationUtils/__tests__/itemTypes.test.js +2 -2
  69. package/navigationUtils/__tests__/navigationUtils.test.js +2 -2
  70. package/navigationUtils/index.ts +17 -8
  71. package/numberUtils/index.ts +7 -5
  72. package/package.json +5 -10
  73. package/playerUtils/configurationGenerator.ts +8 -0
  74. package/reactHooks/autoscrolling/__tests__/useTrackCurrentAutoScrollingElement.test.ts +1 -1
  75. package/reactHooks/autoscrolling/__tests__/useTrackedView.test.tsx +6 -8
  76. package/reactHooks/autoscrolling/useTrackedView.ts +12 -1
  77. package/reactHooks/cell-click/__tests__/index.test.js +10 -2
  78. package/reactHooks/cell-click/index.ts +7 -1
  79. package/reactHooks/feed/__tests__/useBuildPipesUrl.test.tsx +4 -4
  80. package/reactHooks/feed/__tests__/useFeedLoader.test.tsx +10 -11
  81. package/reactHooks/feed/useFeedLoader.tsx +1 -1
  82. package/reactHooks/feed/usePipesCacheReset.ts +5 -5
  83. package/reactHooks/flatList/__tests__/index.test.tsx +30 -21
  84. package/reactHooks/layout/__tests__/index.test.tsx +10 -10
  85. package/reactHooks/layout/useDimensions/helpers/__tests__/getInitialDimensions.native.test.js +14 -28
  86. package/reactHooks/layout/useDimensions/helpers/__tests__/getInitialDimensions.test.js +1 -1
  87. package/reactHooks/layout/useDimensions/useDimensions.ts +8 -0
  88. package/reactHooks/navigation/__mocks__/useNavigation.ts +3 -0
  89. package/reactHooks/navigation/__tests__/index.test.tsx +6 -21
  90. package/reactHooks/navigation/index.ts +41 -240
  91. package/reactHooks/navigation/useGetBottomTabBarHeight.ts +12 -0
  92. package/reactHooks/navigation/useGetNavBarTopBorderWidth.ts +14 -0
  93. package/reactHooks/navigation/useGetTabBarHeight.ts +10 -0
  94. package/reactHooks/navigation/useIsScreenActive.ts +17 -0
  95. package/reactHooks/navigation/useNavigationPluginData.ts +15 -0
  96. package/reactHooks/navigation/useNavigationType.ts +15 -0
  97. package/reactHooks/navigation/usePathname.ts +4 -0
  98. package/reactHooks/navigation/useProfilerLogging.ts +15 -0
  99. package/reactHooks/navigation/useRoute.ts +100 -0
  100. package/reactHooks/navigation/useUniqueRouteSuffix.ts +41 -0
  101. package/reactHooks/player/TVSeekControlller/ISeekController.ts +32 -0
  102. package/reactHooks/player/TVSeekControlller/LongPressSeekController.ts +71 -0
  103. package/reactHooks/player/TVSeekControlller/TVSeekController.ts +258 -0
  104. package/reactHooks/player/TVSeekControlller/TapSeekController.ts +53 -0
  105. package/reactHooks/player/__tests__/{useAutoSeek.test.tsx → useAutoSeek._test.tsx} +2 -3
  106. package/reactHooks/player/const.ts +0 -4
  107. package/reactHooks/player/index.ts +0 -6
  108. package/reactHooks/state/useRefWithInitialValue.ts +14 -0
  109. package/reactHooks/state/useStateFromSubscribe.ts +23 -0
  110. package/reactHooks/usePluginConfiguration.ts +1 -1
  111. package/reactHooks/useSubscriberFor.ts +4 -3
  112. package/reactUtils/__tests__/__snapshots__/reactUtilsHelpers.test.js.snap +16 -4
  113. package/reactUtils/__tests__/reactUtils.test.js +1 -37
  114. package/reactUtils/__tests__/reactUtilsHelpers.test.js +72 -71
  115. package/reactUtils/createContext/__tests__/__snapshots__/helpers.test.js.snap +13 -79
  116. package/reactUtils/createContext/__tests__/__snapshots__/{index.test.js.snap → index.test.ts.snap} +2 -2
  117. package/reactUtils/createContext/__tests__/__snapshots__/provider.test.js.snap +3 -28
  118. package/reactUtils/createContext/__tests__/__snapshots__/withConsumer.test.js.snap +3 -4
  119. package/reactUtils/createContext/__tests__/__snapshots__/withProvider.test.js.snap +7 -3
  120. package/reactUtils/createContext/__tests__/helpers.test.js +107 -121
  121. package/reactUtils/createContext/__tests__/{index.test.js → index.test.ts} +2 -2
  122. package/reactUtils/createContext/__tests__/provider.test.js +4 -6
  123. package/reactUtils/createContext/__tests__/withConsumer.test.js +12 -12
  124. package/reactUtils/createContext/__tests__/withProvider.test.js +4 -4
  125. package/reactUtils/createContext/helpers.ts +6 -1
  126. package/reactUtils/createContext/index.ts +11 -25
  127. package/reactUtils/index.ts +0 -25
  128. package/screenState/index.ts +24 -10
  129. package/services/js2native.ts +673 -0
  130. package/testUtils/index.tsx +0 -10
  131. package/theme/__mocks__/index.ts +4 -0
  132. package/theme/index.ts +1 -1
  133. package/time/BackgroundTimer.ts +55 -0
  134. package/time/Timer.ts +9 -6
  135. package/types.ts +1 -0
  136. package/zappFrameworkUtils/presentPluginOneTime.ts +2 -3
  137. package/appUtils/keyCodes/keys.ios.js +0 -46
  138. package/reactHooks/player/useAutoSeek.tsx +0 -87
  139. package/reactHooks/player/useSeek.tsx +0 -66
  140. package/reactHooks/player/useTapSeek.tsx +0 -58
  141. package/reactUtils/createContext/__tests__/index-no-react.test.js +0 -27
  142. /package/appUtils/HooksManager/{logger.js → logger.ts} +0 -0
  143. /package/appUtils/{directionHelper.js → directionHelper.ts} +0 -0
  144. /package/appUtils/keyCodes/{androidTVKeys.js → androidTVKeys.ts} +0 -0
  145. /package/appUtils/keyCodes/{keys.web.js → keys/keys.web.ts} +0 -0
  146. /package/appUtils/{localizationsHelper.js → localizationsHelper.ts} +0 -0
  147. /package/domUtils/{logger.js → logger.ts} +0 -0
  148. /package/reactHooks/player/__tests__/{useTapSeek.test.ts → useTapSeek._test.ts} +0 -0
@@ -1,6 +1,5 @@
1
1
  import * as React from "react";
2
- import { renderHook, act } from "@testing-library/react-hooks";
3
- import { render } from "@testing-library/react-native";
2
+ import { renderHook, render, act } from "@testing-library/react-native";
4
3
  import { View } from "react-native";
5
4
 
6
5
  import { useSequentialLoader, useSequentialRenderItem } from "..";
@@ -66,26 +65,28 @@ describe("flatList hooks", () => {
66
65
 
67
66
  expect(result.current.allLoaded).toBe(false);
68
67
 
69
- result.current.renderItem(
70
- ({ onLoadFinished }) => {
71
- onLoadFinished();
72
- },
73
- { index: 1 }
74
- );
68
+ act(() => {
69
+ result.current.renderItem(
70
+ ({ onLoadFinished }) => {
71
+ onLoadFinished();
72
+ },
73
+ { index: 1 }
74
+ );
75
+ });
75
76
 
76
77
  expect(result.current.allLoaded).toBe(true);
77
78
  });
78
79
  });
79
80
 
80
81
  describe("Rendering wrapper", () => {
81
- it("wraps the elements in the View with display: none style", () => {
82
+ it("wraps the elements in the View with display: none style", async () => {
82
83
  const element1 = { id: 1 };
83
84
  const element2 = { id: 2 };
84
85
  const mockData = [element1, element2];
85
86
 
86
87
  const { result } = renderHook(() => useSequentialRenderItem(mockData));
87
88
 
88
- const { getByTestId } = render(
89
+ const res = render(
89
90
  result.current.renderItem(
90
91
  () => {
91
92
  return <View testID={"test"} />;
@@ -94,7 +95,9 @@ describe("flatList hooks", () => {
94
95
  )
95
96
  );
96
97
 
97
- const element = getByTestId("sequential-river-wrapper-1");
98
+ const element = res.root.findByProps({
99
+ testID: "sequential-river-wrapper-1",
100
+ });
98
101
 
99
102
  expect(element.props.style.display).toEqual("none");
100
103
  });
@@ -106,14 +109,16 @@ describe("flatList hooks", () => {
106
109
 
107
110
  const { result } = renderHook(() => useSequentialRenderItem(mockData));
108
111
 
109
- result.current.renderItem(
110
- ({ onLoadFinished }) => {
111
- onLoadFinished();
112
- },
113
- { item: element1, index: 0 }
114
- );
112
+ act(() => {
113
+ result.current.renderItem(
114
+ ({ onLoadFinished }) => {
115
+ onLoadFinished();
116
+ },
117
+ { item: element1, index: 0 }
118
+ );
119
+ });
115
120
 
116
- const { getByTestId } = render(
121
+ const { root } = render(
117
122
  result.current.renderItem(
118
123
  ({ onLoadFinished }) => {
119
124
  onLoadFinished();
@@ -124,7 +129,9 @@ describe("flatList hooks", () => {
124
129
  )
125
130
  );
126
131
 
127
- const element = getByTestId("sequential-river-wrapper-1");
132
+ const element = root.findByProps({
133
+ testID: "sequential-river-wrapper-1",
134
+ });
128
135
 
129
136
  expect(element.props.style.display).toEqual("flex");
130
137
  });
@@ -136,7 +143,7 @@ describe("flatList hooks", () => {
136
143
 
137
144
  const { result } = renderHook(() => useSequentialRenderItem(mockData));
138
145
 
139
- const { getByTestId } = render(
146
+ const { root } = render(
140
147
  result.current.renderItem(
141
148
  ({ onLoadFinished }) => {
142
149
  onLoadFinished();
@@ -147,7 +154,9 @@ describe("flatList hooks", () => {
147
154
  )
148
155
  );
149
156
 
150
- const element = getByTestId("sequential-river-wrapper-1");
157
+ const element = root.findByProps({
158
+ testID: "sequential-river-wrapper-1",
159
+ });
151
160
 
152
161
  expect(element.props.style.display).toEqual("none");
153
162
  });
@@ -14,10 +14,10 @@ const mocked_return_value = (tv) => ({
14
14
  });
15
15
 
16
16
  const platform = "android";
17
- let tv_flag = false;
17
+ let mock_tv_flag = false;
18
18
 
19
19
  ReactNative.Dimensions.get = jest.fn(
20
- (context) => mocked_return_value(tv_flag)[context]
20
+ (context) => mocked_return_value(mock_tv_flag)[context]
21
21
  );
22
22
 
23
23
  const mockRemoveFn = jest.fn();
@@ -43,7 +43,7 @@ jest.mock("react-native-safe-area-context", () => ({
43
43
 
44
44
  jest.mock("../../../reactUtils", () => ({
45
45
  platformSelect: jest.fn((specs) => specs[platform] || specs.default),
46
- isTV: jest.fn(() => tv_flag),
46
+ isTV: jest.fn(() => mock_tv_flag),
47
47
  }));
48
48
 
49
49
  jest.mock("../../navigation", () => ({
@@ -134,20 +134,20 @@ describe("useDimensions", () => {
134
134
 
135
135
  describe("it applies the scale to the width & height if needed", () => {
136
136
  it("applies the scale on TV, and screen context", () => {
137
- tv_flag = true;
138
- const { screen } = mocked_return_value(tv_flag);
137
+ mock_tv_flag = true;
138
+ const { screen } = mocked_return_value(mock_tv_flag);
139
139
  const { dimensions } = testHook("screen");
140
140
 
141
141
  expect(dimensions).toHaveProperty("height", screen.height * screen.scale);
142
142
  expect(dimensions).toHaveProperty("width", screen.width * screen.scale);
143
143
  expect(dimensions).toHaveProperty("scale", 1);
144
144
 
145
- tv_flag = false;
145
+ mock_tv_flag = false;
146
146
  });
147
147
 
148
148
  it("doesn't apply the scale on mobile with screen context", () => {
149
- tv_flag = false;
150
- const { screen } = mocked_return_value(tv_flag);
149
+ mock_tv_flag = false;
150
+ const { screen } = mocked_return_value(mock_tv_flag);
151
151
  const { dimensions } = testHook("screen");
152
152
 
153
153
  expect(dimensions).toHaveProperty("height", screen.height);
@@ -156,8 +156,8 @@ describe("useDimensions", () => {
156
156
  });
157
157
 
158
158
  it("doesn't apply the scale on TV with window context", () => {
159
- tv_flag = true;
160
- const { window } = mocked_return_value(tv_flag);
159
+ mock_tv_flag = true;
160
+ const { window } = mocked_return_value(mock_tv_flag);
161
161
  const { dimensions } = testHook("window");
162
162
 
163
163
  expect(dimensions).toHaveProperty("height", window.height);
@@ -1,25 +1,14 @@
1
1
  import * as ReactNative from "react-native";
2
+ import NativeDeviceInfo from "react-native/Libraries/Utilities/NativeDeviceInfo";
2
3
 
3
- const mockDimensionsGet = jest.fn(
4
- (type) =>
5
- ({
6
- window: { width: 1, height: 1 },
7
- screen: { width: 360, height: 540 },
8
- }[type])
9
- );
4
+ const mockDimensions = {
5
+ window: { width: 1, height: 1 },
6
+ screen: { width: 360, height: 540 },
7
+ };
10
8
 
11
- ReactNative.Dimensions.get = mockDimensionsGet;
12
-
13
- const mockGetConstants = jest.fn().mockReturnValue({
14
- Dimensions: {
15
- window: { width: 360, height: 540 },
16
- screen: { width: 360, height: 540 },
17
- },
18
- });
9
+ const mockDimensionsGet = jest.fn((type) => mockDimensions[type]);
19
10
 
20
- jest.mock("react-native/Libraries/Utilities/NativeDeviceInfo", () => ({
21
- getConstants: mockGetConstants,
22
- }));
11
+ ReactNative.Dimensions.get = mockDimensionsGet;
23
12
 
24
13
  const { Platform, Dimensions } = ReactNative;
25
14
 
@@ -34,27 +23,24 @@ describe("useDimensions > helpers ( native )", () => {
34
23
 
35
24
  it("should call Dimensions.get for window context", () => {
36
25
  getInitialDimensions("window");
37
- expect(Dimensions.get).toBeCalled();
26
+ expect(Dimensions.get).toHaveBeenCalled();
38
27
  });
39
28
 
40
29
  it("should call Dimensions.get for screen context", () => {
41
30
  getInitialDimensions("screen");
42
- expect(Dimensions.get).toBeCalled();
31
+ expect(Dimensions.get).toHaveBeenCalled();
43
32
  });
44
33
 
45
34
  it("should call NativeDeviceInfo.getConstants for ios when width === height", () => {
46
35
  Platform.OS = "ios";
47
36
 
48
- jest.fn().mockReturnValue({
49
- Dimensions: {
50
- window: { width: 1, height: 1 },
51
- screen: { width: 360, height: 540 },
52
- },
53
- });
37
+ const mockGetConstants = jest
38
+ .spyOn(NativeDeviceInfo, "getConstants")
39
+ .mockReturnValue({ Dimensions: mockDimensions });
54
40
 
55
41
  getInitialDimensions("window");
56
42
 
57
- expect(Dimensions.get).toBeCalled();
58
- expect(mockGetConstants).toBeCalled();
43
+ expect(Dimensions.get).toHaveBeenCalled();
44
+ expect(mockGetConstants).toHaveBeenCalled();
59
45
  });
60
46
  });
@@ -5,7 +5,7 @@ const mockDimensionsGet = jest.fn(
5
5
  ({
6
6
  window: { width: 1, height: 1 },
7
7
  screen: { width: 360, height: 540 },
8
- }[type])
8
+ })[type]
9
9
  );
10
10
 
11
11
  ReactNative.Dimensions.get = mockDimensionsGet;
@@ -52,6 +52,14 @@ export const useDimensions: UseDimensions = (
52
52
  ? { fullDimensions }
53
53
  : { ...fullDimensions };
54
54
 
55
+ if (options.updateForInactiveScreens === undefined) {
56
+ options.updateForInactiveScreens = true;
57
+ }
58
+
59
+ if (options.fullDimensions === undefined) {
60
+ options.fullDimensions = false;
61
+ }
62
+
55
63
  const [dimensions, setDimensions] = useState(getInitialDimensions(context));
56
64
  const deviceInfo = useRef(getDeviceInfo(dimensions, appData));
57
65
 
@@ -3,5 +3,8 @@ export const useNavigation = jest.fn(() => ({
3
3
  screenData: {
4
4
  name: "someName",
5
5
  },
6
+ videoModalState: {
7
+ visible: false,
8
+ },
6
9
  currentRoute: "someRoute",
7
10
  }));
@@ -135,10 +135,6 @@ const hookModalWrapper = ({ children }) => (
135
135
  </Provider>
136
136
  );
137
137
 
138
- jest.mock("../../../modalState", () => ({
139
- useModalStore: jest.fn(),
140
- }));
141
-
142
138
  describe("navigation", () => {
143
139
  describe("useRoute", () => {
144
140
  describe("Main stack components", () => {
@@ -314,14 +310,14 @@ describe("navigation", () => {
314
310
  expect(navBarVisible).toBe(false);
315
311
  });
316
312
 
317
- it("returns false if it's secondary nav bar and hide_secondary_level_menu is true", () => {
313
+ it("returns false if it's secondary nav bar and show_secondary_level_menu is false", () => {
318
314
  const navBarVisible = isNavBarVisible(
319
315
  "",
320
316
  {
321
317
  navigations: [
322
318
  {
323
319
  styles: {
324
- hide_secondary_level_menu: true,
320
+ show_secondary_level_menu: false,
325
321
  },
326
322
  },
327
323
  ],
@@ -333,14 +329,14 @@ describe("navigation", () => {
333
329
  expect(navBarVisible).toBe(false);
334
330
  });
335
331
 
336
- it("returns true if it's secondary nav bar and hide_secondary_level_menu is false", () => {
332
+ it("returns true if it's secondary nav bar and show_secondary_level_menu is true", () => {
337
333
  const navBarVisible = isNavBarVisible(
338
334
  "",
339
335
  {
340
336
  navigations: [
341
337
  {
342
338
  styles: {
343
- hide_secondary_level_menu: false,
339
+ show_secondary_level_menu: true,
344
340
  },
345
341
  },
346
342
  ],
@@ -352,14 +348,14 @@ describe("navigation", () => {
352
348
  expect(navBarVisible).toBe(true);
353
349
  });
354
350
 
355
- it("returns true if it's first level menu and hide_secondary_level_menu is true", () => {
351
+ it("returns true if it's first level menu and show_secondary_level_menu is false", () => {
356
352
  const navBarVisible = isNavBarVisible(
357
353
  "",
358
354
  {
359
355
  navigations: [
360
356
  {
361
357
  styles: {
362
- hide_secondary_level_menu: true,
358
+ show_secondary_level_menu: false,
363
359
  },
364
360
  },
365
361
  ],
@@ -370,16 +366,5 @@ describe("navigation", () => {
370
366
 
371
367
  expect(navBarVisible).toBe(true);
372
368
  });
373
-
374
- it("returns true otherwise", () => {
375
- const navBarVisible = isNavBarVisible(
376
- "",
377
- { navigations: [] } as any,
378
- true,
379
- true
380
- );
381
-
382
- expect(navBarVisible).toBe(true);
383
- });
384
369
  });
385
370
  });