self::
assertArrayHasKey('generator',
$info);
self::
assertEquals('starterkit_theme:9.4.0',
$info['generator'
]);
// Confirm readme is rewritten.
$readme_file =
$this->
getWorkspaceDirectory() . "/
$theme_path_relative/README.md";
$this->
assertSame('test_custom_theme theme, generated from starterkit_theme. Additional information on generating themes can be found in the [Starterkit documentation](https://www.drupal.org/docs/core-modules-and-themes/core-themes/starterkit-theme).',
file_get_contents($readme_file));
// Ensure that the generated theme can be installed.
$this->
installQuickStart('minimal'
);
$this->
formLogin($this->adminUsername,
$this->adminPassword
);
$this->
visit('/admin/appearance'
);
$this->
getMink()->
assertSession()->
pageTextContains('Test custom starterkit'
);
$this->
getMink()->
assertSession()->
pageTextContains('Custom theme generated from a starterkit theme'
);
$this->
getMink()->
getSession()->
getPage()->
clickLink('Install "Test custom starterkit theme" theme'
);
$this->
getMink()->
assertSession()->
pageTextContains('The "Test custom starterkit theme" theme has been installed.'
);
// Ensure that a new theme cannot be generated when the destination
// directory already exists.
$theme_path_absolute =
$this->
getWorkspaceDirectory() . "/
$theme_path_relative";
$this->
assertFileExists($theme_path_absolute . '/test_custom_theme.theme'
);
unlink($theme_path_absolute . '/test_custom_theme.theme'
);
$process =
$this->
generateThemeFromStarterkit();
$result =
$process->
run();