From 8c72bdf7f022ac4164c6d33929bf66091f3feccf Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Mon, 10 Jul 2017 14:13:47 -0400 Subject: [PATCH 1/2] deal with duplicate media queries, fixes #46 --- mincss/processor.py | 2 +- tests/duplicate-media-queries.html | 12 ++++++++++++ tests/test_mincss.py | 13 +++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 tests/duplicate-media-queries.html diff --git a/mincss/processor.py b/mincss/processor.py index de4d924..d856496 100644 --- a/mincss/processor.py +++ b/mincss/processor.py @@ -389,7 +389,7 @@ def commentmatcher(match): for temp_key, old, __ in inner_improvements: assert old in content, old - content = content.replace(old, temp_key) + content = content.replace(old, temp_key, 1) _regex = re.compile('((.*?){(.*?)})', re.DOTALL | re.M) diff --git a/tests/duplicate-media-queries.html b/tests/duplicate-media-queries.html new file mode 100644 index 0000000..611662b --- /dev/null +++ b/tests/duplicate-media-queries.html @@ -0,0 +1,12 @@ + + + + + + +

Hello world

+ + diff --git a/tests/test_mincss.py b/tests/test_mincss.py index 99b8d77..ee462d3 100644 --- a/tests/test_mincss.py +++ b/tests/test_mincss.py @@ -355,3 +355,16 @@ def test_before_after(self): after = p.inlines[0].after ok_('ul li:after { content: "x"; }' not in after) ok_('ol li:before { content: "x"; }' in after) + + def test_duplicate_media_queries(self): + """if two media queries look exactly the same, it shouldn't fail. + + This is kinda hackish but it desperately tries to solve + https://github.com/peterbe/mincss/issues/46 + """ + html = os.path.join(HERE, 'duplicate-media-queries.html') + url = 'file://' + html + p = Processor() + p.process(url) + snippet = '@media screen and (min-width: 600px) {' + eq_(p.inlines[0].after.count(snippet), 2) From 72e0e5e936833315ed1013b92dd47fd486038e5d Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Mon, 10 Jul 2017 14:15:19 -0400 Subject: [PATCH 2/2] bump to version 0.11.3 --- mincss/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mincss/__init__.py b/mincss/__init__.py index 2b3823f..4ad2f68 100644 --- a/mincss/__init__.py +++ b/mincss/__init__.py @@ -1 +1 @@ -__version__ = '0.11.2' +__version__ = '0.11.3'