From 6e90dad8e3155deb8bc27c4b9e764b90fde24e4a Mon Sep 17 00:00:00 2001 From: Vladislav Vlastovskiy Date: Mon, 14 Apr 2014 14:25:30 +0400 Subject: Added test for encoded filename --- tests/test_parsers.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'tests/test_parsers.py') diff --git a/tests/test_parsers.py b/tests/test_parsers.py index 8af90677..aafb431a 100644 --- a/tests/test_parsers.py +++ b/tests/test_parsers.py @@ -113,3 +113,27 @@ class TestFileUploadParser(TestCase): parser = FileUploadParser() filename = parser.get_filename(self.stream, None, self.parser_context) self.assertEqual(filename, 'file.txt') + + def test_get_encoded_filename(self): + parser = FileUploadParser() + + self.__replace_content_disposition('inline; filename*=utf-8\'\'ÀĥƦ.txt') + filename = parser.get_filename(self.stream, None, self.parser_context) + self.assertEqual(filename, 'ÀĥƦ.txt') + + self.__replace_content_disposition('inline; filename=fallback.txt; filename*=utf-8\'\'ÀĥƦ.txt') + filename = parser.get_filename(self.stream, None, self.parser_context) + self.assertEqual(filename, 'ÀĥƦ.txt') + + self.__replace_content_disposition('inline; filename=fallback.txt; filename*=utf-8--ÀĥƦ.txt') + filename = parser.get_filename(self.stream, None, self.parser_context) + self.assertEqual(filename, 'fallback.txt') + + self.__replace_content_disposition('inline; filename=fallback.txt; filename*=WRONG\'\'ÀĥƦ.txt') + filename = parser.get_filename(self.stream, None, self.parser_context) + self.assertEqual(filename, 'fallback.txt') + + def __replace_content_disposition(self, disposition): + self.parser_context['request'].META['HTTP_CONTENT_DISPOSITION'] = disposition + + -- cgit v1.2.3 From 644f9b54219c884b59793eafbbdafa0d1175f1ab Mon Sep 17 00:00:00 2001 From: Vladislav Vlastovskiy Date: Mon, 14 Apr 2014 15:02:52 +0400 Subject: Removed assert for wrong charset --- tests/test_parsers.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'tests/test_parsers.py') diff --git a/tests/test_parsers.py b/tests/test_parsers.py index aafb431a..d19b4651 100644 --- a/tests/test_parsers.py +++ b/tests/test_parsers.py @@ -1,3 +1,5 @@ +#-*- coding: utf-8 -*- + from __future__ import unicode_literals from rest_framework.compat import StringIO from django import forms @@ -129,10 +131,6 @@ class TestFileUploadParser(TestCase): filename = parser.get_filename(self.stream, None, self.parser_context) self.assertEqual(filename, 'fallback.txt') - self.__replace_content_disposition('inline; filename=fallback.txt; filename*=WRONG\'\'ÀĥƦ.txt') - filename = parser.get_filename(self.stream, None, self.parser_context) - self.assertEqual(filename, 'fallback.txt') - def __replace_content_disposition(self, disposition): self.parser_context['request'].META['HTTP_CONTENT_DISPOSITION'] = disposition -- cgit v1.2.3 From c8e475023c527f3ad22258c4ae0e0b5d992cb98b Mon Sep 17 00:00:00 2001 From: Jason Bittel Date: Fri, 5 Sep 2014 15:22:43 -0700 Subject: Fix encoded filename parsing to allow for lang --- tests/test_parsers.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tests/test_parsers.py') diff --git a/tests/test_parsers.py b/tests/test_parsers.py index d19b4651..bc84f1c7 100644 --- a/tests/test_parsers.py +++ b/tests/test_parsers.py @@ -127,6 +127,10 @@ class TestFileUploadParser(TestCase): filename = parser.get_filename(self.stream, None, self.parser_context) self.assertEqual(filename, 'ÀĥƦ.txt') + self.__replace_content_disposition('inline; filename=fallback.txt; filename*=utf-8\'en-us\'ÀĥƦ.txt') + filename = parser.get_filename(self.stream, None, self.parser_context) + self.assertEqual(filename, 'ÀĥƦ.txt') + self.__replace_content_disposition('inline; filename=fallback.txt; filename*=utf-8--ÀĥƦ.txt') filename = parser.get_filename(self.stream, None, self.parser_context) self.assertEqual(filename, 'fallback.txt') -- cgit v1.2.3 From 959e23426088661e12f5c8c3fafc64da42d1fc24 Mon Sep 17 00:00:00 2001 From: Jason Bittel Date: Fri, 5 Sep 2014 15:33:47 -0700 Subject: Move parser tests to correct directory --- tests/test_parsers.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'tests/test_parsers.py') diff --git a/tests/test_parsers.py b/tests/test_parsers.py index bc84f1c7..3f2672df 100644 --- a/tests/test_parsers.py +++ b/tests/test_parsers.py @@ -1,4 +1,4 @@ -#-*- coding: utf-8 -*- +# -*- coding: utf-8 -*- from __future__ import unicode_literals from rest_framework.compat import StringIO @@ -137,5 +137,3 @@ class TestFileUploadParser(TestCase): def __replace_content_disposition(self, disposition): self.parser_context['request'].META['HTTP_CONTENT_DISPOSITION'] = disposition - - -- cgit v1.2.3