$files_to_search = array();
    $directories = get_all_dir('blank-theme');
    $strings_to_replace = array('theme_name' => array($default_values['theme_name']['default'], $theme_name), 'text_domain' => array($default_values['text_domain']['default'], $text_domain), 'prefix' => array($default_values['prefix']['default'], $prefix), 'author_uri' => array($default_values['author_uri']['default'], $author_uri), 'css_prefix' => array("{$default_values['css_prefix']['default']}-", $css_prefix . '-'), 'js_class_name' => array($default_values['js_class_name']['default'], $js_class_name), 'constant_name' => array($default_values['constant_name']['default'], $constant_name), 'author_name' => array($default_values['author_name']['default'], $author_name), 'theme_decription' => array($default_values['theme_decription']['default'], "Description: {$theme_decription}"), 'more_name' => array('blank theme', $theme_name));
    $file_names_to_rename = array('blank-theme', 'blank_theme');
    $change_log = array();
    foreach ($strings_to_replace as $data) {
        $search_string = $data[0];
        $replace_string = $data[1];
        foreach ($directories as $dir_to_search) {
            //Rename File Names
            if ($handle = opendir($dir_to_search)) {
                while (false !== ($fileName = readdir($handle))) {
                    foreach ($file_names_to_rename as $file_prefix) {
                        if (strpos($fileName, $file_prefix) !== false) {
                            $newName = str_replace($file_prefix, $text_domain, $fileName);
                            rename($dir_to_search . $fileName, $dir_to_search . $newName);
                        }
                    }
                }
                closedir($handle);
            }
            //Change strings
            $snr = new File_SearchReplace($search_string, $replace_string, $files_to_search, $dir_to_search, true);
            // 'true' to search subdirectories
            $snr->doSearch();
            $change_log[] = array('search_string' => $search_string, 'replace_string' => $replace_string, 'number_of_occurences' => $snr->getNumOccurences(), 'directory' => $dir_to_search);
        }
    }
} else {
    $string_values = $default_values;
}
<?php

require_once dirname(__FILE__) . '/../bootstrap/unit.php';
$cloneFrom = nbConfig::get('symfony_project-clone_from');
$cloneTo = nbConfig::get('symfony_project-clone_to');
$name = nbConfig::get('symfony_project-clone_name');
$t = new lime_test(5);
$t->comment('Symfony Project Clone');
$cmd = new nbSymfonyCloneProjectCommand();
$commandLine = sprintf('%s %s %s', $cloneFrom, $cloneTo, $name);
$finder = nbFileFinder::create('any');
$appFiles = $finder->add('*.*')->remove('.')->remove('..')->relative()->in($cloneFrom);
$t->ok($cmd->run(new nbCommandLineParser(), $commandLine), 'Symfony project cloned successfully');
$t->ok(file_exists($cloneTo . '/' . $name), 'project is cloned');
//TODO rivedere directory cache e il test in generale 20???
$t->comment('Total files are 46 with cache and log directories');
$clonedAppFiles = $finder->add('*.*')->remove('.')->remove('..')->relative()->in($cloneTo . '/' . $name);
$t->is(count($clonedAppFiles), 46, 'All files (cache and log are excluded) are cloned');
$fsr = new File_SearchReplace($name, '', $cloneTo . '/' . $name . '/symfony/config/properties.ini', '', false);
$fsr->doSearch();
$t->is($fsr->getNumOccurences(), 1, 'File properties.ini modified');
$fsr = new File_SearchReplace($name, '', $cloneTo . '/' . $name . '/symfony/config/databases.yml', '', false);
$fsr->doSearch();
$t->is($fsr->getNumOccurences(), 2, 'File databases.yml modified');
$fileSystem->rmdir($cloneTo . '/' . $name, true);