Verified Commit 89ac074f authored by Lauri Timmanee's avatar Lauri Timmanee
Browse files

Issue #3361034 by Wim Leers, fago, borisson_, longwave: Make 'sequence' Typed...

Issue #3361034 by Wim Leers, fago, borisson_, longwave:  Make 'sequence' Typed Data instances return type of 'sequence' instead of 'list'
parent 224c6734
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -25,4 +25,11 @@ public function getOrderBy() {
    return $this->definition['orderby'] ?? NULL;
  }

  /**
   * {@inheritdoc}
   */
  public function getDataType() {
    return 'sequence';
  }

}
+4 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace Drupal\KernelTests\Config;

use Drupal\Core\Config\Schema\Sequence;
use Drupal\Core\Config\Schema\SequenceDataDefinition;
use Drupal\Core\Config\Schema\TypedConfigInterface;
use Drupal\Core\TypedData\ComplexDataDefinitionInterface;
@@ -73,6 +74,9 @@ public function testTypedDataAPI() {
    // Test accessing sequences.
    $sequence = $typed_config->get('giraffe');
    /** @var \Drupal\Core\TypedData\ListInterface $sequence */
    $this->assertInstanceOf(SequenceDataDefinition::class, $sequence->getDataDefinition());
    $this->assertSame(Sequence::class, $sequence->getDataDefinition()->getClass());
    $this->assertSame('sequence', $sequence->getDataDefinition()->getDataType());
    $this->assertInstanceOf(ComplexDataInterface::class, $sequence);
    $this->assertInstanceOf(StringInterface::class, $sequence->get('hum1'));
    $this->assertEquals('hum1', $sequence->get('hum1')->getValue());