From a1d8870c08a487dce501ddd16106ac6991501c19 Mon Sep 17 00:00:00 2001 From: dajiaohuang Date: Tue, 27 Oct 2026 09:24:57 +0800 Subject: [PATCH] test: cover web provider viewport overflow --- src/__tests__/NativeSafeAreaProvider.web-test.tsx | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/__tests__/NativeSafeAreaProvider.web-test.tsx b/src/__tests__/NativeSafeAreaProvider.web-test.tsx index c34aaf4b..13189dd8 100644 --- a/src/__tests__/NativeSafeAreaProvider.web-test.tsx +++ b/src/__tests__/NativeSafeAreaProvider.web-test.tsx @@ -201,6 +201,15 @@ describe('NativeSafeAreaProvider.web', () => { }); }); + it('does not grow insets when the provider extends beyond every viewport edge', () => { + // A root provider can contain a scrolling document taller and wider than + // the viewport. Negative edge distances must not inflate safe-area values. + rectMock.mockReturnValue(makeRect(-500, -500, 2048, 2690)); + const onInsetsChange = jest.fn(); + mountProvider(onInsetsChange); + expect(lastMetrics(onInsetsChange).insets).toEqual(WINDOW_INSETS); + }); + it('reports window insets and frame for a full-viewport provider', () => { rectMock.mockReturnValue(makeRect(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT)); const onInsetsChange = jest.fn();