Move into nested docroot
This commit is contained in:
parent
83a0d3a149
commit
c8b70abde9
13405 changed files with 0 additions and 0 deletions
|
@ -0,0 +1,21 @@
|
|||
breakpoint_module_test.mobile:
|
||||
label: mobile
|
||||
mediaQuery: '(min-width: 0px)'
|
||||
weight: 0
|
||||
# Don't include multipliers. A 1x multiplier this will be enforced by default.
|
||||
breakpoint_module_test.standard:
|
||||
label: standard
|
||||
mediaQuery: '(min-width: 560px)'
|
||||
weight: 1
|
||||
# Don't include a 1x multiplier this will be enforced by default.
|
||||
multipliers:
|
||||
- 2x
|
||||
# Test providing a breakpoint for group matching the group provided by
|
||||
# breakpoint_test_theme.
|
||||
breakpoint_module_test.breakpoint_theme_test.group2.tv:
|
||||
label: tv
|
||||
mediaQuery: '(min-width: 6000px)'
|
||||
weight: 2
|
||||
multipliers:
|
||||
- 1x
|
||||
group: breakpoint_theme_test.group2
|
|
@ -0,0 +1,7 @@
|
|||
name: 'Breakpoint test module'
|
||||
type: module
|
||||
description: 'Test module for breakpoint.'
|
||||
package: Testing
|
||||
version: VERSION
|
||||
core: 8.x
|
||||
|
|
@ -0,0 +1,201 @@
|
|||
<?php
|
||||
|
||||
namespace Drupal\Tests\breakpoint\Kernel;
|
||||
|
||||
use Drupal\KernelTests\KernelTestBase;
|
||||
|
||||
/**
|
||||
* Tests discovery of breakpoints provided by themes and modules.
|
||||
*
|
||||
* @group breakpoint
|
||||
*/
|
||||
class BreakpointDiscoveryTest extends KernelTestBase {
|
||||
|
||||
/**
|
||||
* Modules to install.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public static $modules = array('system', 'breakpoint', 'breakpoint_module_test');
|
||||
|
||||
protected function setUp() {
|
||||
parent::setUp();
|
||||
\Drupal::service('theme_handler')->install(array('breakpoint_theme_test'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the breakpoint group created for a theme.
|
||||
*/
|
||||
public function testThemeBreakpoints() {
|
||||
// Verify the breakpoint group for breakpoint_theme_test was created.
|
||||
$expected_breakpoints = array(
|
||||
'breakpoint_theme_test.mobile' => array(
|
||||
'label' => 'mobile',
|
||||
'mediaQuery' => '(min-width: 0px)',
|
||||
'weight' => 0,
|
||||
'multipliers' => array(
|
||||
'1x',
|
||||
),
|
||||
'provider' => 'breakpoint_theme_test',
|
||||
'id' => 'breakpoint_theme_test.mobile',
|
||||
'group' => 'breakpoint_theme_test',
|
||||
'class' => 'Drupal\\breakpoint\\Breakpoint',
|
||||
),
|
||||
'breakpoint_theme_test.narrow' => array(
|
||||
'label' => 'narrow',
|
||||
'mediaQuery' => '(min-width: 560px)',
|
||||
'weight' => 1,
|
||||
'multipliers' => array(
|
||||
'1x',
|
||||
),
|
||||
'provider' => 'breakpoint_theme_test',
|
||||
'id' => 'breakpoint_theme_test.narrow',
|
||||
'group' => 'breakpoint_theme_test',
|
||||
'class' => 'Drupal\\breakpoint\\Breakpoint',
|
||||
),
|
||||
'breakpoint_theme_test.wide' => array(
|
||||
'label' => 'wide',
|
||||
'mediaQuery' => '(min-width: 851px)',
|
||||
'weight' => 2,
|
||||
'multipliers' => array(
|
||||
'1x',
|
||||
),
|
||||
'provider' => 'breakpoint_theme_test',
|
||||
'id' => 'breakpoint_theme_test.wide',
|
||||
'group' => 'breakpoint_theme_test',
|
||||
'class' => 'Drupal\\breakpoint\\Breakpoint',
|
||||
),
|
||||
'breakpoint_theme_test.tv' => array(
|
||||
'label' => 'tv',
|
||||
'mediaQuery' => 'only screen and (min-width: 1220px)',
|
||||
'weight' => 3,
|
||||
'multipliers' => array(
|
||||
'1x',
|
||||
),
|
||||
'provider' => 'breakpoint_theme_test',
|
||||
'id' => 'breakpoint_theme_test.tv',
|
||||
'group' => 'breakpoint_theme_test',
|
||||
'class' => 'Drupal\\breakpoint\\Breakpoint',
|
||||
),
|
||||
);
|
||||
|
||||
$breakpoints = \Drupal::service('breakpoint.manager')->getBreakpointsByGroup('breakpoint_theme_test');
|
||||
foreach ($expected_breakpoints as $id => $expected_breakpoint) {
|
||||
$this->assertEqual($expected_breakpoint, $breakpoints[$id]->getPluginDefinition());
|
||||
}
|
||||
|
||||
// Test that the order is as expected.
|
||||
$this->assertIdentical(array_keys($expected_breakpoints), array_keys($breakpoints));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the custom breakpoint group provided by a theme and a module.
|
||||
*/
|
||||
public function testCustomBreakpointGroups() {
|
||||
// Verify the breakpoint group for breakpoint_theme_test.group2 was created.
|
||||
$expected_breakpoints = array(
|
||||
'breakpoint_theme_test.group2.narrow' => array(
|
||||
'label' => 'narrow',
|
||||
'mediaQuery' => '(min-width: 560px)',
|
||||
'weight' => 0,
|
||||
'multipliers' => array(
|
||||
'1x',
|
||||
'2x',
|
||||
),
|
||||
'provider' => 'breakpoint_theme_test',
|
||||
'id' => 'breakpoint_theme_test.group2.narrow',
|
||||
'group' => 'breakpoint_theme_test.group2',
|
||||
'class' => 'Drupal\\breakpoint\\Breakpoint',
|
||||
),
|
||||
'breakpoint_theme_test.group2.wide' => array(
|
||||
'label' => 'wide',
|
||||
'mediaQuery' => '(min-width: 851px)',
|
||||
'weight' => 1,
|
||||
'multipliers' => array(
|
||||
'1x',
|
||||
'2x',
|
||||
),
|
||||
'provider' => 'breakpoint_theme_test',
|
||||
'id' => 'breakpoint_theme_test.group2.wide',
|
||||
'group' => 'breakpoint_theme_test.group2',
|
||||
'class' => 'Drupal\\breakpoint\\Breakpoint',
|
||||
),
|
||||
'breakpoint_module_test.breakpoint_theme_test.group2.tv' => array(
|
||||
'label' => 'tv',
|
||||
'mediaQuery' => '(min-width: 6000px)',
|
||||
'weight' => 2,
|
||||
'multipliers' => array(
|
||||
'1x',
|
||||
),
|
||||
'provider' => 'breakpoint_module_test',
|
||||
'id' => 'breakpoint_module_test.breakpoint_theme_test.group2.tv',
|
||||
'group' => 'breakpoint_theme_test.group2',
|
||||
'class' => 'Drupal\\breakpoint\\Breakpoint',
|
||||
),
|
||||
);
|
||||
|
||||
$breakpoints = \Drupal::service('breakpoint.manager')->getBreakpointsByGroup('breakpoint_theme_test.group2');
|
||||
foreach ($expected_breakpoints as $id => $expected_breakpoint) {
|
||||
$this->assertEqual($expected_breakpoint, $breakpoints[$id]->getPluginDefinition());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the breakpoint group created for a module.
|
||||
*/
|
||||
public function testModuleBreakpoints() {
|
||||
$expected_breakpoints = array(
|
||||
'breakpoint_module_test.mobile' => array(
|
||||
'label' => 'mobile',
|
||||
'mediaQuery' => '(min-width: 0px)',
|
||||
'weight' => 0,
|
||||
'multipliers' => array(
|
||||
'1x',
|
||||
),
|
||||
'provider' => 'breakpoint_module_test',
|
||||
'id' => 'breakpoint_module_test.mobile',
|
||||
'group' => 'breakpoint_module_test',
|
||||
'class' => 'Drupal\\breakpoint\\Breakpoint',
|
||||
),
|
||||
'breakpoint_module_test.standard' => array(
|
||||
'label' => 'standard',
|
||||
'mediaQuery' => '(min-width: 560px)',
|
||||
'weight' => 1,
|
||||
'multipliers' => array(
|
||||
'1x',
|
||||
'2x',
|
||||
),
|
||||
'provider' => 'breakpoint_module_test',
|
||||
'id' => 'breakpoint_module_test.standard',
|
||||
'group' => 'breakpoint_module_test',
|
||||
'class' => 'Drupal\\breakpoint\\Breakpoint',
|
||||
),
|
||||
);
|
||||
|
||||
$breakpoints = \Drupal::service('breakpoint.manager')->getBreakpointsByGroup('breakpoint_module_test');
|
||||
$this->assertEqual(array_keys($expected_breakpoints), array_keys($breakpoints));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the collection of breakpoint groups.
|
||||
*/
|
||||
public function testBreakpointGroups() {
|
||||
$expected = array(
|
||||
'bartik' => 'Bartik',
|
||||
'breakpoint_module_test' => 'Breakpoint test module',
|
||||
'breakpoint_theme_test' => 'Breakpoint test theme',
|
||||
'breakpoint_theme_test.group2' => 'breakpoint_theme_test.group2',
|
||||
);
|
||||
$breakpoint_groups = \Drupal::service('breakpoint.manager')->getGroups();
|
||||
// Ensure the order is as expected. Should be sorted by label.
|
||||
$this->assertIdentical($expected, $this->castSafeStrings($breakpoint_groups));
|
||||
|
||||
$expected = array(
|
||||
'breakpoint_theme_test' => 'theme',
|
||||
'breakpoint_module_test' => 'module',
|
||||
);
|
||||
$breakpoint_group_providers = \Drupal::service('breakpoint.manager')->getGroupProviders('breakpoint_theme_test.group2');
|
||||
$this->assertEqual($expected, $breakpoint_group_providers);
|
||||
}
|
||||
|
||||
}
|
114
web/core/modules/breakpoint/tests/src/Unit/BreakpointTest.php
Normal file
114
web/core/modules/breakpoint/tests/src/Unit/BreakpointTest.php
Normal file
|
@ -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 = array(
|
||||
'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(array(), $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', array(), array('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'] = array('1x', '2x');
|
||||
$this->setupBreakpoint();
|
||||
$this->assertSame(array('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());
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
breakpoint_theme_test.mobile:
|
||||
label: mobile
|
||||
mediaQuery: '(min-width: 0px)'
|
||||
weight: 0
|
||||
multipliers:
|
||||
- 1x
|
||||
breakpoint_theme_test.narrow:
|
||||
label: narrow
|
||||
mediaQuery: '(min-width: 560px)'
|
||||
weight: 1
|
||||
multipliers:
|
||||
- 1x
|
||||
# Out of order breakpoint to test sorting.
|
||||
breakpoint_theme_test.tv:
|
||||
label: tv
|
||||
mediaQuery: 'only screen and (min-width: 1220px)'
|
||||
weight: 3
|
||||
multipliers:
|
||||
- 1x
|
||||
breakpoint_theme_test.wide:
|
||||
label: wide
|
||||
mediaQuery: '(min-width: 851px)'
|
||||
weight: 2
|
||||
multipliers:
|
||||
- 1x
|
||||
breakpoint_theme_test.group2.narrow:
|
||||
label: narrow
|
||||
mediaQuery: '(min-width: 560px)'
|
||||
weight: 0
|
||||
multipliers:
|
||||
- 1x
|
||||
- 2x
|
||||
group: breakpoint_theme_test.group2
|
||||
breakpoint_theme_test.group2.wide:
|
||||
label: wide
|
||||
mediaQuery: '(min-width: 851px)'
|
||||
weight: 1
|
||||
multipliers:
|
||||
- 1x
|
||||
- 2x
|
||||
group: breakpoint_theme_test.group2
|
|
@ -0,0 +1,6 @@
|
|||
name: 'Breakpoint test theme'
|
||||
type: theme
|
||||
description: 'Test theme for breakpoint.'
|
||||
version: VERSION
|
||||
core: 8.x
|
||||
base theme: bartik
|
Reference in a new issue