当前位置: 首页>>代码示例>>PHP>>正文


PHP ConfigEntityInterface::getConfigDependencyKey方法代码示例

本文整理汇总了PHP中Drupal\Core\Config\Entity\ConfigEntityInterface::getConfigDependencyKey方法的典型用法代码示例。如果您正苦于以下问题:PHP ConfigEntityInterface::getConfigDependencyKey方法的具体用法?PHP ConfigEntityInterface::getConfigDependencyKey怎么用?PHP ConfigEntityInterface::getConfigDependencyKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Drupal\Core\Config\Entity\ConfigEntityInterface的用法示例。


在下文中一共展示了ConfigEntityInterface::getConfigDependencyKey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testTrackerDependency

 /**
  * Tests a tracker with a dependency that gets removed.
  *
  * @param bool $remove_dependency
  *   Whether to remove the dependency from the tracker when the object
  *   depended on is deleted.
  *
  * @dataProvider dependencyTestDataProvider
  */
 public function testTrackerDependency($remove_dependency)
 {
     // Set the tracker for the index and save it. The tracker configuration
     // contains the dependencies it will return – in our case, we use the test
     // server.
     $dependency_key = $this->dependency->getConfigDependencyKey();
     $dependency_name = $this->dependency->getConfigDependencyName();
     $tracker = \Drupal::getContainer()->get('plugin.manager.search_api.tracker')->createInstance('search_api_test_dependencies', array($dependency_key => array($dependency_name)));
     $this->index->setTracker($tracker);
     $this->index->save();
     // Check the dependencies were calculated correctly.
     $dependencies = $this->index->getDependencies();
     $this->assertContains($dependency_name, $dependencies[$dependency_key], 'Tracker dependency correctly inserted');
     // Set our magic state key to let the test plugin know whether the
     // dependency should be removed or not. See
     // \Drupal\search_api_test_dependencies\Plugin\search_api\tracker\TestTracker::onDependencyRemoval().
     $key = 'search_api_test_dependencies.tracker.remove';
     \Drupal::state()->set($key, $remove_dependency);
     // If the index resets the tracker, it needs to know the ID of the default
     // tracker.
     if (!$remove_dependency) {
         \Drupal::configFactory()->getEditable('search_api.settings')->set('default_tracker', 'default')->save();
     }
     // Delete the tracker's dependency.
     $this->dependency->delete();
     // Reload the index and check it's still there.
     $this->reloadIndex();
     $this->assertInstanceOf('Drupal\\search_api\\IndexInterface', $this->index, 'Index not removed');
     // Make sure the dependency has been removed, one way or the other.
     $dependencies = $this->index->getDependencies();
     $dependencies += array($dependency_key => array());
     $this->assertNotContains($dependency_name, $dependencies[$dependency_key], 'Tracker dependency removed from index');
     // Depending on whether the plugin should have removed the dependency or
     // not, make sure the right action was taken.
     $tracker_instance = $this->index->getTrackerInstance();
     $tracker_id = $tracker_instance->getPluginId();
     $tracker_config = $tracker_instance->getConfiguration();
     if ($remove_dependency) {
         $this->assertEquals('search_api_test_dependencies', $tracker_id, 'Tracker not reset');
         $this->assertEmpty($tracker_config, 'Tracker settings adapted');
     } else {
         $this->assertEquals('default', $tracker_id, 'Tracker was reset');
         $this->assertEmpty($tracker_config, 'Tracker settings were cleared');
     }
 }
开发者ID:curveagency,项目名称:intranet,代码行数:54,代码来源:DependencyRemovalTest.php


注:本文中的Drupal\Core\Config\Entity\ConfigEntityInterface::getConfigDependencyKey方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。