| 1 |
<?php |
|---|
| 2 |
|
|---|
| 3 |
$app = 'frontend'; |
|---|
| 4 |
include dirname(__FILE__).'/../../bootstrap/functional.php'; |
|---|
| 5 |
|
|---|
| 6 |
$t = new lime_test(6); |
|---|
| 7 |
|
|---|
| 8 |
|
|---|
| 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 |
|
|---|
| 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 |
|
|---|