Version 1
[yaffs-website] / web / core / modules / block / tests / modules / block_test / src / Plugin / Block / TestCacheBlock.php
diff --git a/web/core/modules/block/tests/modules/block_test/src/Plugin/Block/TestCacheBlock.php b/web/core/modules/block/tests/modules/block_test/src/Plugin/Block/TestCacheBlock.php
new file mode 100644 (file)
index 0000000..5fec14c
--- /dev/null
@@ -0,0 +1,44 @@
+<?php
+
+namespace Drupal\block_test\Plugin\Block;
+
+use Drupal\Core\Block\BlockBase;
+
+/**
+ * Provides a block to test caching.
+ *
+ * @Block(
+ *   id = "test_cache",
+ *   admin_label = @Translation("Test block caching")
+ * )
+ */
+class TestCacheBlock extends BlockBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function build() {
+    $content = \Drupal::state()->get('block_test.content');
+
+    $build = [];
+    if (!empty($content)) {
+      $build['#markup'] = $content;
+    }
+    return $build;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getCacheContexts() {
+    return \Drupal::state()->get('block_test.cache_contexts', []);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getCacheMaxAge() {
+    return \Drupal::state()->get('block_test.cache_max_age', parent::getCacheMaxAge());
+  }
+
+}