+ /**
+ * Test that local tasks blocks cache is invalidated correctly.
+ */
+ public function testLocalTaskBlockCache() {
+ $this->drupalLogin($this->rootUser);
+ $this->drupalCreateContentType(['type' => 'page']);
+
+ $this->drupalGet('/admin/structure/types/manage/page');
+
+ // Only the Edit task. The block avoids showing a single tab.
+ $this->assertNoLocalTasks();
+
+ // Field UI adds the usual Manage fields etc tabs.
+ \Drupal::service('module_installer')->install(['field_ui']);
+
+ $this->drupalGet('/admin/structure/types/manage/page');
+
+ $this->assertLocalTasks([
+ ['entity.node_type.edit_form', ['node_type' => 'page']],
+ ['entity.node.field_ui_fields', ['node_type' => 'page']],
+ ['entity.entity_form_display.node.default', ['node_type' => 'page']],
+ ['entity.entity_view_display.node.default', ['node_type' => 'page']],
+ ]);
+ }
+