From 61db19cfb813e44a9af9cf0aaf15e9188dbdd982 Mon Sep 17 00:00:00 2001 From: jsnanigans Date: Sun, 18 Mar 2018 13:05:15 +0100 Subject: [PATCH] Check if selector starts with integer beore adding it --- __tests__/purgecssDefault.test.js | 30 ++++++++++++++++++++++++++++++ src/index.js | 3 ++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/__tests__/purgecssDefault.test.js b/__tests__/purgecssDefault.test.js index 76bc448c..714c4373 100644 --- a/__tests__/purgecssDefault.test.js +++ b/__tests__/purgecssDefault.test.js @@ -308,6 +308,36 @@ describe('purge methods with files and default extractor', () => { expect(purgecssResult.includes(`src: url('xxx')`)).toBe(false) }) }) + + describe('keep keyframe decimals', () => { + let purgecssResult + beforeAll(() => { + purgecssResult = new Purgecss({ + content: [ + { + raw: '
', + extension: 'html' + } + ], + css: [ + { + raw: ` + @keyframes xxx { + 0% {opacity: 0;} + 99.9% {opacity: 1;} + } + .xx { animation: xxx 200ms linear both } + ` + } + ], + keyframes: false + }).purge()[0].css + // console.log(purgecssResult) + }) + it('keeps `99.9%`', () => { + expect(purgecssResult.includes('99.9%')).toBe(true) + }) + }) }) describe('purge methods with raw content and default extractor', () => { diff --git a/src/index.js b/src/index.js index 2107f9a3..23b9767f 100644 --- a/src/index.js +++ b/src/index.js @@ -283,7 +283,8 @@ class Purgecss { for (const { type, value } of selector.nodes) { if ( SELECTOR_STANDARD_TYPES.includes(type) && - typeof value !== 'undefined' + typeof value !== 'undefined' && + /^\d/g.test(value) === false ) { selectorsInRule.push(value) } else if (