diff core/modules/breakpoint/tests/src/Unit/BreakpointTest.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/modules/breakpoint/tests/src/Unit/BreakpointTest.php	Wed Nov 29 16:09:58 2017 +0000
@@ -0,0 +1,114 @@
+<?php
+
+namespace Drupal\Tests\breakpoint\Unit;
+
+use Drupal\breakpoint\Breakpoint;
+use Drupal\Tests\UnitTestCase;
+use Drupal\Core\StringTranslation\TranslatableMarkup;
+
+/**
+ * @coversDefaultClass \Drupal\breakpoint\Breakpoint
+ * @group Breakpoint
+ */
+class BreakpointTest extends UnitTestCase {
+
+  /**
+   * The used plugin ID.
+   *
+   * @var string
+   */
+  protected $pluginId = 'breakpoint';
+
+  /**
+   * The used plugin definition.
+   *
+   * @var array
+   */
+  protected $pluginDefinition = [
+    'id' => 'breakpoint',
+  ];
+
+  /**
+   * The breakpoint under test.
+   *
+   * @var \Drupal\breakpoint\Breakpoint
+   */
+  protected $breakpoint;
+
+  /**
+   * The mocked translator.
+   *
+   * @var \Drupal\Core\StringTranslation\TranslationInterface|\PHPUnit_Framework_MockObject_MockObject
+   */
+  protected $stringTranslation;
+
+  protected function setUp() {
+    parent::setUp();
+
+    $this->stringTranslation = $this->getMock('Drupal\Core\StringTranslation\TranslationInterface');
+  }
+
+  /**
+   * Sets up the breakpoint defaults.
+   */
+  protected function setupBreakpoint() {
+    $this->breakpoint = new Breakpoint([], $this->pluginId, $this->pluginDefinition);
+    $this->breakpoint->setStringTranslation($this->stringTranslation);
+  }
+
+  /**
+   * @covers ::getLabel
+   */
+  public function testGetLabel() {
+    $this->pluginDefinition['label'] = 'Test label';
+    $this->setupBreakpoint();
+    $this->assertEquals(new TranslatableMarkup('Test label', [], ['context' => 'breakpoint'], $this->stringTranslation), $this->breakpoint->getLabel());
+  }
+
+  /**
+   * @covers ::getWeight
+   */
+  public function testGetWeight() {
+    $this->pluginDefinition['weight'] = '4';
+    $this->setupBreakpoint();
+    // Assert that the type returned in an integer.
+    $this->assertSame(4, $this->breakpoint->getWeight());
+  }
+
+  /**
+   * @covers ::getMediaQuery
+   */
+  public function testGetMediaQuery() {
+    $this->pluginDefinition['mediaQuery'] = 'only screen and (min-width: 1220px)';
+    $this->setupBreakpoint();
+    $this->assertEquals('only screen and (min-width: 1220px)', $this->breakpoint->getMediaQuery());
+  }
+
+  /**
+   * @covers ::getMultipliers
+   */
+  public function testGetMultipliers() {
+    $this->pluginDefinition['multipliers'] = ['1x', '2x'];
+    $this->setupBreakpoint();
+    $this->assertSame(['1x', '2x'], $this->breakpoint->getMultipliers());
+  }
+
+  /**
+   * @covers ::getProvider
+   */
+  public function testGetProvider() {
+    $this->pluginDefinition['provider'] = 'Breakpoint';
+    $this->setupBreakpoint();
+    $this->assertEquals('Breakpoint', $this->breakpoint->getProvider());
+  }
+
+  /**
+   * @covers ::getGroup
+   */
+  public function testGetGroup() {
+    $this->pluginDefinition['group'] = 'Breakpoint';
+    $this->setupBreakpoint();
+    $this->assertEquals('Breakpoint', $this->breakpoint->getGroup());
+  }
+
+}