public function GenerateThemeTest::testContribStarterkitDevSnapshot in Drupal 10
Tests the generate-theme command on a theme with a dev version number.
File
- core/
tests/ Drupal/ Tests/ Core/ Command/ GenerateThemeTest.php, line 171
Class
- GenerateThemeTest
- Tests the generate-theme commands.
Namespace
Drupal\Tests\Core\CommandCode
public function testContribStarterkitDevSnapshot() : void {
// Change the version to a development snapshot version number, to simulate
// using a contrib theme as the starterkit.
$starterkit_info_yml = $this
->getWorkspaceDirectory() . '/core/themes/starterkit_theme/starterkit_theme.info.yml';
$info = Yaml::decode(file_get_contents($starterkit_info_yml));
$info['core_version_requirement'] = '*';
$info['version'] = '7.x-dev';
file_put_contents($starterkit_info_yml, Yaml::encode($info));
// Avoid the core git commit from being considered the source theme's: move
// it out of core.
Process::fromShellCommandline('mv core/themes/starterkit_theme themes/', $this
->getWorkspaceDirectory())
->run();
$process = $this
->generateThemeFromStarterkit();
$result = $process
->run();
$this
->assertEquals("The source theme starterkit_theme has a development version number (7.x-dev). Because it is not a git checkout, a specific commit could not be identified. This makes tracking changes in the source theme difficult. Are you sure you want to continue? (yes/no) [yes]:\n > Theme generated successfully to themes/test_custom_theme", trim($process
->getOutput()), $process
->getErrorOutput());
$this
->assertSame(0, $result);
$info = $this
->assertThemeExists('themes/test_custom_theme');
self::assertArrayNotHasKey('hidden', $info);
self::assertArrayHasKey('generator', $info);
self::assertEquals('starterkit_theme:7.x-dev#unknown-commit', $info['generator']);
}