diff options
| author | Alex Vandiver <alex@chmrr.net> | 2022-11-30 15:09:49 -0500 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-12-05 13:08:00 +0100 |
| commit | cbce427c17b66faec7ced0639346dc6905a498f9 (patch) | |
| tree | 894b0990050dcf94c36010838717dd96351fbcc5 /tests/utils_tests/test_http.py | |
| parent | 3d3e955efaaeb4cc968e522592c5c1e47bdc72c4 (diff) | |
Fixed #34194 -- Added django.utils.http.content_disposition_header().
Diffstat (limited to 'tests/utils_tests/test_http.py')
| -rw-r--r-- | tests/utils_tests/test_http.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/utils_tests/test_http.py b/tests/utils_tests/test_http.py index add9625685..2290fe85fb 100644 --- a/tests/utils_tests/test_http.py +++ b/tests/utils_tests/test_http.py @@ -7,6 +7,7 @@ from django.test import SimpleTestCase from django.utils.datastructures import MultiValueDict from django.utils.http import ( base36_to_int, + content_disposition_header, escape_leading_slashes, http_date, int_to_base36, @@ -511,3 +512,28 @@ class ParseHeaderParameterTests(unittest.TestCase): for raw_line, expected_title in test_data: parsed = parse_header_parameters(raw_line) self.assertEqual(parsed[1]["title"], expected_title) + + +class ContentDispositionHeaderTests(unittest.TestCase): + def test_basic(self): + tests = ( + ((False, None), None), + ((False, "example"), 'inline; filename="example"'), + ((True, None), "attachment"), + ((True, "example"), 'attachment; filename="example"'), + ( + (True, '"example" file\\name'), + 'attachment; filename="\\"example\\" file\\\\name"', + ), + ((True, "espécimen"), "attachment; filename*=utf-8''esp%C3%A9cimen"), + ( + (True, '"espécimen" filename'), + "attachment; filename*=utf-8''%22esp%C3%A9cimen%22%20filename", + ), + ) + + for (is_attachment, filename), expected in tests: + with self.subTest(is_attachment=is_attachment, filename=filename): + self.assertEqual( + content_disposition_header(is_attachment, filename), expected + ) |
