Exemple #1
0
 function Test_of_composeCombinedAttribute()
 {
     $User = new AkTestUser();
     $User->addCombinedAttributeConfiguration('name', "%s %s", 'first_name', 'last_name');
     $User->addCombinedAttributeConfiguration('reversed_name', "%s, %s", 'last_name', 'first_name');
     $User->addCombinedAttributeConfiguration('reversed_name', array("%s, %s", "%[^,], %s"), 'last_name', 'first_name');
     $User->addCombinedAttributeConfiguration('email_link', array("callBackFunctionCompose", "callBackFunctionDecompose"), 'email', 'name');
     $User->addCombinedAttributeConfiguration('email_header_from', "<%s>%s", 'email', 'name');
     $User->first_name = 'Bermi';
     $User->last_name = 'Ferrer';
     $User->composeCombinedAttribute('name');
     $User->composeCombinedAttribute('reversed_name');
     $this->assertEqual($User->name, 'Bermi Ferrer');
     $this->assertEqual($User->reversed_name, 'Ferrer, Bermi');
     $User->setAttribute('last_name', 'Ferrer');
     $User->first_name = 'Bermi';
     $this->assertEqual($User->getAttribute('name'), 'Bermi Ferrer');
     $User->first_name = 'Hilario';
     $User->set('last_name', 'Hervas');
     $this->assertEqual($User->get('reversed_name'), 'Hervas, Hilario');
     $User = new AkTestUser();
     $User->addCombinedAttributeConfiguration(array('name', "%s %s", 'first_name', 'last_name'));
     // This is how combined attributes are added when they are set trhough a model variable
     $User->first_name = 'Bermi';
     $User->last_name = 'Ferrer';
     $User->composeCombinedAttribute('name');
     $this->assertEqual($User->name, 'Bermi Ferrer');
 }