|
@@ -6,38 +6,53 @@ from django.utils import translation
|
|
|
class FunctionTests(SimpleTestCase):
|
|
|
|
|
|
def test_formats(self):
|
|
|
- self.assertEqual(filesizeformat(1023), '1023\xa0bytes')
|
|
|
- self.assertEqual(filesizeformat(1024), '1.0\xa0KB')
|
|
|
- self.assertEqual(filesizeformat(10 * 1024), '10.0\xa0KB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024 - 1), '1024.0\xa0KB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024), '1.0\xa0MB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024 * 50), '50.0\xa0MB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024 * 1024 - 1), '1024.0\xa0MB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024 * 1024), '1.0\xa0GB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024 * 1024 * 1024), '1.0\xa0TB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024 * 1024 * 1024 * 1024), '1.0\xa0PB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024 * 1024 * 1024 * 1024 * 2000), '2000.0\xa0PB')
|
|
|
- self.assertEqual(filesizeformat(complex(1, -1)), '0\xa0bytes')
|
|
|
- self.assertEqual(filesizeformat(""), '0\xa0bytes')
|
|
|
- self.assertEqual(filesizeformat("\N{GREEK SMALL LETTER ALPHA}"), '0\xa0bytes')
|
|
|
+ tests = [
|
|
|
+ (1023, '1023\xa0bytes'),
|
|
|
+ (1024, '1.0\xa0KB'),
|
|
|
+ (10 * 1024, '10.0\xa0KB'),
|
|
|
+ (1024 * 1024 - 1, '1024.0\xa0KB'),
|
|
|
+ (1024 * 1024, '1.0\xa0MB'),
|
|
|
+ (1024 * 1024 * 50, '50.0\xa0MB'),
|
|
|
+ (1024 * 1024 * 1024 - 1, '1024.0\xa0MB'),
|
|
|
+ (1024 * 1024 * 1024, '1.0\xa0GB'),
|
|
|
+ (1024 * 1024 * 1024 * 1024, '1.0\xa0TB'),
|
|
|
+ (1024 * 1024 * 1024 * 1024 * 1024, '1.0\xa0PB'),
|
|
|
+ (1024 * 1024 * 1024 * 1024 * 1024 * 2000, '2000.0\xa0PB'),
|
|
|
+ (complex(1, -1), '0\xa0bytes'),
|
|
|
+ ('', '0\xa0bytes'),
|
|
|
+ ('\N{GREEK SMALL LETTER ALPHA}', '0\xa0bytes'),
|
|
|
+ ]
|
|
|
+ for value, expected in tests:
|
|
|
+ with self.subTest(value=value):
|
|
|
+ self.assertEqual(filesizeformat(value), expected)
|
|
|
|
|
|
def test_localized_formats(self):
|
|
|
+ tests = [
|
|
|
+ (1023, '1023\xa0Bytes'),
|
|
|
+ (1024, '1,0\xa0KB'),
|
|
|
+ (10 * 1024, '10,0\xa0KB'),
|
|
|
+ (1024 * 1024 - 1, '1024,0\xa0KB'),
|
|
|
+ (1024 * 1024, '1,0\xa0MB'),
|
|
|
+ (1024 * 1024 * 50, '50,0\xa0MB'),
|
|
|
+ (1024 * 1024 * 1024 - 1, '1024,0\xa0MB'),
|
|
|
+ (1024 * 1024 * 1024, '1,0\xa0GB'),
|
|
|
+ (1024 * 1024 * 1024 * 1024, '1,0\xa0TB'),
|
|
|
+ (1024 * 1024 * 1024 * 1024 * 1024, '1,0\xa0PB'),
|
|
|
+ (1024 * 1024 * 1024 * 1024 * 1024 * 2000, '2000,0\xa0PB'),
|
|
|
+ (complex(1, -1), '0\xa0Bytes'),
|
|
|
+ ('', '0\xa0Bytes'),
|
|
|
+ ('\N{GREEK SMALL LETTER ALPHA}', '0\xa0Bytes'),
|
|
|
+ ]
|
|
|
with self.settings(USE_L10N=True), translation.override('de'):
|
|
|
- self.assertEqual(filesizeformat(1023), '1023\xa0Bytes')
|
|
|
- self.assertEqual(filesizeformat(1024), '1,0\xa0KB')
|
|
|
- self.assertEqual(filesizeformat(10 * 1024), '10,0\xa0KB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024 - 1), '1024,0\xa0KB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024), '1,0\xa0MB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024 * 50), '50,0\xa0MB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024 * 1024 - 1), '1024,0\xa0MB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024 * 1024), '1,0\xa0GB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024 * 1024 * 1024), '1,0\xa0TB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024 * 1024 * 1024 * 1024), '1,0\xa0PB')
|
|
|
- self.assertEqual(filesizeformat(1024 * 1024 * 1024 * 1024 * 1024 * 2000), '2000,0\xa0PB')
|
|
|
- self.assertEqual(filesizeformat(complex(1, -1)), '0\xa0Bytes')
|
|
|
- self.assertEqual(filesizeformat(""), '0\xa0Bytes')
|
|
|
- self.assertEqual(filesizeformat("\N{GREEK SMALL LETTER ALPHA}"), '0\xa0Bytes')
|
|
|
+ for value, expected in tests:
|
|
|
+ with self.subTest(value=value):
|
|
|
+ self.assertEqual(filesizeformat(value), expected)
|
|
|
|
|
|
def test_negative_numbers(self):
|
|
|
- self.assertEqual(filesizeformat(-100), '-100\xa0bytes')
|
|
|
- self.assertEqual(filesizeformat(-1024 * 1024 * 50), '-50.0\xa0MB')
|
|
|
+ tests = [
|
|
|
+ (-100, '-100\xa0bytes'),
|
|
|
+ (-1024 * 1024 * 50, '-50.0\xa0MB'),
|
|
|
+ ]
|
|
|
+ for value, expected in tests:
|
|
|
+ with self.subTest(value=value):
|
|
|
+ self.assertEqual(filesizeformat(value), expected)
|