| 1 |
<?php |
|---|
| 2 |
|
|---|
| 3 |
require_once(dirname(__FILE__).'/helper/dmTestHelper.php'); |
|---|
| 4 |
$helper = new dmTestHelper(); |
|---|
| 5 |
$helper->boot(); |
|---|
| 6 |
|
|---|
| 7 |
$t = new lime_test(); |
|---|
| 8 |
|
|---|
| 9 |
$settingTable = dmDb::table('DmSetting'); |
|---|
| 10 |
$settingTranslationTable = dmDb::table('DmSettingTranslation'); |
|---|
| 11 |
$user = $helper->get('user'); |
|---|
| 12 |
$i18n = $helper->get('i18n'); |
|---|
| 13 |
|
|---|
| 14 |
$i18n->setCultures(array_merge( |
|---|
| 15 |
$i18n->getCultures(), |
|---|
| 16 |
array('c1', 'c2') |
|---|
| 17 |
)); |
|---|
| 18 |
|
|---|
| 19 |
$user->setCulture(sfConfig::get('sf_default_culture')); |
|---|
| 20 |
|
|---|
| 21 |
$t->diag('Clearing settings translations for cultures c1 and c2'); |
|---|
| 22 |
|
|---|
| 23 |
$settingTranslationTable->createQuery('t')->whereIn('t.lang', array('c1', 'c2'))->delete()->execute(); |
|---|
| 24 |
|
|---|
| 25 |
$t->diag('load a setting'); |
|---|
| 26 |
$setting = dmDb::query('DmSetting s')->withI18n()->fetchOne(); |
|---|
| 27 |
|
|---|
| 28 |
$form = new DmSettingForm($setting); |
|---|
| 29 |
|
|---|
| 30 |
$settingValues = $setting->toArrayWithI18n(false); |
|---|
| 31 |
unset($settingValues['lang']); |
|---|
| 32 |
ksort($settingValues); |
|---|
| 33 |
$formDefaults = $form->getDefaults(); |
|---|
| 34 |
ksort($formDefaults); |
|---|
| 35 |
$t->is($formDefaults, $settingValues, 'Form defaults contain i18n existing values'); |
|---|
| 36 |
|
|---|
| 37 |
$t->diag('Giving the user a new culture the setting does NOT have'); |
|---|
| 38 |
$user->setCulture('c1'); |
|---|
| 39 |
|
|---|
| 40 |
$form = new DmSettingForm($setting); |
|---|
| 41 |
|
|---|
| 42 |
$settingValues = $setting->toArrayWithI18n(false); |
|---|
| 43 |
|
|---|
| 44 |
unset($settingValues['lang']); |
|---|
| 45 |
ksort($settingValues); |
|---|
| 46 |
$formDefaults = $form->getDefaults(); |
|---|
| 47 |
ksort($formDefaults); |
|---|
| 48 |
$t->is($formDefaults, $settingValues, 'Form defaults contain i18n fallback values'); |
|---|