function Test_of_decomposeCombinedAttributes() { $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->name = 'Bermi Ferrer'; $User->decomposeCombinedAttributes(); $this->assertEqual($User->getAttribute('first_name'), 'Bermi'); $this->assertEqual($User->last_name, 'Ferrer'); $User->email_link = "<a href='mailto:nospam@example.com'>Hilario Hervas</a>"; $User->decomposeCombinedAttributes(); $this->assertEqual($User->first_name, 'Hilario'); $this->assertEqual($User->last_name, 'Hervas'); $this->assertEqual($User->name, 'Hilario Hervas'); $this->assertEqual($User->email, '*****@*****.**'); $User->name = 'Wont Precede'; $User->email_link = "<a href='mailto:nospam-again@example.com'>Must Precede</a>"; $User->decomposeCombinedAttributes(); $this->assertEqual($User->getAttribute('name'), 'Must Precede'); $this->assertEqual($User->getAttribute('email'), '*****@*****.**'); }