Development

/branches/1.4/lib/plugins/sfDoctrinePlugin/test/unit/record/sfDoctrineRecordTest.php

You must first sign up to be able to contribute.

root/branches/1.4/lib/plugins/sfDoctrinePlugin/test/unit/record/sfDoctrineRecordTest.php

Revision 24343, 1.7 kB (checked in by Kris.Wallsmith, 3 years ago)

[1.3, 1.4] added tests for sfDoctrineRecord (refs #7220, #7392)

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
Line 
1 <?php
2
3 $app = 'frontend';
4 include dirname(__FILE__).'/../../bootstrap/functional.php';
5
6 $t = new lime_test(6);
7
8 // ->__construct()
9 $t->diag('->__construct()');
10
11 function is_symfony_i18n_filter($filter)
12 {
13   return $filter instanceof sfDoctrineRecordI18nFilter;
14 }
15
16 $table = Doctrine_Core::getTable('Article');
17 new Article();
18 $t->is(count(array_filter($table->getFilters(), 'is_symfony_i18n_filter')), 1, '->__construct() adds i18n filter');
19 new Article();
20 $t->is(count(array_filter($table->getFilters(), 'is_symfony_i18n_filter')), 1, '->__construct() adds i18n filter once');
21
22 // ->serialize() ->unserialize()
23 $t->diag('->serialize() ->unserialize()');
24
25 $before = new Author();
26 $before->name = 'test';
27 $serialized = serialize($before);
28 $after = unserialize($serialized);
29 $t->is($after->name, 'test', '->unserialize() maintains field values');
30
31 $conn = Doctrine_Manager::getInstance()->getConnectionForComponent('Author');
32 $before = new Author();
33 $before->name = 'test';
34 $serialized = serialize($before);
35 $conn->clear();
36 $conn->evictTables();
37 $after = unserialize($serialized);
38 $t->is($after->name, 'test', '->unserialize() maintains field values upon reset');
39
40 $before = new Article();
41 $before->title = 'test';
42 $serialized = serialize($before);
43 $after = unserialize($serialized);
44 $t->is($after->title, 'test', '->unserialize() maintains field values on I18n records');
45
46 $conn = Doctrine_Manager::getInstance()->getConnectionForComponent('Article');
47 $before = new Article();
48 $before->title = 'test';
49 $serialized = serialize($before);
50 $conn->clear();
51 $conn->evictTables();
52 $after = unserialize($serialized);
53 $t->is($after->title, 'test', '->unserialize() maintains field values on I18n records upon reset');
54
Note: See TracBrowser for help on using the browser.