You are here

public function SelectOrOtherWidgetBaseTest::testHelperMethods in Select (or other) 8.3

Tests the functionality of several small helper methods.

File

tests/src/Unit/SelectOrOtherWidgetBaseTest.php, line 129

Class

SelectOrOtherWidgetBaseTest
Tests the form element implementation.

Namespace

Drupal\tests\select_or_other\Unit

Code

public function testHelperMethods() {
  $storageStub = $this
    ->getMockForAbstractClass('\\Drupal\\Core\\Field\\FieldStorageDefinitionInterface');
  $storageStub
    ->expects($this
    ->exactly(2))
    ->method('isMultiple')
    ->will($this
    ->onConsecutiveCalls(TRUE, FALSE));
  $this->fieldDefinition
    ->expects($this
    ->exactly(2))
    ->method('getFieldStorageDefinition')
    ->willReturn($storageStub);
  $this->fieldDefinition
    ->expects($this
    ->exactly(2))
    ->method('isRequired')
    ->will($this
    ->onConsecutiveCalls(TRUE, FALSE));
  $isMultiple = new ReflectionMethod($this::$testedClassName, 'isMultiple');
  $isMultiple
    ->setAccessible(TRUE);
  $this
    ->assertTrue($isMultiple
    ->invoke($this->widgetBaseMock));
  $this
    ->assertFalse($isMultiple
    ->invoke($this->widgetBaseMock));
  $isRequired = new ReflectionMethod($this::$testedClassName, 'isRequired');
  $isRequired
    ->setAccessible(TRUE);
  $this
    ->assertTrue($isRequired
    ->invoke($this->widgetBaseMock));
  $this
    ->assertFalse($isRequired
    ->invoke($this->widgetBaseMock));
}