Index: modules/simpletest/tests/filetransfer.test =================================================================== RCS file: /cvs/drupal/drupal/modules/simpletest/tests/filetransfer.test,v retrieving revision 1.3 diff -u -p -r1.3 filetransfer.test --- modules/simpletest/tests/filetransfer.test 14 Jul 2009 19:31:32 -0000 1.3 +++ modules/simpletest/tests/filetransfer.test 14 Jul 2009 20:26:09 -0000 @@ -87,6 +87,43 @@ class FileTranferTest extends DrupalWebT } $this->assertTrue($gotit, 'Was able to copy a directory inside of the jailed area'); } + + function testCopyDirectory() { + $directory = $this->_buildFakeModule(); + $drupal_root = DRUPAL_ROOT; + + $this->testConnection->shouldIsDirectoryReturnTrue = TRUE; + $this->testConnection->copyDirectory($directory, "{$drupal_root}/sites/all/modules"); + $expected_commands = array( + "mkdir {$drupal_root}/sites/all/modules/fake", + "copyFile {$directory}/fake.info {$drupal_root}/sites/all/modules/fake/fake.info", + "copyFile {$directory}/fake.module {$drupal_root}/sites/all/modules/fake/fake.module", + "mkdir {$drupal_root}/sites/all/modules/fake/inc", + "copyFile {$directory}/inc/fake.inc {$drupal_root}/sites/all/modules/fake/inc/fake.inc", + "mkdir {$drupal_root}/sites/all/modules/fake/theme", + "copyFile {$directory}/theme/fake.tpl.php {$drupal_root}/sites/all/modules/fake/theme/fake.tpl.php", + ); + + $received_commands = $this->testConnection->connection->flushCommands(); + $this->assertEqual($received_commands, $expected_commands, 'Expected copy files operations made to sites/all/modules'); + + $this->testConnection->shouldIsDirectoryReturnTrue = FALSE; + $this->testConnection->copyDirectory($directory, "{$drupal_root}/sites/all/modules/fake"); + $expected_commands = array( + "mkdir {$drupal_root}/sites/all/modules/fake", + "copyFile {$directory}/fake.info {$drupal_root}/sites/all/modules/fake/fake.info", + "copyFile {$directory}/fake.module {$drupal_root}/sites/all/modules/fake/fake.module", + "mkdir {$drupal_root}/sites/all/modules/fake/inc", + "copyFile {$directory}/inc/fake.inc {$drupal_root}/sites/all/modules/fake/inc/fake.inc", + "mkdir {$drupal_root}/sites/all/modules/fake/theme", + "copyFile {$directory}/theme/fake.tpl.php {$drupal_root}/sites/all/modules/fake/theme/fake.tpl.php", + ); + + $received_commands = $this->testConnection->connection->flushCommands(); + $this->assertEqual($received_commands, $expected_commands, 'Expected copy files operations made to sites/all/modules/fake'); + + + } } /**