Mercurial > hg > isophonics-drupal-site
view vendor/drush/drush/tests/commandUnitTest.php @ 13:5fb285c0d0e3
Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've
been lucky to get away with this so far, as we don't support self-registration
which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5
was vulnerable to.
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:33:26 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Unish; use Webmozart\PathUtil\Path; class commandUnitCase extends UnitUnishTestCase { /** * Assure that matching version-specific command files are loaded and others are ignored. */ function testCommandVersionSpecific() { $path = Path::join(UNISH_SANDBOX, 'commandUnitCase'); $major = $this->drush_major_version(); $major_plus1 = $major + 1; // Write matched and unmatched files to the system search path. $files = array( Path::join($path, "$major.drush$major.inc"), Path::join($path, "drush$major/drush$major.drush.inc"), Path::join($path, "$major_plus1.drush$major_plus1.inc"), Path::join($path, "drush$major_plus1/drush$major_plus1.drush.inc"), ); $this->mkdir(Path::join($path, 'drush'. $major)); $this->mkdir(Path::join($path, 'drush'. $major_plus1)); foreach ($files as $file) { $contents = <<<EOD <?php // Written by Unish. This file is safe to delete. \$GLOBALS['unish_foo'][] = '$file'; EOD; $return = file_put_contents($file, $contents); } drush_set_context('DRUSH_INCLUDE', array($path)); drush_preflight(); $loaded = drush_commandfile_list(); $this->assertContains($files[0], $loaded); //Loaded a version-specific command file. $this->assertContains($files[1], $loaded); //Loaded a version-specific command directory. $this->assertNotContains($files[2], $loaded); //Did not load a mismatched version-specific command file. $this->assertNotContains($files[3], $loaded); //Did not load a a mismatched version-specific command directory. } /** * Assert that $command has interesting properties. Reference command by * it's alias (dl) to assure that those aliases are built as expected. */ public function testGetCommands() { drush_preflight(); $commands = drush_get_commands(); $command = $commands['dl']; $this->assertEquals('dl', current($command['aliases'])); $this->assertArrayHasKey('version_control', $command['engines']); $this->assertArrayHasKey('package_handler', $command['engines']); $this->assertArrayHasKey('release_info', $command['engines']); $this->assertEquals('pm-download', $command['command']); $this->assertEquals('pm', $command['commandfile']); $this->assertEquals('drush_command', $command['callback']); $this->assertArrayHasKey('examples', $command['sections']); $this->assertTrue($command['is_alias']); $command = $commands['pm-download']; $this->assertArrayNotHasKey('is_alias', $command); } }