Django

Code

Show
Ignore:
Timestamp:
11/18/07 21:12:19 (1 year ago)
Author:
gwilson
Message:

Removed vary_delim_re in django/utils/cache.py in favor of existing cc_delim_re since the latter is more correct in parsing the header (allows whitespace before and after comma separators instead of just after). As a bonus, tests added for patch_vary_headers().

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/tests/regressiontests/cache/tests.py

    r6572 r6696  
    44# Uses whatever cache backend is set in the test settings file. 
    55 
     6import time, unittest 
     7 
    68from django.core.cache import cache 
    7 import time, unittest 
     9from django.utils.cache import patch_vary_headers 
     10from django.http import HttpResponse 
    811 
    912# functions/classes for complex data type tests 
     
    8891            self.assertEqual(cache.get(key), value) 
    8992 
     93 
     94class CacheUtils(unittest.TestCase): 
     95    """TestCase for django.utils.cache functions.""" 
     96     
     97    def test_patch_vary_headers(self): 
     98        headers = (  
     99            # Initial vary, new headers, resulting vary. 
     100            (None, ('Accept-Encoding',), 'Accept-Encoding'), 
     101            ('Accept-Encoding', ('accept-encoding',), 'Accept-Encoding'), 
     102            ('Accept-Encoding', ('ACCEPT-ENCODING',), 'Accept-Encoding'), 
     103            ('Cookie', ('Accept-Encoding',), 'Cookie, Accept-Encoding'), 
     104            ('Cookie, Accept-Encoding', ('Accept-Encoding',), 'Cookie, Accept-Encoding'), 
     105            ('Cookie, Accept-Encoding', ('Accept-Encoding', 'cookie'), 'Cookie, Accept-Encoding'), 
     106            (None, ('Accept-Encoding', 'COOKIE'), 'Accept-Encoding, COOKIE'), 
     107            ('Cookie,     Accept-Encoding', ('Accept-Encoding', 'cookie'), 'Cookie, Accept-Encoding'), 
     108            ('Cookie    ,     Accept-Encoding', ('Accept-Encoding', 'cookie'), 'Cookie, Accept-Encoding'), 
     109        ) 
     110        for initial_vary, newheaders, resulting_vary in headers: 
     111            response = HttpResponse() 
     112            if initial_vary is not None: 
     113                response['Vary'] = initial_vary 
     114            patch_vary_headers(response, newheaders) 
     115            self.assertEqual(response['Vary'], resulting_vary) 
     116 
     117 
    90118if __name__ == '__main__': 
    91119    unittest.main()