From 56422aede25bc61c69f47d9667b50cd5fe567285 Mon Sep 17 00:00:00 2001 From: Andrew Short Date: Thu, 14 Nov 2013 23:43:38 +1100 Subject: [PATCH] Add test for the multi class classes getter. --- tests/GridFieldAddNewMultiClassTest.php | 58 +++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 tests/GridFieldAddNewMultiClassTest.php diff --git a/tests/GridFieldAddNewMultiClassTest.php b/tests/GridFieldAddNewMultiClassTest.php new file mode 100644 index 0000000..9882e0b --- /dev/null +++ b/tests/GridFieldAddNewMultiClassTest.php @@ -0,0 +1,58 @@ +setModelClass('GridFieldAddNewMultiClassTest_A'); + + $component = new GridFieldAddNewMultiClass(); + + $this->assertEquals( + array( + 'GridFieldAddNewMultiClassTest_A' => 'A', + 'GridFieldAddNewMultiClassTest_B' => 'B', + 'GridFieldAddNewMultiClassTest_C' => 'C' + ), + $component->getClasses($grid), + 'Subclasses are populated by default and sorted' + ); + + $component->setClasses(array( + 'GridFieldAddNewMultiClassTest_B' => 'Custom Title', + 'GridFieldAddNewMultiClassTest_A' + )); + + $this->assertEquals( + array( + 'GridFieldAddNewMultiClassTest_B' => 'Custom Title', + 'GridFieldAddNewMultiClassTest_A' => 'A' + ), + $component->getClasses($grid), + 'Sorting and custom titles can be specified' + ); + } + +} + +/**#@+ + * @ignore + */ + +class GridFieldAddNewMultiClassTest_A { + public function i18n_singular_name() { + $class = get_class($this); + return substr($class, strpos($class, '_') + 1); + } + + public function canCreate() { + return true; + } +} + +class GridFieldAddNewMultiClassTest_B extends GridFieldAddNewMultiClassTest_A {} +class GridFieldAddNewMultiClassTest_C extends GridFieldAddNewMultiClassTest_A {} + +/**#@-*/