| 
						
						
						
						 |  | @@ -1,15 +1,14 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | from __future__ import with_statement | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | from django.test import TestCase |  |  |  | from django.test import TestCase | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import jinja2 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | from compressor.conf import settings |  |  |  | from compressor.conf import settings | 
			
		
	
		
		
			
				
					
					|  |  |  | from unittest2 import skipIf |  |  |  |  | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | from .base import css_tag |  |  |  | from .base import css_tag | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | try: |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     import jinja2 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | except ImportError: |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     jinja2 = None |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | class TestJinja2CompressorExtension(TestCase): |  |  |  | class TestJinja2CompressorExtension(TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |     """ |  |  |  |     """ | 
			
		
	
		
		
			
				
					
					|  |  |  |     Test case for jinja2 extension. |  |  |  |     Test case for jinja2 extension. | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -29,18 +28,16 @@ class TestJinja2CompressorExtension(TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |         self.env = jinja2.Environment(extensions=[CompressorExtension]) |  |  |  |         self.env = jinja2.Environment(extensions=[CompressorExtension]) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     def test_error_raised_if_no_arguments_given(self): |  |  |  |     def test_error_raised_if_no_arguments_given(self): | 
			
		
	
		
		
			
				
					
					|  |  |  |         with self.assertRaises(jinja2.exceptions.TemplateSyntaxError): |  |  |  |         self.assertRaises(jinja2.exceptions.TemplateSyntaxError, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             self.env.from_string('{% compress %}Foobar{% endcompress %}') |  |  |  |             self.env.from_string, '{% compress %}Foobar{% endcompress %}') | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     def test_error_raised_if_wrong_kind_given(self): |  |  |  |     def test_error_raised_if_wrong_kind_given(self): | 
			
		
	
		
		
			
				
					
					|  |  |  |         with self.assertRaises(jinja2.exceptions.TemplateSyntaxError): |  |  |  |         self.assertRaises(jinja2.exceptions.TemplateSyntaxError, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             self.env.from_string('{% compress foo %}Foobar{% endcompress %}' |  |  |  |             self.env.from_string, '{% compress foo %}Foobar{% endcompress %}') | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 ).render() |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     def test_error_raised_if_wrong_mode_given(self): |  |  |  |     def test_error_raised_if_wrong_mode_given(self): | 
			
		
	
		
		
			
				
					
					|  |  |  |         with self.assertRaises(jinja2.exceptions.TemplateSyntaxError): |  |  |  |         self.assertRaises(jinja2.exceptions.TemplateSyntaxError, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             self.env.from_string('{% compress css foo %}Foobar{% endcompress %}' |  |  |  |             self.env.from_string, '{% compress css foo %}Foobar{% endcompress %}') | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 ).render() |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     def test_compress_is_disabled(self): |  |  |  |     def test_compress_is_disabled(self): | 
			
		
	
		
		
			
				
					
					|  |  |  |         org_COMPRESS_ENABLED = settings.COMPRESS_ENABLED |  |  |  |         org_COMPRESS_ENABLED = settings.COMPRESS_ENABLED | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -58,7 +55,7 @@ class TestJinja2CompressorExtension(TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |     def test_empty_tag(self): |  |  |  |     def test_empty_tag(self): | 
			
		
	
		
		
			
				
					
					|  |  |  |         template = self.env.from_string(u"""{% compress js %}{% block js %} |  |  |  |         template = self.env.from_string(u"""{% compress js %}{% block js %} | 
			
		
	
		
		
			
				
					
					|  |  |  |         {% endblock %}{% endcompress %}""") |  |  |  |         {% endblock %}{% endcompress %}""") | 
			
		
	
		
		
			
				
					
					|  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL } |  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL} | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         self.assertEqual(u'', template.render(context)) |  |  |  |         self.assertEqual(u'', template.render(context)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     def test_css_tag(self): |  |  |  |     def test_css_tag(self): | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -66,8 +63,8 @@ class TestJinja2CompressorExtension(TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |         <link rel="stylesheet" href="{{ MEDIA_URL }}css/one.css" type="text/css" charset="utf-8"> |  |  |  |         <link rel="stylesheet" href="{{ MEDIA_URL }}css/one.css" type="text/css" charset="utf-8"> | 
			
		
	
		
		
			
				
					
					|  |  |  |         <style type="text/css">p { border:5px solid green;}</style> |  |  |  |         <style type="text/css">p { border:5px solid green;}</style> | 
			
		
	
		
		
			
				
					
					|  |  |  |         <link rel="stylesheet" href="{{ MEDIA_URL }}css/two.css" type="text/css" charset="utf-8"> |  |  |  |         <link rel="stylesheet" href="{{ MEDIA_URL }}css/two.css" type="text/css" charset="utf-8"> | 
			
		
	
		
		
			
				
					
					|  |  |  |         {%- endcompress %}""") |  |  |  |         {% endcompress %}""") | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL } |  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL} | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         out = css_tag("/media/CACHE/css/e41ba2cc6982.css") |  |  |  |         out = css_tag("/media/CACHE/css/e41ba2cc6982.css") | 
			
		
	
		
		
			
				
					
					|  |  |  |         self.assertEqual(out, template.render(context)) |  |  |  |         self.assertEqual(out, template.render(context)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -75,8 +72,8 @@ class TestJinja2CompressorExtension(TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |         template = self.env.from_string(u"""{% compress css -%} |  |  |  |         template = self.env.from_string(u"""{% compress css -%} | 
			
		
	
		
		
			
				
					
					|  |  |  |         <link rel="stylesheet" href="{{ MEDIA_URL }}css/nonasc.css" type="text/css" charset="utf-8"> |  |  |  |         <link rel="stylesheet" href="{{ MEDIA_URL }}css/nonasc.css" type="text/css" charset="utf-8"> | 
			
		
	
		
		
			
				
					
					|  |  |  |         <style type="text/css">p { border:5px solid green;}</style> |  |  |  |         <style type="text/css">p { border:5px solid green;}</style> | 
			
		
	
		
		
			
				
					
					|  |  |  |         {%- endcompress %}""") |  |  |  |         {% endcompress %}""") | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL } |  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL} | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         out = css_tag("/media/CACHE/css/799f6defe43c.css") |  |  |  |         out = css_tag("/media/CACHE/css/799f6defe43c.css") | 
			
		
	
		
		
			
				
					
					|  |  |  |         self.assertEqual(out, template.render(context)) |  |  |  |         self.assertEqual(out, template.render(context)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -84,8 +81,8 @@ class TestJinja2CompressorExtension(TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |         template = self.env.from_string(u"""{% compress js -%} |  |  |  |         template = self.env.from_string(u"""{% compress js -%} | 
			
		
	
		
		
			
				
					
					|  |  |  |         <script src="{{ MEDIA_URL }}js/one.js" type="text/javascript" charset="utf-8"></script> |  |  |  |         <script src="{{ MEDIA_URL }}js/one.js" type="text/javascript" charset="utf-8"></script> | 
			
		
	
		
		
			
				
					
					|  |  |  |         <script type="text/javascript" charset="utf-8">obj.value = "value";</script> |  |  |  |         <script type="text/javascript" charset="utf-8">obj.value = "value";</script> | 
			
		
	
		
		
			
				
					
					|  |  |  |         {%- endcompress %}""") |  |  |  |         {% endcompress %}""") | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL } |  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL} | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         out = u'<script type="text/javascript" src="/media/CACHE/js/066cd253eada.js"></script>' |  |  |  |         out = u'<script type="text/javascript" src="/media/CACHE/js/066cd253eada.js"></script>' | 
			
		
	
		
		
			
				
					
					|  |  |  |         self.assertEqual(out, template.render(context)) |  |  |  |         self.assertEqual(out, template.render(context)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -93,8 +90,8 @@ class TestJinja2CompressorExtension(TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |         template = self.env.from_string(u"""{% compress js -%} |  |  |  |         template = self.env.from_string(u"""{% compress js -%} | 
			
		
	
		
		
			
				
					
					|  |  |  |         <script src="{{ MEDIA_URL }}js/nonasc.js" type="text/javascript" charset="utf-8"></script> |  |  |  |         <script src="{{ MEDIA_URL }}js/nonasc.js" type="text/javascript" charset="utf-8"></script> | 
			
		
	
		
		
			
				
					
					|  |  |  |         <script type="text/javascript" charset="utf-8">var test_value = "\u2014";</script> |  |  |  |         <script type="text/javascript" charset="utf-8">var test_value = "\u2014";</script> | 
			
		
	
		
		
			
				
					
					|  |  |  |         {%- endcompress %}""") |  |  |  |         {% endcompress %}""") | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL } |  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL} | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         out = u'<script type="text/javascript" src="/media/CACHE/js/e214fe629b28.js"></script>' |  |  |  |         out = u'<script type="text/javascript" src="/media/CACHE/js/e214fe629b28.js"></script>' | 
			
		
	
		
		
			
				
					
					|  |  |  |         self.assertEqual(out, template.render(context)) |  |  |  |         self.assertEqual(out, template.render(context)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -102,8 +99,8 @@ class TestJinja2CompressorExtension(TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |         template = self.env.from_string(u"""{% compress js -%} |  |  |  |         template = self.env.from_string(u"""{% compress js -%} | 
			
		
	
		
		
			
				
					
					|  |  |  |         <script src="{{ MEDIA_URL }}js/nonasc-latin1.js" type="text/javascript" charset="latin-1"></script> |  |  |  |         <script src="{{ MEDIA_URL }}js/nonasc-latin1.js" type="text/javascript" charset="latin-1"></script> | 
			
		
	
		
		
			
				
					
					|  |  |  |         <script type="text/javascript">var test_value = "\u2014";</script> |  |  |  |         <script type="text/javascript">var test_value = "\u2014";</script> | 
			
		
	
		
		
			
				
					
					|  |  |  |         {%- endcompress %}""") |  |  |  |         {% endcompress %}""") | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL } |  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL} | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         out = u'<script type="text/javascript" src="/media/CACHE/js/be9e078b5ca7.js"></script>' |  |  |  |         out = u'<script type="text/javascript" src="/media/CACHE/js/be9e078b5ca7.js"></script>' | 
			
		
	
		
		
			
				
					
					|  |  |  |         self.assertEqual(out, template.render(context)) |  |  |  |         self.assertEqual(out, template.render(context)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -111,8 +108,8 @@ class TestJinja2CompressorExtension(TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |         template = self.env.from_string(u"""{% compress css, inline -%} |  |  |  |         template = self.env.from_string(u"""{% compress css, inline -%} | 
			
		
	
		
		
			
				
					
					|  |  |  |         <link rel="stylesheet" href="{{ MEDIA_URL }}css/one.css" type="text/css" charset="utf-8"> |  |  |  |         <link rel="stylesheet" href="{{ MEDIA_URL }}css/one.css" type="text/css" charset="utf-8"> | 
			
		
	
		
		
			
				
					
					|  |  |  |         <style type="text/css">p { border:5px solid green;}</style> |  |  |  |         <style type="text/css">p { border:5px solid green;}</style> | 
			
		
	
		
		
			
				
					
					|  |  |  |         {%- endcompress %}""") |  |  |  |         {% endcompress %}""") | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL } |  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL} | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         out = '\n'.join([ |  |  |  |         out = '\n'.join([ | 
			
		
	
		
		
			
				
					
					|  |  |  |             '<style type="text/css">body { background:#990; }', |  |  |  |             '<style type="text/css">body { background:#990; }', | 
			
		
	
		
		
			
				
					
					|  |  |  |             'p { border:5px solid green;}</style>', |  |  |  |             'p { border:5px solid green;}</style>', | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -123,11 +120,7 @@ class TestJinja2CompressorExtension(TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |         template = self.env.from_string(u"""{% compress js, inline -%} |  |  |  |         template = self.env.from_string(u"""{% compress js, inline -%} | 
			
		
	
		
		
			
				
					
					|  |  |  |         <script src="{{ MEDIA_URL }}js/one.js" type="text/css" type="text/javascript" charset="utf-8"></script> |  |  |  |         <script src="{{ MEDIA_URL }}js/one.js" type="text/css" type="text/javascript" charset="utf-8"></script> | 
			
		
	
		
		
			
				
					
					|  |  |  |         <script type="text/javascript" charset="utf-8">obj.value = "value";</script> |  |  |  |         <script type="text/javascript" charset="utf-8">obj.value = "value";</script> | 
			
		
	
		
		
			
				
					
					|  |  |  |         {%- endcompress %}""") |  |  |  |         {% endcompress %}""") | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL } |  |  |  |         context = {'MEDIA_URL': settings.COMPRESS_URL} | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         out = '<script type="text/javascript">obj={};obj.value="value";</script>' |  |  |  |         out = '<script type="text/javascript">obj={};obj.value="value";</script>' | 
			
		
	
		
		
			
				
					
					|  |  |  |         self.assertEqual(out, template.render(context)) |  |  |  |         self.assertEqual(out, template.render(context)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | TestJinja2CompressorExtension = skipIf(jinja2 is None, 'jinja2 not found')( |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     TestJinja2CompressorExtension) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
	
		
		
			
				
					
					| 
						
						
						
						 |  |   |