OptGroupTest.php 1003 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace Drupal\Tests\Core\Form;
  3. use Drupal\Tests\UnitTestCase;
  4. use Drupal\Core\Form\OptGroup;
  5. /**
  6. * @coversDefaultClass \Drupal\Core\Form\OptGroup
  7. * @group Form
  8. */
  9. class OptGroupTest extends UnitTestCase {
  10. /**
  11. * Tests the flattenOptions() method.
  12. *
  13. * @dataProvider providerTestFlattenOptions
  14. */
  15. public function testFlattenOptions($options) {
  16. $this->assertSame(['foo' => 'foo'], OptGroup::flattenOptions($options));
  17. }
  18. /**
  19. * Provides test data for the flattenOptions() method.
  20. *
  21. * @return array
  22. */
  23. public function providerTestFlattenOptions() {
  24. $object1 = new \stdClass();
  25. $object1->option = ['foo' => 'foo'];
  26. $object2 = new \stdClass();
  27. $object2->option = [['foo' => 'foo'], ['foo' => 'foo']];
  28. $object3 = new \stdClass();
  29. return [
  30. [['foo' => 'foo']],
  31. [[['foo' => 'foo']]],
  32. [[$object1]],
  33. [[$object2]],
  34. [[$object1, $object2]],
  35. [['foo' => $object3, $object1, ['foo' => 'foo']]],
  36. ];
  37. }
  38. }