def test_css_absolute_filter_only_url_fragment(self):
        filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
        content = "p { background: url('#foo') }"
        filter = CssAbsoluteFilter(content)
        self.assertEqual(content, filter.input(filename=filename, basename='css/url/test.css'))

        with self.settings(COMPRESS_URL='http://media.example.com/'):
            filter = CssAbsoluteFilter(content)
            self.assertEqual(content, filter.input(filename=filename, basename='css/url/test.css'))
示例#2
0
    def test_css_absolute_filter_only_url_fragment(self):
        filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
        content = "p { background: url('#foo') }"
        filter = CssAbsoluteFilter(content)
        self.assertEqual(content, filter.input(filename=filename, basename='css/url/test.css'))

        with self.settings(COMPRESS_URL='http://media.example.com/'):
            filter = CssAbsoluteFilter(content)
            self.assertEqual(content, filter.input(filename=filename, basename='css/url/test.css'))
示例#3
0
 def test_css_absolute_filter_relative_path(self):
     filename = os.path.join(settings.TEST_DIR, 'whatever', '..', 'media', 'whatever/../css/url/test.css')
     imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
     output = "p { background: url('%simg/python.png?%s') }" % (settings.COMPRESS_URL, self.hashing_func(imagefilename))
     filter = CssAbsoluteFilter(self.content)
     self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
     settings.COMPRESS_URL = 'https://media.example.com/'
     filter = CssAbsoluteFilter(self.content)
     output = "p { background: url('%simg/python.png?%s') }" % (settings.COMPRESS_URL, self.hashing_func(imagefilename))
     self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
示例#4
0
 def test_css_absolute_filter_relative_path(self):
     from compressor.filters.css_default import CssAbsoluteFilter
     filename = os.path.join(django_settings.TEST_DIR, 'whatever', '..', 'media', 'whatever/../css/url/test.css')
     content = "p { background: url('../../images/image.gif') }"
     output = "p { background: url('%simages/image.gif?%s') }" % (settings.MEDIA_URL, get_hashed_mtime(filename))
     filter = CssAbsoluteFilter(content)
     self.assertEqual(output, filter.input(filename=filename))
     settings.MEDIA_URL = 'https://media.example.com/'
     output = "p { background: url('%simages/image.gif?%s') }" % (settings.MEDIA_URL, get_hashed_mtime(filename))
     self.assertEqual(output, filter.input(filename=filename))
示例#5
0
 def test_css_absolute_filter_relative_path(self):
     from compressor.filters.css_default import CssAbsoluteFilter
     filename = os.path.join(settings.TEST_DIR, 'whatever', '..', 'media', 'whatever/../css/url/test.css')
     content = "p { background: url('../../images/image.gif') }"
     output = "p { background: url('%simages/image.gif?%s') }" % (settings.COMPRESS_URL, get_hashed_mtime(filename))
     filter = CssAbsoluteFilter(content)
     self.assertEqual(output, filter.input(filename=filename))
     settings.COMPRESS_URL = 'https://media.example.com/'
     output = "p { background: url('%simages/image.gif?%s') }" % (settings.COMPRESS_URL, get_hashed_mtime(filename))
     self.assertEqual(output, filter.input(filename=filename))
示例#6
0
 def test_css_absolute_filter_https(self):
     from compressor.filters.css_default import CssAbsoluteFilter
     filename = os.path.join(settings.MEDIA_ROOT, 'css/url/test.css')
     content = "p { background: url('../../images/image.gif') }"
     output = "p { background: url('%simages/image.gif') }" % settings.MEDIA_URL
     filter = CssAbsoluteFilter(content)
     self.assertEqual(output, filter.input(filename=filename))
     settings.MEDIA_URL = 'https://media.example.com/'
     filename = os.path.join(settings.MEDIA_ROOT, 'css/url/test.css')
     output = "p { background: url('%simages/image.gif') }" % settings.MEDIA_URL
     self.assertEqual(output, filter.input(filename=filename))
示例#7
0
 def test_css_absolute_filter(self):
     from compressor.filters.css_default import CssAbsoluteFilter
     filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
     content = "p { background: url('../../images/image.gif') }"
     output = "p { background: url('%simages/image.gif?%s') }" % (settings.COMPRESS_URL, get_hashed_mtime(filename))
     filter = CssAbsoluteFilter(content)
     self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
     settings.COMPRESS_URL = 'http://media.example.com/'
     filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
     output = "p { background: url('%simages/image.gif?%s') }" % (settings.COMPRESS_URL, get_hashed_mtime(filename))
     self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
