diff options
| author | Carlton Gibson | 2014-04-15 15:59:25 +0200 | 
|---|---|---|
| committer | Carlton Gibson | 2014-04-15 15:59:25 +0200 | 
| commit | 03b4c60b2db1652be448b15ce7abdf3154601b9d (patch) | |
| tree | 052e7dfdaad7e5b082105149655bf133434b8a8b /rest_framework | |
| parent | c93ddf1750267f9145cbea556deb412fa5b7123e (diff) | |
| parent | ef1d65282771c806f68d717d57172597184db26c (diff) | |
| download | django-rest-framework-03b4c60b2db1652be448b15ce7abdf3154601b9d.tar.bz2 | |
Merge pull request #1518 from hroncok/patch-1
Add more TRAILING_PUNCTUATION to work with YAML
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/templatetags/rest_framework.py | 2 | ||||
| -rw-r--r-- | rest_framework/tests/test_urlizer.py | 38 | 
2 files changed, 39 insertions, 1 deletions
diff --git a/rest_framework/templatetags/rest_framework.py b/rest_framework/templatetags/rest_framework.py index beb8c5b0..dff176d6 100644 --- a/rest_framework/templatetags/rest_framework.py +++ b/rest_framework/templatetags/rest_framework.py @@ -180,7 +180,7 @@ def add_class(value, css_class):  # Bunch of stuff cloned from urlize -TRAILING_PUNCTUATION = ['.', ',', ':', ';', '.)', '"', "'"] +TRAILING_PUNCTUATION = ['.', ',', ':', ';', '.)', '"', "']", "'}", "'"]  WRAPPING_PUNCTUATION = [('(', ')'), ('<', '>'), ('[', ']'), ('<', '>'),                          ('"', '"'), ("'", "'")]  word_split_re = re.compile(r'(\s+)') diff --git a/rest_framework/tests/test_urlizer.py b/rest_framework/tests/test_urlizer.py new file mode 100644 index 00000000..3dc8e8fe --- /dev/null +++ b/rest_framework/tests/test_urlizer.py @@ -0,0 +1,38 @@ +from __future__ import unicode_literals +from django.test import TestCase +from rest_framework.templatetags.rest_framework import urlize_quoted_links +import sys + + +class URLizerTests(TestCase): +    """ +    Test if both JSON and YAML URLs are transformed into links well +    """ +    def _urlize_dict_check(self, data): +        """ +        For all items in dict test assert that the value is urlized key +        """ +        for original, urlized in data.items(): +            assert urlize_quoted_links(original, nofollow=False) == urlized + +    def test_json_with_url(self): +        """ +        Test if JSON URLs are transformed into links well +        """ +        data = {} +        data['"url": "http://api/users/1/", '] = \ +            '"url": "<a href="http://api/users/1/">http://api/users/1/</a>", ' +        data['"foo_set": [\n    "http://api/foos/1/"\n], '] = \ +            '"foo_set": [\n    "<a href="http://api/foos/1/">http://api/foos/1/</a>"\n], ' +        self._urlize_dict_check(data) + +    def test_yaml_with_url(self): +        """ +        Test if YAML URLs are transformed into links well +        """ +        data = {} +        data['''{users: 'http://api/users/'}'''] = \ +            '''{users: '<a href="http://api/users/">http://api/users/</a>'}''' +        data['''foo_set: ['http://api/foos/1/']'''] = \ +            '''foo_set: ['<a href="http://api/foos/1/">http://api/foos/1/</a>']''' +        self._urlize_dict_check(data)  | 
