From 159eb0bdf4aec6f0fd3d66e372b9c13312aff6ef Mon Sep 17 00:00:00 2001 From: Moti Zilberman Date: Thu, 10 Feb 2022 04:55:48 -0800 Subject: [PATCH] Normalize platform colors early Summary: Changelog: [Internal] Fixes `normalizeColor` to always return the normalized color. Previously, when normalization was delegated to `normalizeColorObject`, we would return the *original* color object, which is a bug. Reviewed By: javache Differential Revision: D34048595 fbshipit-source-id: 083cbe36be2311ea9cffe8ef61e6a986840aec71 --- .../StyleSheet/__tests__/normalizeColor-test.js | 15 ++++++++++----- Libraries/StyleSheet/normalizeColor.js | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Libraries/StyleSheet/__tests__/normalizeColor-test.js b/Libraries/StyleSheet/__tests__/normalizeColor-test.js index f102511f87..244fff9c38 100644 --- a/Libraries/StyleSheet/__tests__/normalizeColor-test.js +++ b/Libraries/StyleSheet/__tests__/normalizeColor-test.js @@ -37,7 +37,12 @@ describe('iOS', () => { it('should normalize iOS Dynamic colors with named colors', () => { const color = DynamicColorIOS({light: 'black', dark: 'white'}); const normalizedColor = normalizeColor(color); - const expectedColor = {dynamic: {light: 'black', dark: 'white'}}; + const expectedColor = { + dynamic: { + light: normalizeColor('black'), + dark: normalizeColor('white'), + }, + }; expect(normalizedColor).toEqual(expectedColor); }); @@ -51,10 +56,10 @@ describe('iOS', () => { const normalizedColor = normalizeColor(color); const expectedColor = { dynamic: { - light: 'black', - dark: 'white', - highContrastLight: 'red', - highContrastDark: 'blue', + light: normalizeColor('black'), + dark: normalizeColor('white'), + highContrastLight: normalizeColor('red'), + highContrastDark: normalizeColor('blue'), }, }; expect(normalizedColor).toEqual(expectedColor); diff --git a/Libraries/StyleSheet/normalizeColor.js b/Libraries/StyleSheet/normalizeColor.js index 386e41c434..46df7d988c 100755 --- a/Libraries/StyleSheet/normalizeColor.js +++ b/Libraries/StyleSheet/normalizeColor.js @@ -22,7 +22,7 @@ function normalizeColor( const {normalizeColorObject} = require('./PlatformColorValueTypes'); const normalizedColor = normalizeColorObject(color); if (normalizedColor != null) { - return color; + return normalizedColor; } }