示例#8
0
 def test_css_absolute_filter_https(self):
     from compressor.filters.css_default import CssAbsoluteFilter
     filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
     content = "p { background: url('../../images/image.gif') }"
     output = "p { background: url('%simages/image.gif?%s') }" % (settings.COMPRESS_URL, get_hashed_mtime(filename))
     filter = CssAbsoluteFilter(content)
     self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
     settings.COMPRESS_URL = 'https://media.example.com/'
     filter = CssAbsoluteFilter(content)
     filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
     output = "p { background: url('%simages/image.gif?%s') }" % (settings.COMPRESS_URL, get_hashed_mtime(filename))
     self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
示例#9
0
 def test_css_absolute_filter_relative_path(self):
     from compressor.filters.css_default import CssAbsoluteFilter
     filename = os.path.join(settings.TEST_DIR, 'whatever', '..', 'media', 'whatever/../css/url/test.css')
     imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
     content = "p { background: url('../../img/python.png') }"
     output = "p { background: url('%simg/python.png?%s') }" % (settings.COMPRESS_URL, self.suffix_method(imagefilename))
     filter = CssAbsoluteFilter(content)
     self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
     settings.COMPRESS_URL = 'https://media.example.com/'
     filter = CssAbsoluteFilter(content)
     output = "p { background: url('%simg/python.png?%s') }" % (settings.COMPRESS_URL, self.suffix_method(imagefilename))
     self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
示例#10
0
 def test_css_absolute_filter_filename_outside_compress_root(self):
     filename = '/foo/bar/baz/test.css'
     content = self.template % blankdict(url='../qux/')
     params = blankdict({
         'url': settings.COMPRESS_URL + 'bar/qux/',
     })
     output = self.template % params
     filter = CssAbsoluteFilter(content)
     self.assertEqual(output, filter.input(filename=filename, basename='bar/baz/test.css'))
     settings.COMPRESS_URL = 'https://static.example.com/'
     params['url'] = settings.COMPRESS_URL + 'bar/qux/'
     output = self.template % params
     filter = CssAbsoluteFilter(content)
     self.assertEqual(output, filter.input(filename=filename, basename='bar/baz/test.css'))
    def test_css_no_hash(self):
        filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
        content = self.template % blankdict(url='../../')
        params = blankdict({
            'url': settings.COMPRESS_URL,
        })
        output = self.template % params
        filter = CssAbsoluteFilter(content)
        self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))

        with self.settings(COMPRESS_URL='http://static.example.com/'):
            params['url'] = settings.COMPRESS_URL
            output = self.template % params
            filter = CssAbsoluteFilter(content)
            self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
示例#12
0
    def test_css_absolute_filter_filename_outside_compress_root(self):
        filename = '/foo/bar/baz/test.css'
        content = self.template % blankdict(url='../qux/')
        params = blankdict({
            'url': settings.COMPRESS_URL + 'bar/qux/',
        })
        output = self.template % params
        filter = CssAbsoluteFilter(content)
        self.assertEqual(output, filter.input(filename=filename, basename='bar/baz/test.css'))

        with self.settings(COMPRESS_URL='https://static.example.com/'):
            params['url'] = settings.COMPRESS_URL + 'bar/qux/'
            output = self.template % params
            filter = CssAbsoluteFilter(content)
            self.assertEqual(output, filter.input(filename=filename, basename='bar/baz/test.css'))
示例#13
0
    def test_css_no_hash(self):
        filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
        content = self.template % blankdict(url='../../')
        params = blankdict({
            'url': settings.COMPRESS_URL,
        })
        output = self.template % params
        filter = CssAbsoluteFilter(content)
        self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))

        with self.settings(COMPRESS_URL='http://static.example.com/'):
            params['url'] = settings.COMPRESS_URL
            output = self.template % params
            filter = CssAbsoluteFilter(content)
            self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
