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'