diff --git a/core/lib/Drupal/Core/Plugin/Context/ContextDefinition.php b/core/lib/Drupal/Core/Plugin/Context/ContextDefinition.php index 38076e354f89..cb90fd42f3b0 100644 --- a/core/lib/Drupal/Core/Plugin/Context/ContextDefinition.php +++ b/core/lib/Drupal/Core/Plugin/Context/ContextDefinition.php @@ -273,7 +273,7 @@ class ContextDefinition implements ContextDefinitionInterface { if ($context->hasContextValue()) { $values = [$context->getContextData()]; } - elseif ($definition instanceof static) { + elseif ($definition instanceof self) { $values = $definition->getSampleValues(); } else { diff --git a/core/tests/Drupal/Tests/Core/Plugin/Context/ContextDefinitionIsSatisfiedTest.php b/core/tests/Drupal/Tests/Core/Plugin/Context/ContextDefinitionIsSatisfiedTest.php index edde3f98220a..d74607584f37 100644 --- a/core/tests/Drupal/Tests/Core/Plugin/Context/ContextDefinitionIsSatisfiedTest.php +++ b/core/tests/Drupal/Tests/Core/Plugin/Context/ContextDefinitionIsSatisfiedTest.php @@ -17,6 +17,7 @@ use Drupal\Core\Plugin\Context\Context; use Drupal\Core\Plugin\Context\ContextDefinition; use Drupal\Core\TypedData\TypedDataManager; use Drupal\Core\Validation\ConstraintManager; +use Drupal\Tests\Core\Plugin\Fixtures\InheritedContextDefinition; use Drupal\Tests\UnitTestCase; use Prophecy\Argument; @@ -196,6 +197,13 @@ class ContextDefinitionIsSatisfiedTest extends UnitTestCase { new ContextDefinition('entity:test_config'), ]; + // Inherited context definition class. + $data['both any, inherited context requirement definition'] = [ + TRUE, + new InheritedContextDefinition('any'), + new ContextDefinition('any'), + ]; + return $data; } diff --git a/core/tests/Drupal/Tests/Core/Plugin/Fixtures/InheritedContextDefinition.php b/core/tests/Drupal/Tests/Core/Plugin/Fixtures/InheritedContextDefinition.php new file mode 100644 index 000000000000..f1b9839de7dc --- /dev/null +++ b/core/tests/Drupal/Tests/Core/Plugin/Fixtures/InheritedContextDefinition.php @@ -0,0 +1,12 @@ +