示例#14
0
    def test_css_absolute_filter_relative_path(self):
        filename = os.path.join(settings.TEST_DIR, 'whatever', '..', 'static', 'whatever/../css/url/test.css')
        imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
        content = self.template % blankdict(url='../../')
        params = blankdict({
            'url': settings.COMPRESS_URL,
            'hash': '?' + self.hashing_func(imagefilename),
        })
        output = self.template % params
        filter = CssAbsoluteFilter(content)
        self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))

        settings.COMPRESS_URL = params['url'] = 'https://static.example.com/'
        output = self.template % params
        filter = CssAbsoluteFilter(content)
        self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
 def test_css_absolute_filter_relative_path(self):
     filename = os.path.join(settings.TEST_DIR, 'whatever', '..', 'media', 'whatever/../css/url/test.css')
     imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
     params = {
         'url': settings.COMPRESS_URL,
         'hash': self.hashing_func(imagefilename),
     }
     output = ("p { background: url('%(url)simg/python.png?%(hash)s') }"
               "p { filter: Alpha(src='%(url)simg/python.png?%(hash)s') }") % params
     filter = CssAbsoluteFilter(self.content)
     self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
     settings.COMPRESS_URL = params['url'] = 'https://media.example.com/'
     filter = CssAbsoluteFilter(self.content)
     output = ("p { background: url('%(url)simg/python.png?%(hash)s') }"
               "p { filter: Alpha(src='%(url)simg/python.png?%(hash)s') }") % params
     self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
示例#16
0
    def test_css_absolute_filter_querystring(self):
        filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
        imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
        content = self.template % blankdict(url='../../', query='?foo')
        params = blankdict({
            'url': settings.COMPRESS_URL,
            'query': '?foo',
            'hash': '&' + self.hashing_func(imagefilename),
        })
        output = self.template % params
        filter = CssAbsoluteFilter(content)
        self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))

        settings.COMPRESS_URL = params['url'] = 'http://media.example.com/'
        output = self.template % params
        filter = CssAbsoluteFilter(content)
        self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
    def test_css_absolute_filter_querystring(self):
        filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
        imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
        params = {
            'url': settings.COMPRESS_URL,
            'hash': self.hashing_func(imagefilename),
        }
        content = "p { background: url('../../img/python.png?foo') }"

        output = "p { background: url('%(url)simg/python.png?foo&%(hash)s') }" % params
        filter = CssAbsoluteFilter(content)
        self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
        settings.COMPRESS_URL = params['url'] = 'http://media.example.com/'
        filter = CssAbsoluteFilter(content)
        filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
        output = "p { background: url('%(url)simg/python.png?foo&%(hash)s') }" % params
        self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
示例#18
0
    def test_css_absolute_filter_relative_path(self):
        filename = os.path.join(settings.TEST_DIR, 'whatever', '..', 'static', 'whatever/../css/url/test.css')
        imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
        content = self.template % blankdict(url='../../')
        params = blankdict({
            'url': settings.COMPRESS_URL,
            'hash': '?' + self.hashing_func(imagefilename),
        })
        output = self.template % params
        filter = CssAbsoluteFilter(content)
        self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))

        with self.settings(COMPRESS_URL='https://static.example.com/'):
            params['url'] = settings.COMPRESS_URL
            output = self.template % params
            filter = CssAbsoluteFilter(content)
            self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
示例#19
0
    def test_css_absolute_filter_querystring(self):
        filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
        imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
        content = self.template % blankdict(url='../../', query='?foo')
        params = blankdict({
            'url': settings.COMPRESS_URL,
            'query': '?foo',
            'hash': '&' + self.hashing_func(imagefilename),
        })
        output = self.template % params
        filter = CssAbsoluteFilter(content)
        self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))

        with self.settings(COMPRESS_URL='http://media.example.com/'):
            params['url'] = settings.COMPRESS_URL
            output = self.template % params
            filter = CssAbsoluteFilter(content)
            self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
    def test_css_absolute_filter_url_fragment(self):
        filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
        imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
        content = self.template % blankdict(url='../../', frag='#foo')
        params = blankdict({
            'url': settings.COMPRESS_URL,
            'hash': '?' + self.hashing_func(imagefilename),
            'frag': '#foo',
        })
        output = self.template % params
        filter = CssAbsoluteFilter(content)
        self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))

        with self.settings(COMPRESS_URL='http://media.example.com/'):
            params['url'] = settings.COMPRESS_URL
            output = self.template % params
            filter = CssAbsoluteFilter(content)
            self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
