def test_store_selection_properties(self): conn = self.db.open() try: app = conn.root()['Application'] f = Folder() f.id = 'Holidays' f.title = 'Holiday Calendar' app._setObject(f.id, f, set_owner=0) transaction.commit() f._setProperty('choices', ['alpha', 'omega', 'delta'], 'lines') f._setProperty('greek', 'choices', 'multiple selection') f._setProperty('hebrew', 'choices', 'selection') f.greek = ['alpha', 'omega'] f.hebrew = 'alpha' transaction.commit() conn2 = self.db.open() try: app = conn2.root()['Application'] self.assert_(hasattr(app, 'Holidays')) got = 0 for k, v in app.Holidays.propertyItems(): if k == 'greek': got += 1 self.assertEqual(tuple(v), ('alpha', 'omega')) if k == 'hebrew': got += 1 self.assertEqual(v, 'alpha') self.assertEqual(got, 2) # Be sure the select_variable got restored. dict = app.Holidays.propdict() self.assertEqual(dict['greek']['select_variable'], 'choices') self.assertEqual(dict['hebrew']['select_variable'], 'choices') finally: conn2.close() finally: conn.close()