From 29146fe5bcdff559a204d38b0b3da4798f923b92 Mon Sep 17 00:00:00 2001 From: Giuseppe Gurgone Date: Sat, 1 Jun 2019 18:21:39 +0200 Subject: [PATCH] [fix] StyleSheet group sorting Close #1356 --- .../__snapshots__/createOrderedCSSStyleSheet-test.js.snap | 8 +++++++- .../__tests__/createOrderedCSSStyleSheet-test.js | 3 +++ .../src/exports/StyleSheet/createOrderedCSSStyleSheet.js | 4 ++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/react-native-web/src/exports/StyleSheet/__tests__/__snapshots__/createOrderedCSSStyleSheet-test.js.snap b/packages/react-native-web/src/exports/StyleSheet/__tests__/__snapshots__/createOrderedCSSStyleSheet-test.js.snap index 5b07463d..b227a2ae 100644 --- a/packages/react-native-web/src/exports/StyleSheet/__tests__/__snapshots__/createOrderedCSSStyleSheet-test.js.snap +++ b/packages/react-native-web/src/exports/StyleSheet/__tests__/__snapshots__/createOrderedCSSStyleSheet-test.js.snap @@ -24,7 +24,13 @@ exports[`createOrderedCSSStyleSheet #insert insertion order for different groups .four-2 {} [stylesheet-group=\\"9.9\\"]{} .nine-1 {} -.nine-2 {}" +.nine-2 {} +[stylesheet-group=\\"10\\"]{} +.ten {} +[stylesheet-group=\\"20\\"]{} +.twenty {} +[stylesheet-group=\\"20.2\\"]{} +.twenty-point2 {}" `; exports[`createOrderedCSSStyleSheet #insert insertion order for same group 1`] = `""`; diff --git a/packages/react-native-web/src/exports/StyleSheet/__tests__/createOrderedCSSStyleSheet-test.js b/packages/react-native-web/src/exports/StyleSheet/__tests__/createOrderedCSSStyleSheet-test.js index ba986710..548d0ffe 100644 --- a/packages/react-native-web/src/exports/StyleSheet/__tests__/createOrderedCSSStyleSheet-test.js +++ b/packages/react-native-web/src/exports/StyleSheet/__tests__/createOrderedCSSStyleSheet-test.js @@ -54,6 +54,9 @@ describe('createOrderedCSSStyleSheet', () => { sheet.insert('.two {}', 2.2); sheet.insert('.four-1 {}', 4); sheet.insert('.four-2 {}', 4); + sheet.insert('.twenty {}', 20); + sheet.insert('.ten {}', 10); + sheet.insert('.twenty-point2 {}', 20.2); expect(sheet.getTextContent()).toMatchSnapshot(); }); diff --git a/packages/react-native-web/src/exports/StyleSheet/createOrderedCSSStyleSheet.js b/packages/react-native-web/src/exports/StyleSheet/createOrderedCSSStyleSheet.js index 6b08b6a0..f72c2175 100644 --- a/packages/react-native-web/src/exports/StyleSheet/createOrderedCSSStyleSheet.js +++ b/packages/react-native-web/src/exports/StyleSheet/createOrderedCSSStyleSheet.js @@ -148,8 +148,8 @@ function decodeGroupRule(cssRule) { function getOrderedGroups(obj: { [key: number]: any }) { return Object.keys(obj) - .sort() - .map(k => Number(k)); + .map(Number) + .sort((a, b) => (a > b ? 1 : -1)); } const pattern = /\s*([,])\s*/g;