Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / modules / contrib / devel / webprofiler / tests / src / Unit / DataCollector / AssetsDataCollectorTest.php
diff --git a/web/modules/contrib/devel/webprofiler/tests/src/Unit/DataCollector/AssetsDataCollectorTest.php b/web/modules/contrib/devel/webprofiler/tests/src/Unit/DataCollector/AssetsDataCollectorTest.php
new file mode 100644 (file)
index 0000000..37d6ac3
--- /dev/null
@@ -0,0 +1,68 @@
+<?php
+
+namespace Drupal\Tests\webprofiler\Unit\DataCollector;
+
+use Drupal\webprofiler\Asset\CssCollectionRendererWrapper;
+use Drupal\webprofiler\DataCollector\AssetsDataCollector;
+
+/**
+ * @coversDefaultClass \Drupal\webprofiler\DataCollector\AssetsDataCollector
+ *
+ * @group webprofiler
+ */
+class AssetsDataCollectorTest extends DataCollectorBaseTest {
+
+  /**
+   * @var \Drupal\webprofiler\DataCollector\AssetsDataCollector
+   */
+  private $assetDataCollector;
+
+  /**
+   * @var \PHPUnit_Framework_MockObject_MockObject
+   */
+  private $assetCollectionRendererInterface;
+
+  const ROOT = 'test_root';
+
+  /**
+   * {@inheritdoc}
+   */
+  public function setUp() {
+    parent::setUp();
+
+    $this->assetDataCollector = new AssetsDataCollector(AssetsDataCollectorTest::ROOT);
+    $this->assetCollectionRendererInterface = $this->getMock('Drupal\Core\Asset\AssetCollectionRendererInterface');
+  }
+
+  /**
+   * Tests the Assets data collector.
+   */
+  public function testCSS() {
+    $css = [
+      'core/assets/vendor/normalize-css/normalize.css' => [
+        'weight' => -219.944,
+        'group' => 0,
+        'type' => 'file',
+        'data' => 'core\/assets\/vendor\/normalize-css\/normalize.css',
+        'version' => '3.0.3',
+        'media' => 'all',
+        'preprocess' => TRUE,
+        'browsers' => [
+          'IE' => TRUE,
+          '!IE' => TRUE,
+        ],
+      ],
+    ];
+
+    $cssCollectionRendererWrapper = new CssCollectionRendererWrapper($this->assetCollectionRendererInterface, $this->assetDataCollector);
+    $cssCollectionRendererWrapper->render($css);
+
+    $this->assertEquals(1, $this->assetDataCollector->getCssCount());
+
+    $this->assetDataCollector->collect($this->request, $this->response, $this->exception);
+
+    $data = $this->assetDataCollector->getData();
+    $this->assertEquals(AssetsDataCollectorTest::ROOT . '/', $data['assets']['installation_path']);
+  }
+
+}