Kaydet (Commit) 7d97d31a authored tarafından Guido van Rossum's avatar Guido van Rossum

OK, this is really the last one tonight!

NEWFALSE and NEWTRUE.
üst 025bc2fe
......@@ -356,7 +356,10 @@ class Pickler:
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):
......@@ -760,6 +763,14 @@ class Unpickler:
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:]:
......
......@@ -293,6 +293,13 @@ class AbstractPickleTests(unittest.TestCase):
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):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment