@@ -122,41 +122,41 @@ def test_css_absolute_filter(self):
122
122
from compressor .filters .css_default import CssAbsoluteFilter
123
123
filename = os .path .join (settings .MEDIA_ROOT , 'css/url/test.css' )
124
124
content = "p { background: url(http://github.com/'../../images/image.gif') }"
125
- output = "p { background: url('http://github.com/%simages/image.gif') }" % settings .MEDIA_URL
125
+ output = "p { background: url('http://github.com/%simages/image.gif%3Cspan%20class=%22x%20x-first%20x-last%22%3E?275088b9bcf0%3C/span%3E') }" % settings .MEDIA_URL
126
126
filter = CssAbsoluteFilter (content )
127
127
self .assertEqual (output , filter .input (filename = filename ))
128
128
settings .MEDIA_URL = 'http://media.example.com/'
129
129
filename = os .path .join (settings .MEDIA_ROOT , 'css/url/test.css' )
130
- output = "p { background: url('http://github.com/%simages/image.gif') }" % settings .MEDIA_URL
130
+ output = "p { background: url('http://github.com/%simages/image.gif%3Cspan%20class=%22x%20x-first%20x-last%22%3E?275088b9bcf0%3C/span%3E') }" % settings .MEDIA_URL
131
131
self .assertEqual (output , filter .input (filename = filename ))
132
132
133
133
def test_css_absolute_filter_https (self ):
134
134
from compressor .filters .css_default import CssAbsoluteFilter
135
135
filename = os .path .join (settings .MEDIA_ROOT , 'css/url/test.css' )
136
136
content = "p { background: url(http://github.com/'../../images/image.gif') }"
137
- output = "p { background: url('http://github.com/%simages/image.gif') }" % settings .MEDIA_URL
137
+ output = "p { background: url('http://github.com/%simages/image.gif%3Cspan%20class=%22x%20x-first%20x-last%22%3E?275088b9bcf0%3C/span%3E') }" % settings .MEDIA_URL
138
138
filter = CssAbsoluteFilter (content )
139
139
self .assertEqual (output , filter .input (filename = filename ))
140
140
settings .MEDIA_URL = 'https://media.example.com/'
141
141
filename = os .path .join (settings .MEDIA_ROOT , 'css/url/test.css' )
142
- output = "p { background: url('http://github.com/%simages/image.gif') }" % settings .MEDIA_URL
142
+ output = "p { background: url('http://github.com/%simages/image.gif%3Cspan%20class=%22x%20x-first%20x-last%22%3E?275088b9bcf0%3C/span%3E') }" % settings .MEDIA_URL
143
143
self .assertEqual (output , filter .input (filename = filename ))
144
144
145
145
def test_css_absolute_filter_relative_path (self ):
146
146
from compressor .filters .css_default import CssAbsoluteFilter
147
147
filename = os .path .join (django_settings .TEST_DIR , 'whatever' , '..' , 'media' , 'whatever/../css/url/test.css' )
148
148
content = "p { background: url(http://github.com/'../../images/image.gif') }"
149
- output = "p { background: url('http://github.com/%simages/image.gif') }" % settings .MEDIA_URL
149
+ output = "p { background: url('http://github.com/%simages/image.gif%3Cspan%20class=%22x%20x-first%20x-last%22%3E?275088b9bcf0%3C/span%3E') }" % settings .MEDIA_URL
150
150
filter = CssAbsoluteFilter (content )
151
151
self .assertEqual (output , filter .input (filename = filename ))
152
152
settings .MEDIA_URL = 'https://media.example.com/'
153
- output = "p { background: url('http://github.com/%simages/image.gif') }" % settings .MEDIA_URL
153
+ output = "p { background: url('http://github.com/%simages/image.gif%3Cspan%20class=%22x%20x-first%20x-last%22%3E?275088b9bcf0%3C/span%3E') }" % settings .MEDIA_URL
154
154
self .assertEqual (output , filter .input (filename = filename ))
155
155
156
156
157
157
def test_css_hunks (self ):
158
- out = [u"p { background: url('http://github.com/media/images/test.png'); }\n p { background: url('http://github.com/media/images/test.png'); }\n p { background: url('http://github.com/media/images/test.png'); }\n p { background: url('http://github.com/media/images/test.png'); }\n " ,
159
- u"p { background: url('http://github.com/media/images/test.png'); }\n p { background: url('http://github.com/media/images/test.png'); }\n p { background: url('http://github.com/media/images/test.png'); }\n p { background: url('http://github.com/media/images/test.png'); }\n " ,
158
+ out = [u"p { background: url('http://github.com/media/images/test.png%3Cspan%20class=%22x%20x-first%20x-last%22%3E?86ea855a37ed%3C/span%3E'); }\n p { background: url('http://github.com/media/images/test.png%3Cspan%20class=%22x%20x-first%20x-last%22%3E?86ea855a37ed%3C/span%3E'); }\n p { background: url('http://github.com/media/images/test.png%3Cspan%20class=%22x%20x-first%20x-last%22%3E?86ea855a37ed%3C/span%3E'); }\n p { background: url('http://github.com/media/images/test.png%3Cspan%20class=%22x%20x-first%20x-last%22%3E?86ea855a37ed%3C/span%3E'); }\n " ,
159
+ u"p { background: url('http://github.com/media/images/test.png%3Cspan%20class=%22x%20x-first%20x-last%22%3E?86ea855a37ed%3C/span%3E'); }\n p { background: url('http://github.com/media/images/test.png%3Cspan%20class=%22x%20x-first%20x-last%22%3E?86ea855a37ed%3C/span%3E'); }\n p { background: url('http://github.com/media/images/test.png%3Cspan%20class=%22x%20x-first%20x-last%22%3E?86ea855a37ed%3C/span%3E'); }\n p { background: url('http://github.com/media/images/test.png%3Cspan%20class=%22x%20x-first%20x-last%22%3E?86ea855a37ed%3C/span%3E'); }\n " ,
160
160
]
161
161
self .assertEqual (out , self .cssNode .hunks )
162
162
@@ -172,7 +172,7 @@ def setUp(self):
172
172
self .cssNode = CssCompressor (self .css )
173
173
174
174
def test_data_uris (self ):
175
- out = [u'.add { background-image: url(http://github.com/"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJvSURBVDjLpZPrS5NhGIf9W7YvBYOkhlkoqCklWChv2WyKik7blnNris72bi6dus0DLZ0TDxW1odtopDs4D8MDZuLU0kXq61CijSIIasOvv94VTUfLiB74fXngup7nvrnvJABJ/5PfLnTTdcwOj4RsdYmo5glBWP6iOtzwvIKSWstI0Wgx80SBblpKtE9KQs/We7EaWoT/8wbWP61gMmCH0lMDvokT4j25TiQU/ITFkek9Ow6+7WH2gwsmahCPdwyw75uw9HEO2gUZSkfyI9zBPCJOoJ2SMmg46N61YO/rNoa39Xi41oFuXysMfh36/Fp0b7bAfWAH6RGi0HglWNCbzYgJaFjRv6zGuy+b9It96N3SQvNKiV9HvSaDfFEIxXItnPs23BzJQd6DDEVM0OKsoVwBG/1VMzpXVWhbkUM2K4oJBDYuGmbKIJ0qxsAbHfRLzbjcnUbFBIpx/qH3vQv9b3U03IQ/HfFkERTzfFj8w8jSpR7GBE123uFEYAzaDRIqX/2JAtJbDat/COkd7CNBva2cMvq0MGxp0PRSCPF8BXjWG3FgNHc9XPT71Ojy3sMFdfJRCeKxEsVtKwFHwALZfCUk3tIfNR8XiJwc1LmL4dg141JPKtj3WUdNFJqLGFVPC4OkR4BxajTWsChY64wmCnMxsWPCHcutKBxMVp5mxA1S+aMComToaqTRUQknLTH62kHOVEE+VQnjahscNCy0cMBWsSI0TCQcZc5ALkEYckL5A5noWSBhfm2AecMAjbcRWV0pUTh0HE64TNf0mczcnnQyu/MilaFJCae1nw2fbz1DnVOxyGTlKeZft/Ff8x1BRssfACjTwQAAAABJRU5ErkJggg=="); }\n .python { background-image: url(http://github.com/"/media/img/python.png"); }\n .datauri { background-image: url(http://github.com/"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV+IAAAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1JREFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jqch9//q1uH4TLzw4d6+ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0%20vr4MkhoXe0rZigAAAABJRU5ErkJggg=="); }\n ' ]
175
+ out = [u'.add { background-image: url(http://github.com/"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJvSURBVDjLpZPrS5NhGIf9W7YvBYOkhlkoqCklWChv2WyKik7blnNris72bi6dus0DLZ0TDxW1odtopDs4D8MDZuLU0kXq61CijSIIasOvv94VTUfLiB74fXngup7nvrnvJABJ/5PfLnTTdcwOj4RsdYmo5glBWP6iOtzwvIKSWstI0Wgx80SBblpKtE9KQs/We7EaWoT/8wbWP61gMmCH0lMDvokT4j25TiQU/ITFkek9Ow6+7WH2gwsmahCPdwyw75uw9HEO2gUZSkfyI9zBPCJOoJ2SMmg46N61YO/rNoa39Xi41oFuXysMfh36/Fp0b7bAfWAH6RGi0HglWNCbzYgJaFjRv6zGuy+b9It96N3SQvNKiV9HvSaDfFEIxXItnPs23BzJQd6DDEVM0OKsoVwBG/1VMzpXVWhbkUM2K4oJBDYuGmbKIJ0qxsAbHfRLzbjcnUbFBIpx/qH3vQv9b3U03IQ/HfFkERTzfFj8w8jSpR7GBE123uFEYAzaDRIqX/2JAtJbDat/COkd7CNBva2cMvq0MGxp0PRSCPF8BXjWG3FgNHc9XPT71Ojy3sMFdfJRCeKxEsVtKwFHwALZfCUk3tIfNR8XiJwc1LmL4dg141JPKtj3WUdNFJqLGFVPC4OkR4BxajTWsChY64wmCnMxsWPCHcutKBxMVp5mxA1S+aMComToaqTRUQknLTH62kHOVEE+VQnjahscNCy0cMBWsSI0TCQcZc5ALkEYckL5A5noWSBhfm2AecMAjbcRWV0pUTh0HE64TNf0mczcnnQyu/MilaFJCae1nw2fbz1DnVOxyGTlKeZft/Ff8x1BRssfACjTwQAAAABJRU5ErkJggg=="); }\n .python { background-image: url(http://github.com/"/media/img/python.png?f59031cef54b"); }\n .datauri { background-image: url(http://github.com/"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV+IAAAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1JREFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jqch9//q1uH4TLzw4d6+ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0%20vr4MkhoXe0rZigAAAABJRU5ErkJggg=="); }\n ' ]
176
176
self .assertEqual (out , self .cssNode .hunks )
177
177
178
178
0 commit comments