more tests about dal
This commit is contained in:
@@ -1 +1 @@
|
||||
Version 2.00.0 (2012-08-26 14:12:05) dev
|
||||
Version 2.00.0 (2012-08-26 15:51:11) dev
|
||||
|
||||
+12
-1
@@ -39,7 +39,7 @@ Example of usage:
|
||||
>>> # from dal import DAL, Field
|
||||
|
||||
### create DAL connection (and create DB if it doesn't exist)
|
||||
>>> db = DAL(('mysql://a:b@localhost/x', 'sqlite://storage.sqlite'),
|
||||
>>> db = DAL(('sqlite://storage.sqlite','mysql://a:b@localhost/x'),
|
||||
... folder=None)
|
||||
|
||||
### define a table 'person' (create/alter as necessary)
|
||||
@@ -9055,6 +9055,17 @@ def test_all():
|
||||
>>> me = db(db.person.id==person_id).select()[0] # test select
|
||||
>>> me.name
|
||||
'Massimo'
|
||||
>>> db.person[2].name
|
||||
'Massimo'
|
||||
>>> db.person(2).name
|
||||
'Massimo'
|
||||
>>> db.person(name='Massimo').name
|
||||
'Massimo'
|
||||
>>> db.person(db.person.name=='Massimo').name
|
||||
'Massimo'
|
||||
>>> row = db.person[2]
|
||||
>>> row.name == row['name'] == row['person.name'] == row('person.name')
|
||||
True
|
||||
>>> db(db.person.name=='Massimo').update(name='massimo') # test update
|
||||
1
|
||||
>>> db(db.person.name=='Marco').select().first().delete_record() # test delete
|
||||
|
||||
@@ -129,6 +129,26 @@ class TestFields(unittest.TestCase):
|
||||
)
|
||||
self.assertEqual(db.t.insert(a=t0), 1)
|
||||
self.assertEqual(db().select(db.t.a)[0].a, t0)
|
||||
|
||||
## Row APIs
|
||||
row = db().select(db.t.a)[0]
|
||||
self.assertEqual(db.t[1].a,t0)
|
||||
self.assertEqual(db.t['a'],db.t.a)
|
||||
self.assertEqual(db.t(1).a,t0)
|
||||
self.assertTrue(db.t(1,a=None)==None)
|
||||
self.assertFalse(db.t(1,a=t0)==None)
|
||||
self.assertEqual(row.a,t0)
|
||||
self.assertEqual(row['a'],t0)
|
||||
self.assertEqual(row['t.a'],t0)
|
||||
self.assertEqual(row('t.a'),t0)
|
||||
|
||||
## Lazy and Virtual fields
|
||||
db.t.b = Field.Virtual(lambda row: row.t.a)
|
||||
db.t.c = Field.Lazy(lambda row: row.t.a)
|
||||
row = db().select(db.t.a)[0]
|
||||
self.assertEqual(row.b,t0)
|
||||
self.assertEqual(row.c(),t0)
|
||||
|
||||
db.t.drop()
|
||||
db.define_table('t', Field('a', 'time', default='11:30'))
|
||||
t0 = datetime.time(10, 30, 55)
|
||||
|
||||
Reference in New Issue
Block a user