[Checkins] SVN: persistent/trunk/persistent/ Zap the 'new' state.
Tres Seaver
tseaver at palladion.com
Fri Feb 18 17:49:45 EST 2011
Log message for revision 120429:
Zap the 'new' state.
Changed:
U persistent/trunk/persistent/pyPersistence.py
U persistent/trunk/persistent/tests/test_pyPersistence.py
-=-
Modified: persistent/trunk/persistent/pyPersistence.py
===================================================================
--- persistent/trunk/persistent/pyPersistence.py 2011-02-18 21:46:57 UTC (rev 120428)
+++ persistent/trunk/persistent/pyPersistence.py 2011-02-18 22:49:45 UTC (rev 120429)
@@ -216,13 +216,11 @@
# The '_p_status' property is not (yet) part of the API: for now,
# it exists to simplify debugging and testing assertions.
def _get_status(self):
+ if self.__jar is None:
+ return 'unsaved'
if self.__flags is None:
- if self.__jar is None:
- return 'new'
return 'ghost'
if self.__flags & _CHANGED:
- if self.__jar is None:
- return 'unsaved'
result = 'changed'
else:
result = 'saved'
Modified: persistent/trunk/persistent/tests/test_pyPersistence.py
===================================================================
--- persistent/trunk/persistent/tests/test_pyPersistence.py 2011-02-18 21:46:57 UTC (rev 120428)
+++ persistent/trunk/persistent/tests/test_pyPersistence.py 2011-02-18 22:49:45 UTC (rev 120429)
@@ -75,6 +75,7 @@
self.assertEqual(inst._p_serial, _INITIAL_SERIAL)
self.assertEqual(inst._p_changed, None)
self.assertEqual(inst._p_sticky, False)
+ self.assertEqual(inst._p_status, 'unsaved')
def test_assign_p_jar_w_invalid_jar(self):
inst = self._makeOne()
@@ -195,39 +196,20 @@
inst._p_changed = False
self.assertEqual(inst._p_changed, False)
- def test_assign_p_changed_none_from_new(self):
- inst = self._makeOne()
- inst._p_changed = None
- self.assertEqual(inst._p_status, 'new')
-
- def test_assign_p_changed_true_from_new(self):
- inst = self._makeOne()
- inst._p_changed = True
- self.assertEqual(inst._p_status, 'unsaved')
-
- def test_assign_p_changed_false_from_new(self):
- inst = self._makeOne()
- inst._p_changed = False # activates
- self.assertEqual(inst._p_status, 'saved')
-
def test_assign_p_changed_none_from_unsaved(self):
inst = self._makeOne()
- inst._p_changed = True
inst._p_changed = None
- # can't transition 'unsaved' -> 'new'
self.assertEqual(inst._p_status, 'unsaved')
def test_assign_p_changed_true_from_unsaved(self):
inst = self._makeOne()
inst._p_changed = True
- inst._p_changed = True
self.assertEqual(inst._p_status, 'unsaved')
def test_assign_p_changed_false_from_unsaved(self):
inst = self._makeOne()
- inst._p_changed = True
inst._p_changed = False
- self.assertEqual(inst._p_status, 'saved')
+ self.assertEqual(inst._p_status, 'unsaved')
def test_assign_p_changed_none_from_ghost(self):
inst, jar, OID = self._makeOneWithJar()
@@ -318,16 +300,10 @@
inst._p_changed = None
self.assertRaises(ValueError, _test)
- def test_delete_p_changed_from_new(self):
- inst = self._makeOne()
- del inst._p_changed
- self.assertEqual(inst._p_status, 'new')
-
def test_delete_p_changed_from_unsaved(self):
inst = self._makeOne()
- inst._p_changed = True
del inst._p_changed
- self.assertEqual(inst._p_status, 'new')
+ self.assertEqual(inst._p_status, 'unsaved')
def test_delete_p_changed_from_ghost(self):
inst, jar, OID = self._makeOneWithJar()
@@ -389,13 +365,8 @@
inst._p_sticky = False
self.failIf(inst._p_sticky)
- def test__p_status_new(self):
- inst = self._makeOne()
- self.assertEqual(inst._p_status, 'new')
-
def test__p_status_unsaved(self):
inst = self._makeOne()
- inst._p_changed = True
self.assertEqual(inst._p_status, 'unsaved')
def test__p_status_ghost(self):
@@ -510,17 +481,10 @@
getattr(inst, name, None)
self.assertEqual(jar._cache._mru, [])
- def test___getattribute__normal_name_from_new(self):
- class Derived(self._getTargetClass()):
- normal = 'value'
- inst = Derived()
- self.assertEqual(getattr(inst, 'normal', None), 'value')
-
def test___getattribute__normal_name_from_unsaved(self):
class Derived(self._getTargetClass()):
normal = 'value'
inst = Derived()
- inst._p_changed = True
self.assertEqual(getattr(inst, 'normal', None), 'value')
def test___getattribute__normal_name_from_ghost(self):
@@ -565,18 +529,10 @@
setattr(inst, name, value)
self.assertEqual(jar._cache._mru, [])
- def test___setattr__normal_name_from_new(self):
- class Derived(self._getTargetClass()):
- normal = 'before'
- inst = Derived()
- setattr(inst, 'normal', 'after')
- self.assertEqual(getattr(inst, 'normal', None), 'after')
-
def test___setattr__normal_name_from_unsaved(self):
class Derived(self._getTargetClass()):
normal = 'before'
inst = Derived()
- inst._p_changed = True
setattr(inst, 'normal', 'after')
self.assertEqual(getattr(inst, 'normal', None), 'after')
@@ -625,22 +581,12 @@
self.assertEqual(jar._cache._mru, [])
self.assertEqual(jar._registered, [])
- def test___delattr__normal_name_from_new(self):
- class Derived(self._getTargetClass()):
- normal = 'before'
- def __init__(self):
- self.__dict__['normal'] = 'after'
- inst = Derived()
- delattr(inst, 'normal')
- self.assertEqual(getattr(inst, 'normal', None), 'before')
-
def test___delattr__normal_name_from_unsaved(self):
class Derived(self._getTargetClass()):
normal = 'before'
def __init__(self):
self.__dict__['normal'] = 'after'
inst = Derived()
- inst._p_changed = True
delattr(inst, 'normal')
self.assertEqual(getattr(inst, 'normal', None), 'before')
@@ -752,43 +698,25 @@
self.assertEqual(second, (Derived, 'a', 'b'))
self.assertEqual(third, {'foo': 'bar'})
- def test__p_activate_from_new(self):
+ def test__p_activate_from_unsaved(self):
inst = self._makeOne()
- inst._p_activate()
+ inst._p_activate() # noop w/o jar
+ self.assertEqual(inst._p_status, 'unsaved')
+
+ def test__p_activate_from_ghost(self):
+ inst, jar, OID = self._makeOneWithJar()
+ inst._p_activate()
self.assertEqual(inst._p_status, 'saved')
def test__p_activate_from_saved(self):
- inst = self._makeOne()
+ inst, jar, OID = self._makeOneWithJar()
inst._p_changed = False
- inst._p_activate() # noop from 'unsaved' state
+ inst._p_activate() # noop from 'saved' state
self.assertEqual(inst._p_status, 'saved')
- def test__p_activate_from_unsaved(self):
- inst = self._makeOne()
- inst._p_changed = True
- inst._p_activate() # noop from 'saved' state
- self.assertEqual(inst._p_status, 'unsaved')
-
- def test__p_deactivate_from_new(self):
- inst = self._makeOne()
- inst._p_deactivate()
- self.assertEqual(inst._p_status, 'new')
-
- def test__p_deactivate_from_new_w_dict(self):
- class Derived(self._getTargetClass()):
- normal = 'before'
- def __init__(self):
- self.__dict__['normal'] = 'after'
- inst = Derived()
- inst._p_deactivate()
- self.assertEqual(inst._p_status, 'new')
- self.assertEqual(inst.__dict__, {'normal': 'after'})
-
def test__p_deactivate_from_unsaved(self):
inst = self._makeOne()
- inst._p_changed = True
inst._p_deactivate()
- # can't transition 'unsaved' -> 'new'
self.assertEqual(inst._p_status, 'unsaved')
def test__p_deactivate_from_unsaved_w_dict(self):
@@ -799,7 +727,6 @@
inst = Derived()
inst._p_changed = True
inst._p_deactivate()
- # can't transition 'unsaved' -> 'new'
self.assertEqual(inst._p_status, 'unsaved')
self.assertEqual(inst.__dict__, {'normal': 'after'})
@@ -865,26 +792,10 @@
inst._p_sticky = True
self.assertRaises(ValueError, inst._p_deactivate)
- def test__p_invalidate_from_new(self):
- inst = self._makeOne()
- inst._p_invalidate()
- self.assertEqual(inst._p_status, 'new')
-
- def test__p_invalidate_from_new_w_dict(self):
- class Derived(self._getTargetClass()):
- normal = 'before'
- def __init__(self):
- self.__dict__['normal'] = 'after'
- inst = Derived()
- inst._p_invalidate()
- self.assertEqual(inst._p_status, 'new')
- self.assertEqual(inst.__dict__, {})
-
def test__p_invalidate_from_unsaved(self):
inst = self._makeOne()
- inst._p_changed = True
inst._p_invalidate()
- self.assertEqual(inst._p_status, 'new')
+ self.assertEqual(inst._p_status, 'unsaved')
def test__p_invalidate_from_unsaved_w_dict(self):
class Derived(self._getTargetClass()):
@@ -892,9 +803,8 @@
def __init__(self):
self.__dict__['normal'] = 'after'
inst = Derived()
- inst._p_changed = True
inst._p_invalidate()
- self.assertEqual(inst._p_status, 'new')
+ self.assertEqual(inst._p_status, 'unsaved')
self.assertEqual(inst.__dict__, {})
def test__p_invalidate_from_ghost(self):
More information about the checkins
mailing list