diff --git a/apps/automated/src/ui/layouts/flexbox-layout-tests.ts b/apps/automated/src/ui/layouts/flexbox-layout-tests.ts index 3bbe457cdc..2f562cf4db 100644 --- a/apps/automated/src/ui/layouts/flexbox-layout-tests.ts +++ b/apps/automated/src/ui/layouts/flexbox-layout-tests.ts @@ -1746,3 +1746,41 @@ export const testFlexboxLayout_does_not_crash_with_proxy_view_container = test(a // Omit testDivider_directionRow_verticalBeginning // Omit divider test family, we don't draw dividers + +let activity_liquidglass_flexbox_layout = () => + getViews( + ` + + + `, + ); + +export const testLiquidGlassFlexboxLayout = test(activity_liquidglass_flexbox_layout, noop, ({ flexbox, text1, text2, text3 }) => { + isTopAlignedWith(text1, flexbox); + isLeftAlignedWith(text1, flexbox); + isRightOf(text2, text1); + isTopAlignedWith(text2, flexbox); + isRightOf(text3, text2); + isTopAlignedWith(text3, flexbox); + + equal(width(flexbox), width(text1) + width(text2) + width(text3)); + // Layout helpers report device pixels, so fixed XML DIP sizes must be converted too. + closeEnough(height(flexbox), dipToDp(300)); +}); + +export const testLiquidGlassViews_do_not_crash_when_updating_iosGlassEffect = test(activity_liquidglass_flexbox_layout, noop, ({ root, text1, text2 }) => { + const liquidGlass = text1 as unknown as View; + const liquidGlassContainer = text2 as unknown as View; + + TKUnit.assertTrue(liquidGlass.nativeViewProtected instanceof UIVisualEffectView, 'LiquidGlass should create a UIVisualEffectView host.'); + TKUnit.assertTrue(liquidGlassContainer.nativeViewProtected instanceof UIVisualEffectView, 'LiquidGlassContainer should create a UIVisualEffectView host.'); + + liquidGlass.iosGlassEffect = 'regular'; + liquidGlassContainer.iosGlassEffect = { variant: 'clear', spacing: 12 }; + liquidGlass.iosGlassEffect = 'none'; + liquidGlassContainer.iosGlassEffect = 'none'; + + waitUntilTestElementLayoutIsValid(root); + TKUnit.assertTrue(root.isLoaded, 'Liquid glass view tree should remain loaded after glass effect updates.'); +}); diff --git a/apps/toolbox/src/pages/glass-effects.xml b/apps/toolbox/src/pages/glass-effects.xml index 58601674af..c457ccf70b 100644 --- a/apps/toolbox/src/pages/glass-effects.xml +++ b/apps/toolbox/src/pages/glass-effects.xml @@ -15,13 +15,13 @@