dispatch[NoneType] = save_none
def save_bool(self, object):
- self.write(object and TRUE or FALSE)
+ if self.proto >= 2:
+ self.write(object and NEWTRUE or NEWFALSE)
+ else:
+ self.write(object and TRUE or FALSE)
dispatch[bool] = save_bool
def save_int(self, object, pack=struct.pack):
self.append(None)
dispatch[NONE] = load_none
+ def load_false(self):
+ self.append(False)
+ dispatch[NEWFALSE] = load_false
+
+ def load_true(self):
+ self.append(True)
+ dispatch[NEWTRUE] = load_true
+
def load_int(self):
data = self.readline()
if data == FALSE[1:]:
y = self.loads(s)
self.assertEqual(x, y, (proto, x, s, y))
+ def test_singletons(self):
+ for proto in 0, 1, 2:
+ for x in None, False, True:
+ s = self.dumps(x, proto)
+ y = self.loads(s)
+ self.assert_(x is y, (proto, x, s, y))
+
class AbstractPickleModuleTests(unittest.TestCase):
def test_dump_closed_file(self):