MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_format

Method test_format

Lib/test/test_str.py:1078–1404  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1076
1077 @unittest.expectedFailure # TODO: RUSTPYTHON; ? +
1078 def test_format(self):
1079 self.assertEqual(''.format(), '')
1080 self.assertEqual('a'.format(), 'a')
1081 self.assertEqual('ab'.format(), 'ab')
1082 self.assertEqual('a{{'.format(), 'a{')
1083 self.assertEqual('a}}'.format(), 'a}')
1084 self.assertEqual('{{b'.format(), '{b')
1085 self.assertEqual('}}b'.format(), '}b')
1086 self.assertEqual('a{{b'.format(), 'a{b')
1087
1088 # examples from the PEP:
1089 import datetime
1090 self.assertEqual("My name is {0}".format('Fred'), "My name is Fred")
1091 self.assertEqual("My name is {0[name]}".format(dict(name='Fred')),
1092 "My name is Fred")
1093 self.assertEqual("My name is {0} :-{{}}".format('Fred'),
1094 "My name is Fred :-{}")
1095
1096 d = datetime.date(2007, 8, 18)
1097 self.assertEqual("The year is {0.year}".format(d),
1098 "The year is 2007")
1099
1100 # classes we'll use for testing
1101 class C:
1102 def __init__(self, x=100):
1103 self._x = x
1104 def __format__(self, spec):
1105 return spec
1106
1107 class D:
1108 def __init__(self, x):
1109 self.x = x
1110 def __format__(self, spec):
1111 return str(self.x)
1112
1113 # class with __str__, but no __format__
1114 class E:
1115 def __init__(self, x):
1116 self.x = x
1117 def __str__(self):
1118 return 'E(' + self.x + ')'
1119
1120 # class with __repr__, but no __format__ or __str__
1121 class F:
1122 def __init__(self, x):
1123 self.x = x
1124 def __repr__(self):
1125 return 'F(' + self.x + ')'
1126
1127 # class with __format__ that forwards to string, for some format_spec's
1128 class G:
1129 def __init__(self, x):
1130 self.x = x
1131 def __str__(self):
1132 return "string is " + self.x
1133 def __format__(self, format_spec):
1134 if format_spec == 'd':
1135 return 'G(' + self.x + ')'

Callers

nothing calls this directly

Calls 14

dateMethod · 0.80
assertRaisesRegexMethod · 0.80
CClass · 0.70
DClass · 0.70
FClass · 0.70
GClass · 0.70
EClass · 0.70
IClass · 0.70
JClass · 0.70
MClass · 0.70
NClass · 0.70
assertEqualMethod · 0.45

Tested by

no test coverage detected