956
960
self.assertEqual(str(cm.exception), msg)
962
def test_content_length(self):
963
r = self.Range(7, 10)
964
with self.assertRaises(ValueError) as cm:
965
r.content_length(MAX_LENGTH + 1)
966
self.assertEqual(str(cm.exception),
967
'need 0 <= total <= {}; got {}'.format(MAX_LENGTH, MAX_LENGTH + 1)
969
self.assertEqual(r.content_length(MAX_LENGTH), 3)
970
self.assertEqual(r.content_length(11), 3)
971
self.assertEqual(r.content_length(10), 3)
972
self.assertEqual(r.content_length(9), 2)
973
self.assertEqual(r.content_length(8), 1)
974
with self.assertRaises(ValueError) as cm:
976
self.assertEqual(str(cm.exception),
977
'Range(7, 10) out of bounds (total=7)'
979
with self.assertRaises(ValueError) as cm:
981
self.assertEqual(str(cm.exception),
982
'Range(7, 10) out of bounds (total=0)'
984
with self.assertRaises(ValueError) as cm:
986
self.assertEqual(str(cm.exception),
987
'need 0 <= total <= {}; got -1'.format(MAX_LENGTH)
990
def test_content_range(self):
991
r = self.Range(7, 10)
992
with self.assertRaises(ValueError) as cm:
993
r.content_range(MAX_LENGTH + 1)
994
self.assertEqual(str(cm.exception),
995
'need 0 <= total <= {}; got {}'.format(MAX_LENGTH, MAX_LENGTH + 1)
997
self.assertEqual(r.content_range(MAX_LENGTH),
998
self.ContentRange(7, 10, MAX_LENGTH)
1000
self.assertEqual(r.content_range(11), self.ContentRange(7, 10, 11))
1001
self.assertEqual(r.content_range(10), self.ContentRange(7, 10, 10))
1002
self.assertEqual(r.content_range(9), self.ContentRange(7, 9, 9))
1003
self.assertEqual(r.content_range(8), self.ContentRange(7, 8, 8))
1004
with self.assertRaises(ValueError) as cm:
1006
self.assertEqual(str(cm.exception),
1007
'Range(7, 10) out of bounds (total=7)'
1009
with self.assertRaises(ValueError) as cm:
1011
self.assertEqual(str(cm.exception),
1012
'Range(7, 10) out of bounds (total=0)'
1014
with self.assertRaises(ValueError) as cm:
1016
self.assertEqual(str(cm.exception),
1017
'need 0 <= total <= {}; got -1'.format(MAX_LENGTH)
959
1020
class TestRange_C(TestRange_Py):
963
1024
class TestContentRange_Py(BackendTestCase):
965
def ContentRange(self):
966
return self.getattr('ContentRange')
968
1025
def test_init(self):
969
1026
self.check_init_args(self.ContentRange, 3, 'total')