Unverified Commit 5dd07510 authored by Alex Pott's avatar Alex Pott
Browse files

task: #3557461 Deprecate EntityTypeInterface::getOriginalClass

By: grimreaper
By: smustgrave
By: alexpott
parent d07aa8d2
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -474,6 +474,7 @@ public function hasKey($key) {
   * {@inheritdoc}
   */
  public function getOriginalClass() {
    @trigger_error('The "getOriginalClass" method is deprecated in drupal:11.4.0 and will be removed in drupal:12.0.0. Use getDecoratedClasses() instead. See https://www.drupal.org/node/3557464', E_USER_DEPRECATED);
    return $this->originalClass ?: $this->class;
  }

+5 −0
Original line number Diff line number Diff line
@@ -65,6 +65,11 @@ public function set($property, $value);
   *
   * @return string
   *   The name of the original entity type class.
   *
   * @deprecated in drupal:11.4.0 and is removed from drupal:12.0.0. Use
   *   getDecoratedClasses() instead.
   *
   * @see https://www.drupal.org/node/3557464
   */
  public function getOriginalClass();

+0 −9
Original line number Diff line number Diff line
@@ -131,10 +131,8 @@ public function testGetEntityTypeFromClass(): void {
      'banana' => $banana,
    ]);

    $apple->getOriginalClass()->willReturn('\Drupal\apple\Entity\Apple');
    $apple->getDecoratedClasses()->willReturn(['\Drupal\apple\Entity\Apple']);

    $banana->getOriginalClass()->willReturn('\Drupal\banana\Entity\Banana');
    $banana->getDecoratedClasses()->willReturn(['\Drupal\banana\Entity\Banana']);
    $banana->getClass()->willReturn('\Drupal\mango\Entity\Mango');
    $banana->id()
@@ -159,9 +157,7 @@ public function testGetEntityTypeFromClassNoMatch(): void {
      'banana' => $banana,
    ]);

    $apple->getOriginalClass()->willReturn('\Drupal\apple\Entity\Apple');
    $apple->getDecoratedClasses()->willReturn(['\Drupal\apple\Entity\Apple']);
    $banana->getOriginalClass()->willReturn('\Drupal\banana\Entity\Banana');
    $banana->getDecoratedClasses()->willReturn(['\Drupal\banana\Entity\Banana']);

    $this->expectException(NoCorrespondingEntityClassException::class);
@@ -174,12 +170,10 @@ public function testGetEntityTypeFromClassNoMatch(): void {
   */
  public function testGetEntityTypeFromClassAmbiguous(): void {
    $jazz = $this->prophesize(EntityTypeInterface::class);
    $jazz->getOriginalClass()->willReturn('\Drupal\apple\Entity\Apple');
    $jazz->getDecoratedClasses()->willReturn(['\Drupal\apple\Entity\Apple']);
    $jazz->id()->willReturn('jazz');

    $gala = $this->prophesize(EntityTypeInterface::class);
    $gala->getOriginalClass()->willReturn('\Drupal\apple\Entity\Apple');
    $gala->getDecoratedClasses()->willReturn(['\Drupal\apple\Entity\Apple']);
    $gala->id()->willReturn('gala');

@@ -198,13 +192,11 @@ public function testGetEntityTypeFromClassAmbiguous(): void {
   */
  public function testGetEntityTypeFromClassAmbiguousBundleClass(): void {
    $blackcurrant = $this->prophesize(EntityTypeInterface::class);
    $blackcurrant->getOriginalClass()->willReturn(Apple::class);
    $blackcurrant->getDecoratedClasses()->willReturn([Apple::class]);
    $blackcurrant->getClass()->willReturn(Blackcurrant::class);
    $blackcurrant->id()->willReturn('blackcurrant');

    $gala = $this->prophesize(EntityTypeInterface::class);
    $gala->getOriginalClass()->willReturn(Apple::class);
    $gala->getDecoratedClasses()->willReturn([Apple::class]);
    $gala->getClass()->willReturn(RoyalGala::class);
    $gala->id()->willReturn('gala');
@@ -231,7 +223,6 @@ public function testGetEntityTypeFromClassAmbiguousBundleClass(): void {
   */
  public function testGetEntityTypeFromClassDecoratedClass(): void {
    $apple = $this->prophesize(EntityTypeInterface::class);
    $apple->getOriginalClass()->willReturn(Apple::class);
    $apple->getDecoratedClasses()->willReturn([Apple::class, RoyalGala::class]);
    $apple->getClass()->willReturn(Apple::class);
    $apple->id()->willReturn('apple');
+5 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\Attributes\Group;
use PHPUnit\Framework\Attributes\IgnoreDeprecations;
use PHPUnit\Framework\Attributes\TestWith;

/**
@@ -324,7 +325,9 @@ public function testDerivativeIdMaxlength(bool $invalid_entity_type, bool $inval
  /**
   * Tests get original class unchanged.
   */
  #[IgnoreDeprecations]
  public function testGetOriginalClassUnchanged(): void {
    $this->expectUserDeprecationMessage('The "getOriginalClass" method is deprecated in drupal:11.4.0 and will be removed in drupal:12.0.0. Use getDecoratedClasses() instead. See https://www.drupal.org/node/3557464');
    $class = $this->randomMachineName();
    $entity_type = $this->setUpEntityType(['class' => $class]);
    $this->assertEquals($class, $entity_type->getOriginalClass());
@@ -336,7 +339,9 @@ public function testGetOriginalClassUnchanged(): void {
   * @legacy-covers ::setClass
   * @legacy-covers ::getOriginalClass
   */
  #[IgnoreDeprecations]
  public function testGetOriginalClassChanged(): void {
    $this->expectUserDeprecationMessage('The "getOriginalClass" method is deprecated in drupal:11.4.0 and will be removed in drupal:12.0.0. Use getDecoratedClasses() instead. See https://www.drupal.org/node/3557464');
    $class = $this->randomMachineName();
    $entity_type = $this->setUpEntityType(['class' => $class]);
    $entity_type->setClass($this->randomMachineName());