1
0
mirror of synced 2024-12-15 07:36:03 +03:00
doctrine2/tests/Orm/Entity/AccessorTest.php

87 lines
2.3 KiB
PHP
Raw Normal View History

2008-05-26 00:57:32 +04:00
<?php
2009-01-04 19:15:32 +03:00
/* CURRENTLY NOT USED */
2008-05-26 00:57:32 +04:00
require_once 'lib/DoctrineTestInit.php';
2008-07-11 14:48:04 +04:00
class Orm_Entity_AccessorTest extends Doctrine_OrmTestCase
2008-05-26 00:57:32 +04:00
{
public function testGetterSetterOverride()
2008-07-11 14:48:04 +04:00
{
2008-05-26 00:57:32 +04:00
$entity1 = new CustomAccessorMutatorTestEntity();
$entity1->username = 'romanb';
$this->assertEquals('romanb?!', $entity1->username);
$entity2 = new MagicAccessorMutatorTestEntity();
$entity2->username = 'romanb';
$this->assertEquals('romanb?!', $entity1->username);
}
}
2008-07-11 14:48:04 +04:00
/* Local test classes */
class CustomAccessorMutatorTestEntity extends Doctrine_Common_VirtualPropertyObject
2008-05-26 00:57:32 +04:00
{
static function construct() {
Doctrine_Common_VirtualPropertySystem::register(__CLASS__, 'id', 'int');
Doctrine_Common_VirtualPropertySystem::register(__CLASS__,
'username', 'string', 'getUsernameCustom', 'setUsernameCustom');
}
public static function initMetadata($mapping)
2008-05-26 00:57:32 +04:00
{
$mapping->mapField(array(
'fieldName' => 'id',
'type' => 'integer',
'length' => 4,
'id' => true
));
$mapping->mapField(array(
'fieldName' => 'username',
'type' => 'string',
'length' => 50
));
2008-05-26 00:57:32 +04:00
}
public function getUsernameCustom()
{
2008-08-02 21:41:37 +04:00
return $this->_get('username') . "!";
2008-05-26 00:57:32 +04:00
}
public function setUsernameCustom($username)
{
2008-08-02 21:41:37 +04:00
$this->_set('username', $username . "?");
2008-05-26 00:57:32 +04:00
}
}
class MagicAccessorMutatorTestEntity extends Doctrine_Common_VirtualPropertyObject
2008-05-26 00:57:32 +04:00
{
static function construct() {
Doctrine_Common_VirtualPropertySystem::register(__CLASS__, 'id', 'int');
Doctrine_Common_VirtualPropertySystem::register(__CLASS__, 'username', 'string');
}
public static function initMetadata($mapping)
2008-05-26 00:57:32 +04:00
{
$mapping->mapField(array(
'fieldName' => 'id',
'type' => 'integer',
'length' => 4,
'id' => true
));
$mapping->mapField(array(
'fieldName' => 'username',
'type' => 'string',
'length' => 50
));
2008-05-26 00:57:32 +04:00
}
public function getUsername()
{
2008-08-02 21:41:37 +04:00
return $this->_get('username') . "!";
2008-05-26 00:57:32 +04:00
}
public function setUsername($username)
{
2008-08-02 21:41:37 +04:00
$this->_set('username', $username . "?");
2008-05-26 00:57:32 +04:00
}
}