install(['test_theme']); $manager = \Drupal::service('plugin.manager.condition'); /** @var $condition \Drupal\Core\Condition\ConditionInterface */ $condition = $manager->createInstance('current_theme'); $condition->setConfiguration(['theme' => 'test_theme']); /** @var $condition_negated \Drupal\Core\Condition\ConditionInterface */ $condition_negated = $manager->createInstance('current_theme'); $condition_negated->setConfiguration(['theme' => 'test_theme', 'negate' => TRUE]); $this->assertEqual($condition->summary(), new FormattableMarkup('The current theme is @theme', ['@theme' => 'test_theme'])); $this->assertEqual($condition_negated->summary(), new FormattableMarkup('The current theme is not @theme', ['@theme' => 'test_theme'])); // The expected theme has not been set up yet. $this->assertFalse($condition->execute()); $this->assertTrue($condition_negated->execute()); // Set the expected theme to be used. $this->config('system.theme')->set('default', 'test_theme')->save(); \Drupal::theme()->resetActiveTheme(); $this->assertTrue($condition->execute()); $this->assertFalse($condition_negated->execute()); } }