super(OrderingList, self).append(entity)
self._order_entity(len(self) - 1, entity, self.reorder_on_append)
- @collection.adds(1)
def _raw_append(self, entity):
"""Append without any ordering behavior."""
super(OrderingList, self).append(entity)
+ _raw_append = collection.adds(1)(_raw_append)
def insert(self, index, entity):
self[index:index] = [entity]
from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.orderinglist import *
+from testlib.testing import eq_
from testlib import *
s1.bullets._reorder()
self.assert_(s1.bullets[4].position == 5)
-
session = create_session()
session.save(s1)
session.flush()
titles = ['s1/b1','s1/b2','s1/b100','s1/b4', 'raw']
found = [b.text for b in srt.bullets]
+ eq_(titles, found)
- self.assert_(titles == found)
+ srt.bullets._raw_append(Bullet('raw2'))
+ srt.bullets[-1].position = 6
+ session.flush()
+ session.clear()
+
+ srt = session.query(Slide).get(id)
+ titles = ['s1/b1','s1/b2','s1/b100','s1/b4', 'raw', 'raw2']
+ found = [b.text for b in srt.bullets]
+ eq_(titles, found)
def test_insert(self):
self._setup(ordering_list('position'))