OK, this is really the last one tonight!
NEWFALSE and NEWTRUE.
This commit is contained in:
parent
025bc2fe6c
commit
7d97d31a1b
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue