class AnnotationLoaderTest in Plug 7
Hierarchy
- class \Symfony\Component\Validator\Tests\Mapping\Loader\AnnotationLoaderTest extends \Symfony\Component\Validator\Tests\Mapping\Loader\PHPUnit_Framework_TestCase
Expanded class hierarchy of AnnotationLoaderTest
File
- lib/
Symfony/ validator/ Symfony/ Component/ Validator/ Tests/ Mapping/ Loader/ AnnotationLoaderTest.php, line 36
Namespace
Symfony\Component\Validator\Tests\Mapping\LoaderView source
class AnnotationLoaderTest extends \PHPUnit_Framework_TestCase {
public function testLoadClassMetadataReturnsTrueIfSuccessful() {
$reader = new AnnotationReader();
$loader = new AnnotationLoader($reader);
$metadata = new ClassMetadata('Symfony\\Component\\Validator\\Tests\\Fixtures\\Entity');
$this
->assertTrue($loader
->loadClassMetadata($metadata));
}
public function testLoadClassMetadataReturnsFalseIfNotSuccessful() {
$loader = new AnnotationLoader(new AnnotationReader());
$metadata = new ClassMetadata('\\stdClass');
$this
->assertFalse($loader
->loadClassMetadata($metadata));
}
public function testLoadClassMetadata() {
$loader = new AnnotationLoader(new AnnotationReader());
$metadata = new ClassMetadata('Symfony\\Component\\Validator\\Tests\\Fixtures\\Entity');
$loader
->loadClassMetadata($metadata);
$expected = new ClassMetadata('Symfony\\Component\\Validator\\Tests\\Fixtures\\Entity');
$expected
->setGroupSequence(array(
'Foo',
'Entity',
));
$expected
->addConstraint(new ConstraintA());
$expected
->addConstraint(new Callback(array(
'Symfony\\Component\\Validator\\Tests\\Fixtures\\CallbackClass',
'callback',
)));
$expected
->addConstraint(new Callback('validateMe'));
$expected
->addConstraint(new Callback('validateMeStatic'));
$expected
->addPropertyConstraint('firstName', new NotNull());
$expected
->addPropertyConstraint('firstName', new Range(array(
'min' => 3,
)));
$expected
->addPropertyConstraint('firstName', new All(array(
new NotNull(),
new Range(array(
'min' => 3,
)),
)));
$expected
->addPropertyConstraint('firstName', new All(array(
'constraints' => array(
new NotNull(),
new Range(array(
'min' => 3,
)),
),
)));
$expected
->addPropertyConstraint('firstName', new Collection(array(
'fields' => array(
'foo' => array(
new NotNull(),
new Range(array(
'min' => 3,
)),
),
'bar' => new Range(array(
'min' => 5,
)),
),
)));
$expected
->addPropertyConstraint('firstName', new Choice(array(
'message' => 'Must be one of %choices%',
'choices' => array(
'A',
'B',
),
)));
$expected
->addGetterConstraint('lastName', new NotNull());
$expected
->addGetterConstraint('valid', new IsTrue());
$expected
->addGetterConstraint('permissions', new IsTrue());
// load reflection class so that the comparison passes
$expected
->getReflectionClass();
$this
->assertEquals($expected, $metadata);
}
/**
* Test MetaData merge with parent annotation.
*/
public function testLoadParentClassMetadata() {
$loader = new AnnotationLoader(new AnnotationReader());
// Load Parent MetaData
$parent_metadata = new ClassMetadata('Symfony\\Component\\Validator\\Tests\\Fixtures\\EntityParent');
$loader
->loadClassMetadata($parent_metadata);
$expected_parent = new ClassMetadata('Symfony\\Component\\Validator\\Tests\\Fixtures\\EntityParent');
$expected_parent
->addPropertyConstraint('other', new NotNull());
$expected_parent
->getReflectionClass();
$this
->assertEquals($expected_parent, $parent_metadata);
}
/**
* Test MetaData merge with parent annotation.
*/
public function testLoadClassMetadataAndMerge() {
$loader = new AnnotationLoader(new AnnotationReader());
// Load Parent MetaData
$parent_metadata = new ClassMetadata('Symfony\\Component\\Validator\\Tests\\Fixtures\\EntityParent');
$loader
->loadClassMetadata($parent_metadata);
$metadata = new ClassMetadata('Symfony\\Component\\Validator\\Tests\\Fixtures\\Entity');
// Merge parent metaData.
$metadata
->mergeConstraints($parent_metadata);
$loader
->loadClassMetadata($metadata);
$expected_parent = new ClassMetadata('Symfony\\Component\\Validator\\Tests\\Fixtures\\EntityParent');
$expected_parent
->addPropertyConstraint('other', new NotNull());
$expected_parent
->getReflectionClass();
$expected = new ClassMetadata('Symfony\\Component\\Validator\\Tests\\Fixtures\\Entity');
$expected
->mergeConstraints($expected_parent);
$expected
->setGroupSequence(array(
'Foo',
'Entity',
));
$expected
->addConstraint(new ConstraintA());
$expected
->addConstraint(new Callback(array(
'Symfony\\Component\\Validator\\Tests\\Fixtures\\CallbackClass',
'callback',
)));
$expected
->addConstraint(new Callback('validateMe'));
$expected
->addConstraint(new Callback('validateMeStatic'));
$expected
->addPropertyConstraint('firstName', new NotNull());
$expected
->addPropertyConstraint('firstName', new Range(array(
'min' => 3,
)));
$expected
->addPropertyConstraint('firstName', new All(array(
new NotNull(),
new Range(array(
'min' => 3,
)),
)));
$expected
->addPropertyConstraint('firstName', new All(array(
'constraints' => array(
new NotNull(),
new Range(array(
'min' => 3,
)),
),
)));
$expected
->addPropertyConstraint('firstName', new Collection(array(
'fields' => array(
'foo' => array(
new NotNull(),
new Range(array(
'min' => 3,
)),
),
'bar' => new Range(array(
'min' => 5,
)),
),
)));
$expected
->addPropertyConstraint('firstName', new Choice(array(
'message' => 'Must be one of %choices%',
'choices' => array(
'A',
'B',
),
)));
$expected
->addGetterConstraint('lastName', new NotNull());
$expected
->addGetterConstraint('valid', new IsTrue());
$expected
->addGetterConstraint('permissions', new IsTrue());
// load reflection class so that the comparison passes
$expected
->getReflectionClass();
$this
->assertEquals($expected, $metadata);
}
public function testLoadGroupSequenceProviderAnnotation() {
$loader = new AnnotationLoader(new AnnotationReader());
$metadata = new ClassMetadata('Symfony\\Component\\Validator\\Tests\\Fixtures\\GroupSequenceProviderEntity');
$loader
->loadClassMetadata($metadata);
$expected = new ClassMetadata('Symfony\\Component\\Validator\\Tests\\Fixtures\\GroupSequenceProviderEntity');
$expected
->setGroupSequenceProvider(true);
$expected
->getReflectionClass();
$this
->assertEquals($expected, $metadata);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AnnotationLoaderTest:: |
public | function | ||
AnnotationLoaderTest:: |
public | function | Test MetaData merge with parent annotation. | |
AnnotationLoaderTest:: |
public | function | ||
AnnotationLoaderTest:: |
public | function | ||
AnnotationLoaderTest:: |
public | function | ||
AnnotationLoaderTest:: |
public | function | Test MetaData merge with parent annotation. |