From 832e82827ba15ad5caf7dde2a5fe49cfc5f7d75f Mon Sep 17 00:00:00 2001 From: lkuchno Date: Tue, 26 May 2026 11:16:35 +0200 Subject: [PATCH 1/5] chore(test):test-tabs-item-icon-ios new test screen and scneario --- .../tests/single-feature-tests/tabs/index.ts | 2 + .../tabs/test-tabs-item-icon-ios/index.tsx | 210 ++++++++++++++++++ .../scenario-description.ts | 12 + .../tabs/test-tabs-item-icon-ios/scenario.md | 109 +++++++++ 4 files changed, 333 insertions(+) create mode 100644 apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/index.tsx create mode 100644 apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario-description.ts create mode 100644 apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md diff --git a/apps/src/tests/single-feature-tests/tabs/index.ts b/apps/src/tests/single-feature-tests/tabs/index.ts index 39584ef9dc..4988d0e420 100644 --- a/apps/src/tests/single-feature-tests/tabs/index.ts +++ b/apps/src/tests/single-feature-tests/tabs/index.ts @@ -18,6 +18,7 @@ import TestTabsSpecialEffectsScrollToTop from './test-tabs-special-effects-scrol import TestTabsTabBarExperimentalUserInterfaceStyle from './test-tabs-tab-bar-experimental-user-interface-style-ios'; import TestTabsLifecycleEvents from './test-tabs-lifecycle-events'; import TestTabsItemTitle from './test-tabs-item-title-ios'; +import TestTabsItemIcon from './test-tabs-item-icon-ios'; const scenarios = { TestTabBottomAccessory, @@ -38,6 +39,7 @@ const scenarios = { TestTabsTabBarExperimentalUserInterfaceStyle, TestTabsLifecycleEvents, TestTabsItemTitle, + TestTabsItemIcon, }; const TabsScenarioGroup: ScenarioGroup = { diff --git a/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/index.tsx b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/index.tsx new file mode 100644 index 0000000000..ec093639cb --- /dev/null +++ b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/index.tsx @@ -0,0 +1,210 @@ +import React from 'react'; +import { StyleSheet, Text, View } from 'react-native'; +import { scenarioDescription } from './scenario-description'; +import { createScenario } from '@apps/tests/shared/helpers'; +import { + TabsContainerWithHostConfigContext, + type TabRouteConfig, + DEFAULT_TAB_ROUTE_OPTIONS, +} from '@apps/shared/gamma/containers/tabs'; +import { Colors } from '@apps/shared/styling'; + +function TintTab() { + return ( + + Template Source (Host Tint) + + Host `tabBarTintColor`:{' '} + GreenDark100{'\n'} + `icon`: templateSource icon.png{'\n'} + `selectedIcon`: templateSource icon_fill.png{'\n'} + `tabBarItemIconColor` is NOT set.{'\n'} + {'\n'} + Selected: filled template image, tinted{' '} + GREEN.{'\n'} + Unselected: Titles and icons render in the system theme color. For the last tab, the icon retains the black color from its source image. + + ); +} + +function OverrideTab() { + return ( + + Selected Icon Color Override + + Host `tabBarTintColor`:{' '} + GreenDark100{'\n'} + `selected.tabBarItemIconColor`:{' '} + RedLight100{'\n'} + `icon`: SF Symbol "star"{'\n'} + `selectedIcon`: SF Symbol "star.fill"{'\n'} + {'\n'} + Selected: filled star, tinted{' '} + RED{'\n'} title on iOS18: GREEN on iOS26: RED{'\n'} + Unselected: Titles and icons render in the system theme color. For the last tab, the icon retains the black color from its source image. + + ); +} + +function XcassetTab() { + return ( + + Xcasset Source (Host Tint) + + Host `tabBarTintColor`:{' '} + GreenDark100{'\n'} + `icon`: Xcasset custom-icon{'\n'} + `selectedIcon`: Xcasset custom-icon-fill{'\n'} + `tabBarItemIconColor` is NOT set.{'\n'} + {'\n'} + Selected: filled template image, tinted{' '} + GREEN.{'\n'} + Unselected: Titles and icons render in the system theme color. For the last tab, the icon retains the black color from its source image. + + ); +} + +function ImageTab() { + return ( + + Image Source (Non-Tintable) + + Host `tabBarTintColor`:{' '} + GreenDark100{'\n'} + `normal.tabBarItemIconColor`:{' '} + BlueDark100{'\n'} + `icon`: imageSource icon.png{'\n'} + `selectedIcon`: imageSource icon_fill.png{'\n'} + {'\n'} + `imageSource` icons render in their original colors and are NOT + affected by `tabBarTintColor` or `tabBarItemIconColor`.{'\n'} + {'\n'} + Selected: filled image in its black color{'\n'}(the host{' '} + green tint is + ignored).{'\n'} + Unselected iOS18: outline icons in BLUE color.{'\n'} + Unselected iOS26: icons in system theme color. + + + ); +} + +const ROUTE_CONFIGS: TabRouteConfig[] = [ + { + name: 'Tint', + Component: TintTab, + options: { + ...DEFAULT_TAB_ROUTE_OPTIONS, + title: 'Tint', + ios: { + icon: { + type: 'templateSource', + templateSource: require('@assets/variableIcons/icon.png'), + }, + selectedIcon: { + type: 'templateSource', + templateSource: require('@assets/variableIcons/icon_fill.png'), + }, + }, + }, + }, + { + name: 'Override', + Component: OverrideTab, + options: { + ...DEFAULT_TAB_ROUTE_OPTIONS, + title: 'Override', + ios: { + icon: { + type: 'sfSymbol', + name: 'star', + }, + selectedIcon: { + type: 'sfSymbol', + name: 'star.fill', + }, + standardAppearance: { + stacked: { + selected: { + tabBarItemIconColor: Colors.RedLight100, + }, + }, + }, + }, + }, + }, + { + name: 'XcassetIcon', + Component: XcassetTab, + options: { + title: 'Xcasset', + ios: { + icon: { + type: 'xcasset', + name: 'custom-icon', + }, + selectedIcon: { + type: 'xcasset', + name: 'custom-icon-fill', + }, + }, + }, + }, + { + name: 'Image', + Component: ImageTab, + options: { + ...DEFAULT_TAB_ROUTE_OPTIONS, + title: 'Image', + ios: { + icon: { + type: 'imageSource', + imageSource: require('@assets/variableIcons/icon.png'), + }, + selectedIcon: { + type: 'imageSource', + imageSource: require('@assets/variableIcons/icon_fill.png'), + }, + standardAppearance: { + stacked: { + normal: { + tabBarItemIconColor: Colors.BlueDark100, + }, + }, + }, + }, + }, + }, +]; + +export function App() { + return ( + + ); +} + +const styles = StyleSheet.create({ + screen: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + padding: 24, + gap: 12, + }, + label: { + fontSize: 17, + fontWeight: '600', + textAlign: 'center', + }, + hint: { + fontSize: 13, + color: Colors.LightOffNavy, + textAlign: 'center', + lineHeight: 20, + }, +}); + +export default createScenario(App, scenarioDescription); diff --git a/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario-description.ts b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario-description.ts new file mode 100644 index 0000000000..6f1e2889ea --- /dev/null +++ b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario-description.ts @@ -0,0 +1,12 @@ +import type { ScenarioDescription } from '@apps/tests/shared/helpers'; + +export const scenarioDescription: ScenarioDescription = { + name: 'Tab Bar Item Icon', + key: 'test-tabs-item-icon-ios', + details: + 'Exercises iOS tab bar item icon props: icon, selectedIcon, host' + + ' tabBarTintColor, and per-tab tabBarItemIconColor override.', + platforms: ['ios'], + e2eCoverage: 'incomplete', + smokeTest: false, +}; diff --git a/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md new file mode 100644 index 0000000000..5e9f47031b --- /dev/null +++ b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md @@ -0,0 +1,109 @@ +# Test Scenario: Tab Bar Item Icon (iOS) + +## Details + +**Description:** Validates iOS tab bar item icon props: `icon` and +`selectedIcon` (different images for selected vs. unselected states), the +host-level `tabBarTintColor`, and the per-tab +`standardAppearance.stacked.selected.tabBarItemIconColor` override that +takes precedence over the host tint. Covers three `PlatformIconIOS` types: +`templateSource` (tintable), `sfSymbol` (tintable), and `imageSource` +(non-tintable). + +**OS test creation version:** iOS 18.6 and iOS 26 + +## E2E test + +No: All observable outcomes are purely visual (icon color, selected vs. +unselected glyph). Detox does not expose tint color or rendered image +attributes of native tab bar items, so automated assertion is not feasible. + +## Prerequisites + +- iOS device or simulator running iOS 18 or later. +- The iPhone in portrait orientation is the primary verification surface (stacked layout). + +## Note + +- **Normal (unselected) state ([iOS26 KI](https://github.com/software-mansion/react-native-screens-labs/discussions/395)):** + On iOS 18 and lower, the host `tabBarTintColor` and any per-tab + `normal.tabBarItemIconColor` apply to unselected tab icons. On iOS 26, + only the selected tab is tinted by `tabBarItemIconColor` / + `tabBarTintColor`; unselected tabs adopt the system theme appearance. +- **`imageSource` icons are non-tintable:** they render in their original + colors regardless of `tabBarTintColor` or `tabBarItemIconColor`. Only + `templateSource` and `sfSymbol` icons are tintable. + +## Steps + +### Host `tabBarTintColor` applies to a tintable selected icon + +1. Launch the app and navigate to the **Tab Bar Item Icon** screen. + +- [ ] Expected: Three tabs are visible in the tab bar: **Template**, + **Override**, **Tint**. The **Template** tab is selected by default. + Its icon is the filled template image (icon_fill.png) tinted + **green** by the host `tabBarTintColor` (GreenDark100). The + **Override** tab shows the outline star SF Symbol (`star`); on iOS 18 + and lower it is **green** (host tint applies to unselected items too, + no per-tab `normal` override is set), on iOS 26+ it uses the system + theme color. The **Tint** tab shows the outline image (icon.png) in + its original colors - it is NOT tinted because `imageSource` icons + are non-tintable. + +--- + +### `icon` vs `selectedIcon` swap + +2. Tap the **Override** tab. + +- [ ] Expected: The **Override** tab's icon swaps from the outline star + (`star`) to the filled star (`star.fill`) - this confirms + `selectedIcon` is rendered only in the selected state. The previously + selected **Template** tab swaps from the filled template image + (icon_fill.png) back to the outline template image (icon.png). + +--- + +### `tabBarItemIconColor` overrides `tabBarTintColor` + +3. With **Override** still selected, observe the selected icon color. + +- [ ] Expected: The filled star is **red** (RedLight100), NOT green. + This confirms that + `standardAppearance.stacked.selected.tabBarItemIconColor` overrides + the host-level `tabBarTintColor`. + +4. Tap the **Template** tab, then tap **Override** again. + +- [ ] Expected: On re-selection the red filled star reappears + immediately with no visual glitch. The **Template** tab once again + shows the green outline template image (iOS 18-) / system-theme + outline template image (iOS 26+). + +--- + +### `imageSource` icons are non-tintable + +5. Tap the **Tint** tab. + +- [ ] Expected: The icon swaps from the outline image (icon.png) to + the filled image (icon_fill.png). Both renders use the original PNG + colors - the host `tabBarTintColor` (green) and the per-tab + `normal.tabBarItemIconColor` (blue) have NO effect on either state. + This confirms `imageSource` icons are not tintable. The same PNG + files used as `templateSource` on the **Template** tab DO get tinted, + proving the difference is the icon type, not the asset. + +--- + +### Stability check + +6. Cycle through all three tabs in order (Template -> Override -> Tint), + then in reverse. + +- [ ] Expected: Each tab swaps between its `icon` and `selectedIcon` + consistently on selection, the correct tint behavior is applied each + time (green host tint for Template, red override for Override's + selected state, no tint for Tint), and no crash, layout freeze, or + visual artifact occurs during rapid cycling. From 1e1c157fc8eb61ed8109cb2607d9ed1305ae39f8 Mon Sep 17 00:00:00 2001 From: lkuchno Date: Wed, 27 May 2026 11:10:50 +0200 Subject: [PATCH 2/5] Update scanario with new naming in e2e section --- .../tabs/test-tabs-item-icon-ios/index.tsx | 4 ++-- .../tabs/test-tabs-item-icon-ios/scenario.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/index.tsx b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/index.tsx index ec093639cb..a0589a2edb 100644 --- a/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/index.tsx +++ b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/index.tsx @@ -30,7 +30,7 @@ function TintTab() { function OverrideTab() { return ( - Selected Icon Color Override + SF Symbol (Tint Color Override) Host `tabBarTintColor`:{' '} GreenDark100{'\n'} @@ -49,7 +49,7 @@ function OverrideTab() { function XcassetTab() { return ( - Xcasset Source (Host Tint) + Xcasset (Host Tint) Host `tabBarTintColor`:{' '} GreenDark100{'\n'} diff --git a/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md index 5e9f47031b..1abff33ec9 100644 --- a/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md +++ b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md @@ -10,11 +10,11 @@ takes precedence over the host tint. Covers three `PlatformIconIOS` types: `templateSource` (tintable), `sfSymbol` (tintable), and `imageSource` (non-tintable). -**OS test creation version:** iOS 18.6 and iOS 26 +**OS test creation version:** iOS 18.6 and iOS 26.5 ## E2E test -No: All observable outcomes are purely visual (icon color, selected vs. +Incomplete: Not automated. All observable outcomes are purely visual (icon color, selected vs. unselected glyph). Detox does not expose tint color or rendered image attributes of native tab bar items, so automated assertion is not feasible. From a0892a4a52d36d9a978c8bb5091189d12cb289fb Mon Sep 17 00:00:00 2001 From: lkuchno Date: Wed, 27 May 2026 11:19:56 +0200 Subject: [PATCH 3/5] change settins for XcassetIcon to use only icon config without selectedIcon --- .../tabs/test-tabs-item-icon-ios/index.tsx | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/index.tsx b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/index.tsx index a0589a2edb..5e6d4e7dfe 100644 --- a/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/index.tsx +++ b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/index.tsx @@ -53,8 +53,7 @@ function XcassetTab() { Host `tabBarTintColor`:{' '} GreenDark100{'\n'} - `icon`: Xcasset custom-icon{'\n'} - `selectedIcon`: Xcasset custom-icon-fill{'\n'} + `icon`: Xcasset custom-icon-fill{'\n'} `tabBarItemIconColor` is NOT set.{'\n'} {'\n'} Selected: filled template image, tinted{' '} @@ -140,10 +139,6 @@ const ROUTE_CONFIGS: TabRouteConfig[] = [ title: 'Xcasset', ios: { icon: { - type: 'xcasset', - name: 'custom-icon', - }, - selectedIcon: { type: 'xcasset', name: 'custom-icon-fill', }, From 923f38fa1c2f2bb0ea1b52ac712b25820908e55c Mon Sep 17 00:00:00 2001 From: lkuchno Date: Wed, 27 May 2026 11:48:31 +0200 Subject: [PATCH 4/5] update scenario after adding new tab --- .../tabs/test-tabs-item-icon-ios/scenario.md | 97 ++++++++++--------- 1 file changed, 53 insertions(+), 44 deletions(-) diff --git a/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md index 1abff33ec9..fb280538da 100644 --- a/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md +++ b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md @@ -6,8 +6,8 @@ `selectedIcon` (different images for selected vs. unselected states), the host-level `tabBarTintColor`, and the per-tab `standardAppearance.stacked.selected.tabBarItemIconColor` override that -takes precedence over the host tint. Covers three `PlatformIconIOS` types: -`templateSource` (tintable), `sfSymbol` (tintable), and `imageSource` +takes precedence over the host tint. Covers four `PlatformIconIOS` types: +`templateSource` (tintable), `sfSymbol` (tintable), `xcasset` (tintable), and `imageSource` (non-tintable). **OS test creation version:** iOS 18.6 and iOS 26.5 @@ -26,13 +26,14 @@ attributes of native tab bar items, so automated assertion is not feasible. ## Note - **Normal (unselected) state ([iOS26 KI](https://github.com/software-mansion/react-native-screens-labs/discussions/395)):** - On iOS 18 and lower, the host `tabBarTintColor` and any per-tab + On iOS 18 and lower, any per-tab `normal.tabBarItemIconColor` apply to unselected tab icons. On iOS 26, - only the selected tab is tinted by `tabBarItemIconColor` / - `tabBarTintColor`; unselected tabs adopt the system theme appearance. + only the selected tab is tinted by `tabBarItemIconColor`; + unselected tabs adopt the system theme appearance. +- `tabBarTintColor` is applied only to selected tab bar item icon and title. - **`imageSource` icons are non-tintable:** they render in their original - colors regardless of `tabBarTintColor` or `tabBarItemIconColor`. Only - `templateSource` and `sfSymbol` icons are tintable. + colors regardless of `tabBarTintColor` or `tabBarItemIconColor`. + `templateSource`, `xcasset` and `sfSymbol` icons are tintable. ## Steps @@ -40,16 +41,13 @@ attributes of native tab bar items, so automated assertion is not feasible. 1. Launch the app and navigate to the **Tab Bar Item Icon** screen. -- [ ] Expected: Three tabs are visible in the tab bar: **Template**, - **Override**, **Tint**. The **Template** tab is selected by default. - Its icon is the filled template image (icon_fill.png) tinted - **green** by the host `tabBarTintColor` (GreenDark100). The - **Override** tab shows the outline star SF Symbol (`star`); on iOS 18 - and lower it is **green** (host tint applies to unselected items too, - no per-tab `normal` override is set), on iOS 26+ it uses the system - theme color. The **Tint** tab shows the outline image (icon.png) in - its original colors - it is NOT tinted because `imageSource` icons - are non-tintable. +- [ ] Expected: Four tabs are visible in the tab bar: **Tint**, + **Override**, **Xcasset**, and **Image**. The **Tint** tab is + selected by default. Its icon is the filled template image + tinted **green** by the host + `tabBarTintColor`. The unselected **Override**, **Xcasset**, and + **Image** tabs render their icons and titles in the system theme + color. --- @@ -57,11 +55,10 @@ attributes of native tab bar items, so automated assertion is not feasible. 2. Tap the **Override** tab. -- [ ] Expected: The **Override** tab's icon swaps from the outline star - (`star`) to the filled star (`star.fill`) - this confirms - `selectedIcon` is rendered only in the selected state. The previously - selected **Template** tab swaps from the filled template image - (icon_fill.png) back to the outline template image (icon.png). +- [ ] Expected: The **Override** tab's icon swaps from the outline + star to the filled star. The + previously selected **Tint** tab swaps from the filled template + image back to the outline template image. --- @@ -69,41 +66,53 @@ attributes of native tab bar items, so automated assertion is not feasible. 3. With **Override** still selected, observe the selected icon color. -- [ ] Expected: The filled star is **red** (RedLight100), NOT green. - This confirms that - `standardAppearance.stacked.selected.tabBarItemIconColor` overrides - the host-level `tabBarTintColor`. +- [ ] Expected: The filled star is **red**, NOT green. + On iOS 18 the selected title is + green (host tint); on iOS 26 the selected title is red (override - it's native + bug KI linked in Notes section). -4. Tap the **Template** tab, then tap **Override** again. +4. Tap the **Tint** tab, then tap **Override** again. - [ ] Expected: On re-selection the red filled star reappears - immediately with no visual glitch. The **Template** tab once again - shows the green outline template image (iOS 18-) / system-theme - outline template image (iOS 26+). + immediately with no visual glitch. The **Tint** tab shows the system-theme + outline template + image. + +--- + +### `xcasset` icon uses host tint, no `selectedIcon` + +5. Tap the **Xcasset** tab. + +- [ ] Expected: The **Xcasset** tab's icon shows the `custom-icon-fill` + xcasset image tinted **green**. Because no `selectedIcon` is configured for this + tab, the same icon asset is used in both selected and unselected + states. The previously selected **Override** tab reverts to the + outline star in system theme color. --- ### `imageSource` icons are non-tintable -5. Tap the **Tint** tab. +6. Tap the **Image** tab. -- [ ] Expected: The icon swaps from the outline image (icon.png) to - the filled image (icon_fill.png). Both renders use the original PNG - colors - the host `tabBarTintColor` (green) and the per-tab - `normal.tabBarItemIconColor` (blue) have NO effect on either state. - This confirms `imageSource` icons are not tintable. The same PNG - files used as `templateSource` on the **Template** tab DO get tinted, - proving the difference is the icon type, not the asset. +- [ ] Expected: The icon swaps from the outline image to + the filled image. Both renders use the original PNG + colors - the host `tabBarTintColor` (green) have NO effect on the + selected icon. On iOS 18, the unselected icon renders in + **blue**; on iOS 26+ it renders in the system theme + color. --- ### Stability check -6. Cycle through all three tabs in order (Template -> Override -> Tint), - then in reverse. +7. Cycle through all four tabs in order + (Tint -> Override -> Xcasset -> Image), then in reverse. - [ ] Expected: Each tab swaps between its `icon` and `selectedIcon` - consistently on selection, the correct tint behavior is applied each - time (green host tint for Template, red override for Override's - selected state, no tint for Tint), and no crash, layout freeze, or - visual artifact occurs during rapid cycling. + (where configured) consistently on selection. The correct tint + behavior is applied each time: green host tint for **Tint** and + **Xcasset**, red override for **Override**'s selected state, and + no tint effect for **Image**. No crash, layout freeze, or visual + artifact occurs during rapid cycling. From c5313619b8a88a725cddcf14fa1bf37cca242248 Mon Sep 17 00:00:00 2001 From: lkuchno <45803783+LKuchno@users.noreply.github.com> Date: Wed, 27 May 2026 12:55:59 +0200 Subject: [PATCH 5/5] Changing expectation about Image tab icon color as its non-tintable Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../tabs/test-tabs-item-icon-ios/scenario.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md index fb280538da..52a3492b8f 100644 --- a/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md +++ b/apps/src/tests/single-feature-tests/tabs/test-tabs-item-icon-ios/scenario.md @@ -45,9 +45,10 @@ attributes of native tab bar items, so automated assertion is not feasible. **Override**, **Xcasset**, and **Image**. The **Tint** tab is selected by default. Its icon is the filled template image tinted **green** by the host - `tabBarTintColor`. The unselected **Override**, **Xcasset**, and - **Image** tabs render their icons and titles in the system theme - color. + `tabBarTintColor`. The unselected **Override** and **Xcasset** + tabs render their icons and titles in the system theme color. The + unselected **Image** tab title renders in the system theme color, + but its icon keeps its original source colors. ---