2012-09-04 09:24:39 +02:00
|
|
|
# -*- encoding: utf-8 -*-
|
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
2013-07-01 14:22:27 +02:00
|
|
|
import unittest
|
2013-09-06 17:28:28 +02:00
|
|
|
import datetime
|
2013-07-01 14:22:27 +02:00
|
|
|
|
2013-03-22 17:55:12 +01:00
|
|
|
from django.utils.encoding import force_bytes, filepath_to_uri
|
2012-09-04 09:24:39 +02:00
|
|
|
|
|
|
|
|
|
|
|
class TestEncodingUtils(unittest.TestCase):
|
2013-09-06 17:28:28 +02:00
|
|
|
|
2012-09-04 09:24:39 +02:00
|
|
|
def test_force_bytes_exception(self):
|
|
|
|
"""
|
|
|
|
Test that force_bytes knows how to convert to bytes an exception
|
|
|
|
containing non-ASCII characters in its args.
|
|
|
|
"""
|
|
|
|
error_msg = "This is an exception, voilà"
|
|
|
|
exc = ValueError(error_msg)
|
|
|
|
result = force_bytes(exc)
|
|
|
|
self.assertEqual(result, error_msg.encode('utf-8'))
|
2013-03-22 17:55:12 +01:00
|
|
|
|
2013-09-06 17:28:28 +02:00
|
|
|
def test_force_bytes_strings_only(self):
|
|
|
|
today = datetime.date.today()
|
|
|
|
self.assertEqual(force_bytes(today, strings_only=True), today)
|
|
|
|
|
2013-03-22 17:55:12 +01:00
|
|
|
def test_filepath_to_uri(self):
|
|
|
|
self.assertEqual(filepath_to_uri('upload\\чубака.mp4'),
|
|
|
|
'upload/%D1%87%D1%83%D0%B1%D0%B0%D0%BA%D0%B0.mp4')
|
|
|
|
self.assertEqual(filepath_to_uri('upload\\чубака.mp4'.encode('utf-8')),
|
|
|
|
'upload/%D1%87%D1%83%D0%B1%D0%B0%D0%BA%D0%B0.mp4')
|