示例#21
0
 def test_css_absolute_filter_relative_path(self):
     from compressor.filters.css_default import CssAbsoluteFilter
     filename = os.path.join(settings.TEST_DIR, 'whatever', '..', 'media',
                             'whatever/../css/url/test.css')
     imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
     content = "p { background: url('../../img/python.png') }"
     output = "p { background: url('%simg/python.png?%s') }" % (
         settings.COMPRESS_URL, self.suffix_method(imagefilename))
     filter = CssAbsoluteFilter(content)
     self.assertEqual(
         output, filter.input(filename=filename,
                              basename='css/url/test.css'))
     settings.COMPRESS_URL = 'https://media.example.com/'
     filter = CssAbsoluteFilter(content)
     output = "p { background: url('%simg/python.png?%s') }" % (
         settings.COMPRESS_URL, self.suffix_method(imagefilename))
     self.assertEqual(
         output, filter.input(filename=filename,
                              basename='css/url/test.css'))
示例#22
0
    def test_css_absolute_filter(self):
        from compressor.filters.css_default import CssAbsoluteFilter

        filename = os.path.join(settings.COMPRESS_ROOT, "css/url/test.css")
        imagefilename = os.path.join(settings.COMPRESS_ROOT, "img/python.png")
        content = "p { background: url('../../img/python.png') }"
        output = "p { background: url('%simg/python.png?%s') }" % (
            settings.COMPRESS_URL,
            self.suffix_method(imagefilename),
        )
        filter = CssAbsoluteFilter(content)
        self.assertEqual(output, filter.input(filename=filename, basename="css/url/test.css"))
        settings.COMPRESS_URL = "http://media.example.com/"
        filter = CssAbsoluteFilter(content)
        filename = os.path.join(settings.COMPRESS_ROOT, "css/url/test.css")
        output = "p { background: url('%simg/python.png?%s') }" % (
            settings.COMPRESS_URL,
            self.suffix_method(imagefilename),
        )
        self.assertEqual(output, filter.input(filename=filename, basename="css/url/test.css"))
示例#23
0
    def test_css_absolute_filter(self):
        filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
        imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
        content = self.template % blankdict(url='../../')
        params = blankdict({
            'url': settings.COMPRESS_URL,
            'hash': '?' + self.hashing_func(imagefilename),
        })
        output = self.template % params
        filter = CssAbsoluteFilter(content)
        self.assertEqual(
            output, filter.input(filename=filename,
                                 basename='css/url/test.css'))

        settings.COMPRESS_URL = params['url'] = 'http://static.example.com/'
        output = self.template % params
        filter = CssAbsoluteFilter(content)
        self.assertEqual(
            output, filter.input(filename=filename,
                                 basename='css/url/test.css'))
示例#24
0
    def test_css_absolute_filter_querystring(self):
        filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
        imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
        params = {
            'url': settings.COMPRESS_URL,
            'hash': self.hashing_func(imagefilename),
        }
        content = "p { background: url('../../img/python.png?foo') }"

        output = "p { background: url('%(url)simg/python.png?foo&%(hash)s') }" % params
        filter = CssAbsoluteFilter(content)
        self.assertEqual(
            output, filter.input(filename=filename,
                                 basename='css/url/test.css'))
        settings.COMPRESS_URL = params['url'] = 'http://media.example.com/'
        filter = CssAbsoluteFilter(content)
        filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
        output = "p { background: url('%(url)simg/python.png?foo&%(hash)s') }" % params
        self.assertEqual(
            output, filter.input(filename=filename,
                                 basename='css/url/test.css'))
示例#25
0
 def test_css_absolute_filter_relative_path(self):
     filename = os.path.join(settings.TEST_DIR, 'whatever', '..', 'static',
                             'whatever/../css/url/test.css')
     imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
     params = {
         'url': settings.COMPRESS_URL,
         'hash': self.hashing_func(imagefilename),
     }
     output = ("p { background: url('%(url)simg/python.png?%(hash)s') }"
               "p { filter: Alpha(src='%(url)simg/python.png?%(hash)s') }"
               ) % params
     filter = CssAbsoluteFilter(self.content)
     self.assertEqual(
         output, filter.input(filename=filename,
                              basename='css/url/test.css'))
     settings.COMPRESS_URL = params['url'] = 'https://static.example.com/'
     filter = CssAbsoluteFilter(self.content)
     output = ("p { background: url('%(url)simg/python.png?%(hash)s') }"
               "p { filter: Alpha(src='%(url)simg/python.png?%(hash)s') }"
               ) % params
     self.assertEqual(
         output, filter.input(filename=filename,
                              basename='css/url/test.css'))