2012-01-30 15:47:22 +01:00
|
|
|
<?php
|
|
|
|
/**
|
2012-04-12 08:02:46 +02:00
|
|
|
* @package framework
|
2012-01-30 15:47:22 +01:00
|
|
|
* @subpackage tests
|
|
|
|
*/
|
|
|
|
|
|
|
|
class GridFieldConfigTest extends SapphireTest {
|
|
|
|
|
2012-09-19 12:07:39 +02:00
|
|
|
public function testGetComponents() {
|
2012-01-30 15:47:22 +01:00
|
|
|
$config = GridFieldConfig::create();
|
2012-05-09 12:43:22 +02:00
|
|
|
$this->assertInstanceOf('ArrayList', $config->getComponents());
|
2012-01-30 15:47:22 +01:00
|
|
|
$this->assertEquals($config->getComponents()->Count(), 0);
|
|
|
|
|
|
|
|
$config
|
|
|
|
->addComponent($c1 = new GridFieldConfigTest_MyComponent())
|
|
|
|
->addComponent($c2 = new GridFieldConfigTest_MyOtherComponent())
|
|
|
|
->addComponent($c3 = new GridFieldConfigTest_MyOtherComponent());
|
|
|
|
|
|
|
|
$this->assertEquals(
|
|
|
|
new ArrayList(array($c1, $c2, $c3)),
|
|
|
|
$config->getComponents()
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2012-09-19 12:07:39 +02:00
|
|
|
public function testGetComponentsByType() {
|
2012-01-30 15:47:22 +01:00
|
|
|
$config = GridFieldConfig::create()
|
|
|
|
->addComponent($c1 = new GridFieldConfigTest_MyComponent())
|
|
|
|
->addComponent($c2 = new GridFieldConfigTest_MyOtherComponent())
|
|
|
|
->addComponent($c3 = new GridFieldConfigTest_MyOtherComponent());
|
|
|
|
|
|
|
|
$this->assertEquals(
|
|
|
|
new ArrayList(array($c1)),
|
|
|
|
$config->getComponentsByType('GridFieldConfigTest_MyComponent')
|
|
|
|
);
|
|
|
|
$this->assertEquals(
|
|
|
|
new ArrayList(array($c2, $c3)),
|
|
|
|
$config->getComponentsByType('GridFieldConfigTest_MyOtherComponent')
|
|
|
|
);
|
|
|
|
$this->assertEquals(
|
|
|
|
new ArrayList(array($c1, $c2, $c3)),
|
|
|
|
$config->getComponentsByType('GridField_URLHandler')
|
|
|
|
);
|
|
|
|
$this->assertEquals(
|
|
|
|
new ArrayList(),
|
|
|
|
$config->getComponentsByType('GridFieldConfigTest_UnknownComponent')
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2012-09-19 12:07:39 +02:00
|
|
|
public function testGetComponentByType() {
|
2012-01-30 15:47:22 +01:00
|
|
|
$config = GridFieldConfig::create()
|
|
|
|
->addComponent($c1 = new GridFieldConfigTest_MyComponent())
|
|
|
|
->addComponent($c2 = new GridFieldConfigTest_MyOtherComponent())
|
|
|
|
->addComponent($c3 = new GridFieldConfigTest_MyOtherComponent());
|
|
|
|
|
|
|
|
$this->assertEquals(
|
|
|
|
$c1,
|
|
|
|
$config->getComponentByType('GridFieldConfigTest_MyComponent')
|
|
|
|
);
|
|
|
|
$this->assertEquals(
|
|
|
|
$c2,
|
|
|
|
$config->getComponentByType('GridFieldConfigTest_MyOtherComponent')
|
|
|
|
);
|
|
|
|
$this->assertNull(
|
|
|
|
$config->getComponentByType('GridFieldConfigTest_UnknownComponent')
|
|
|
|
);
|
|
|
|
}
|
2012-02-21 22:06:41 +01:00
|
|
|
|
|
|
|
public function testAddComponents() {
|
|
|
|
$config = GridFieldConfig::create()
|
|
|
|
->addComponents(
|
|
|
|
$c1 = new GridFieldConfigTest_MyComponent(),
|
|
|
|
$c2 = new GridFieldConfigTest_MyOtherComponent()
|
|
|
|
);
|
|
|
|
|
|
|
|
$this->assertEquals(
|
|
|
|
$c1,
|
|
|
|
$config->getComponentByType('GridFieldConfigTest_MyComponent')
|
|
|
|
);
|
|
|
|
$this->assertEquals(
|
|
|
|
$c2,
|
|
|
|
$config->getComponentByType('GridFieldConfigTest_MyOtherComponent')
|
|
|
|
);
|
|
|
|
}
|
2012-01-30 15:47:22 +01:00
|
|
|
|
2012-03-08 08:00:22 +01:00
|
|
|
public function testRemoveComponents() {
|
|
|
|
$config = GridFieldConfig::create()
|
|
|
|
->addComponent($c1 = new GridFieldConfigTest_MyComponent())
|
|
|
|
->addComponent($c2 = new GridFieldConfigTest_MyComponent())
|
|
|
|
->addComponent($c3 = new GridFieldConfigTest_MyOtherComponent())
|
|
|
|
->addComponent($c4 = new GridFieldConfigTest_MyOtherComponent());
|
|
|
|
|
|
|
|
$this->assertEquals(
|
|
|
|
4,
|
|
|
|
$config->getComponents()->count()
|
|
|
|
);
|
|
|
|
|
|
|
|
$config->removeComponent($c1);
|
|
|
|
$this->assertEquals(
|
|
|
|
3,
|
|
|
|
$config->getComponents()->count()
|
|
|
|
);
|
|
|
|
|
|
|
|
$config->removeComponentsByType("GridFieldConfigTest_MyComponent");
|
|
|
|
$this->assertEquals(
|
|
|
|
2,
|
|
|
|
$config->getComponents()->count()
|
|
|
|
);
|
|
|
|
|
|
|
|
$config->removeComponentsByType("GridFieldConfigTest_MyOtherComponent");
|
|
|
|
$this->assertEquals(
|
|
|
|
0,
|
|
|
|
$config->getComponents()->count()
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2012-01-30 15:47:22 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
class GridFieldConfigTest_MyComponent implements GridField_URLHandler, TestOnly {
|
2012-09-19 12:07:39 +02:00
|
|
|
public function getURLHandlers($gridField) {return array();}
|
2012-01-30 15:47:22 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
class GridFieldConfigTest_MyOtherComponent implements GridField_URLHandler, TestOnly {
|
2012-09-19 12:07:39 +02:00
|
|
|
public function getURLHandlers($gridField) {return array();}
|
2012-03-24 04:04:52 +01:00
|
|
|
}
|