function Test_of_decomposeCombinedAttribute() { $User = new AkTestUser(); $User->addCombinedAttributeConfiguration('name', "%s %s", 'first_name', 'last_name'); $User->addCombinedAttributeConfiguration('reversed_name', "%[^,], %s", 'last_name', 'first_name'); $User->addCombinedAttributeConfiguration('email_link', array("callBackFunctionCompose", "callBackFunctionDecompose"), 'email', 'name'); $User->addCombinedAttributeConfiguration('email_header_from', "<%s>%s", 'email', 'name'); $User->setAttribute('name', 'Bermi Ferrer'); $this->assertEqual($User->getAttribute('first_name'), 'Bermi'); $this->assertEqual($User->last_name, 'Ferrer'); $User->set('reversed_name', 'Hervas, Hilario'); $this->assertEqual($User->first_name, 'Hilario'); $this->assertEqual($User->last_name, 'Hervas'); $User->email_link = "<a href='mailto:nospam@example.com'>Bermi Ferrer</a>"; $User->decomposeCombinedAttribute('email_link'); $this->assertEqual($User->email, '*****@*****.**'); $this->assertEqual($User->name, 'Bermi Ferrer'); $this->assertEqual($User->get('email_header_from'), '<*****@*****.**>Bermi Ferrer'); }