Move all files to 2017/

This commit is contained in:
Oliver Davies 2025-09-29 22:25:17 +01:00
parent ac7370f67f
commit 2875863330
15717 changed files with 0 additions and 0 deletions

View file

@ -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

View file

@ -0,0 +1,6 @@
name: 'Breakpoint test module'
type: module
description: 'Test module for breakpoint.'
package: Testing
version: VERSION
core: 8.x

View file

@ -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 = ['system', 'breakpoint', 'breakpoint_module_test'];
protected function setUp() {
parent::setUp();
\Drupal::service('theme_handler')->install(['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 = [
'breakpoint_theme_test.mobile' => [
'label' => 'mobile',
'mediaQuery' => '(min-width: 0px)',
'weight' => 0,
'multipliers' => [
'1x',
],
'provider' => 'breakpoint_theme_test',
'id' => 'breakpoint_theme_test.mobile',
'group' => 'breakpoint_theme_test',
'class' => 'Drupal\\breakpoint\\Breakpoint',
],
'breakpoint_theme_test.narrow' => [
'label' => 'narrow',
'mediaQuery' => '(min-width: 560px)',
'weight' => 1,
'multipliers' => [
'1x',
],
'provider' => 'breakpoint_theme_test',
'id' => 'breakpoint_theme_test.narrow',
'group' => 'breakpoint_theme_test',
'class' => 'Drupal\\breakpoint\\Breakpoint',
],
'breakpoint_theme_test.wide' => [
'label' => 'wide',
'mediaQuery' => '(min-width: 851px)',
'weight' => 2,
'multipliers' => [
'1x',
],
'provider' => 'breakpoint_theme_test',
'id' => 'breakpoint_theme_test.wide',
'group' => 'breakpoint_theme_test',
'class' => 'Drupal\\breakpoint\\Breakpoint',
],
'breakpoint_theme_test.tv' => [
'label' => 'tv',
'mediaQuery' => 'only screen and (min-width: 1220px)',
'weight' => 3,
'multipliers' => [
'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 = [
'breakpoint_theme_test.group2.narrow' => [
'label' => 'narrow',
'mediaQuery' => '(min-width: 560px)',
'weight' => 0,
'multipliers' => [
'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' => [
'label' => 'wide',
'mediaQuery' => '(min-width: 851px)',
'weight' => 1,
'multipliers' => [
'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' => [
'label' => 'tv',
'mediaQuery' => '(min-width: 6000px)',
'weight' => 2,
'multipliers' => [
'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 = [
'breakpoint_module_test.mobile' => [
'label' => 'mobile',
'mediaQuery' => '(min-width: 0px)',
'weight' => 0,
'multipliers' => [
'1x',
],
'provider' => 'breakpoint_module_test',
'id' => 'breakpoint_module_test.mobile',
'group' => 'breakpoint_module_test',
'class' => 'Drupal\\breakpoint\\Breakpoint',
],
'breakpoint_module_test.standard' => [
'label' => 'standard',
'mediaQuery' => '(min-width: 560px)',
'weight' => 1,
'multipliers' => [
'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 = [
'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 = [
'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);
}
}

View 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 = [
'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());
}
}

View file

@ -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

View file

@ -0,0 +1,6 @@
name: 'Breakpoint test theme'
type: theme
description: 'Test theme for breakpoint.'
version: VERSION
core: 8.x
base theme: bartik