Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / modules / contrib / devel / webprofiler / tests / src / Unit / DataCollector / CacheDataCollectorTest.php
diff --git a/web/modules/contrib/devel/webprofiler/tests/src/Unit/DataCollector/CacheDataCollectorTest.php b/web/modules/contrib/devel/webprofiler/tests/src/Unit/DataCollector/CacheDataCollectorTest.php
new file mode 100644 (file)
index 0000000..d51e604
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+
+namespace Drupal\Tests\webprofiler\Unit\DataCollector;
+
+use Drupal\webprofiler\Cache\CacheBackendWrapper;
+use Drupal\webprofiler\DataCollector\CacheDataCollector;
+
+/**
+ * @coversDefaultClass \Drupal\webprofiler\DataCollector\CacheDataCollector
+ *
+ * @group webprofiler
+ */
+class CacheDataCollectorTest extends DataCollectorBaseTest {
+
+  /**
+   * @var \Drupal\webprofiler\DataCollector\CacheDataCollector
+   */
+  private $cacheDataCollector;
+
+  /**
+   * @var \PHPUnit_Framework_MockObject_MockObject
+   */
+  private $cacheBackendInterface;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function setUp() {
+    $this->cacheDataCollector = new CacheDataCollector();
+    $this->cacheBackendInterface = $this->getMock('Drupal\Core\Cache\CacheBackendInterface');
+  }
+
+  /**
+   * Tests the collection of a cache miss.
+   */
+  public function testCacheCollectorMiss() {
+    $this->cacheBackendInterface->expects($this->once())
+      ->method('get')
+      ->will($this->returnValue(FALSE));
+
+    $cacheBackendWrapper = new CacheBackendWrapper($this->cacheDataCollector, $this->cacheBackendInterface, 'default');
+    $cache = $cacheBackendWrapper->get('cache_id');
+
+    $this->assertFalse($cache);
+
+    $this->assertEquals(1, $this->cacheDataCollector->getCacheMissesCount());
+  }
+
+  /**
+   * Tests the collection of a cache hit.
+   */
+  public function testCacheCollectorHit() {
+    $cache = new \stdClass();
+    $cache->cid = 'cache_id';
+    $cache->expire = 1;
+    $cache->tags = ['tag1', 'tag2'];
+    $this->cacheBackendInterface->expects($this->once())
+      ->method('get')
+      ->will($this->returnValue($cache));
+
+    $cacheBackendWrapper = new CacheBackendWrapper($this->cacheDataCollector, $this->cacheBackendInterface, 'default');
+    $cache2 = $cacheBackendWrapper->get('cache_id');
+
+    $this->assertNotNull($cache2);
+
+    $this->assertEquals(1, $this->cacheDataCollector->getCacheHitsCount());
+  }
+
+}