]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/SugarTestMergeUtilities.php
Added unit tests.
[Github/sugarcrm.git] / tests / SugarTestMergeUtilities.php
1 <?php
2 class SugarTestMergeUtilities
3 {
4     private static $modules = array();
5     private static $files = array();
6     private static $has_dir = array();
7     
8     private function __construct() {}
9
10     public static function setupFiles($modules, $files, $custom_directory) 
11     {
12
13                    self::$modules = $modules;
14                    self::$files = $files;
15                    self::$has_dir = array();
16                    
17                    foreach(self::$modules as $module) {
18                            if(!file_exists("custom/modules/{$module}/metadata")){
19                                   mkdir_recursive("custom/modules/{$module}/metadata", true);
20                            }
21                            
22                            if(file_exists("custom/modules/{$module}")) {
23                                   self::$has_dir[$module] = true;
24                            }
25                            
26                            foreach(self::$files as $file) {
27                                    if(file_exists("custom/modules/{$module}/metadata/{$file}")) {
28                                           copy("custom/modules/{$module}/metadata/{$file}.php", "custom/modules/{$module}/metadata/{$file}.php.bak");
29                                    }
30                                    
31                                    if(file_exists("custom/modules/{$module}/metadata/{$file}.php.suback.php")) {
32                                       copy("custom/modules/{$module}/metadata/{$file}.php.suback.php", "custom/modules/{$module}/metadata/{$file}.php.suback.bak");
33                                    }
34                                    
35                                    if(file_exists("{$custom_directory}/custom/modules/{$module}/metadata/{$file}.php")) {
36                                           copy("{$custom_directory}/custom/modules/{$module}/metadata/{$file}.php", "custom/modules/{$module}/metadata/{$file}.php");
37                                    }
38                            } //foreach
39                    } //foreach          
40         
41     }
42     
43     public static function teardownFiles() 
44     {
45                    foreach(self::$modules as $module) {
46                            if(!self::$has_dir[$module]) {
47                                   rmdir_recursive("custom/modules/{$module}");
48                            }  else {
49                                    foreach(self::$files as $file) {
50                                       if(file_exists("custom/modules/{$module}/metadata/{$file}.php.bak")) {
51                                          copy("custom/modules/{$module}/metadata/{$file}.php.bak", "custom/modules/{$module}/metadata/{$file}.php");
52                                      unlink("custom/modules/{$module}/metadata/{$file}.php.bak");
53                                       } else if(file_exists("custom/modules/{$module}/metadata/{$file}.php")) {
54                                          unlink("custom/modules/{$module}/metadata/{$file}.php");
55                                       }
56                                       
57                                           if(file_exists("custom/modules/{$module}/metadata/{$module}.php.suback.bak")) {
58                                          copy("custom/modules/{$module}/metadata/{$file}.php.suback.bak", "custom/modules/{$module}/metadata/{$file}.php.suback.php");
59                                      unlink("custom/modules/{$module}/metadata/{$file}.php.suback.bak");
60                                       } else if(file_exists("custom/modules/{$module}/metadata/{$file}.php.suback.php")) {
61                                          unlink("custom/modules/{$module}/metadata/{$file}.php.suback.php");
62                                       }  
63                                    }
64                            }
65                    } //foreach
66     }
67     
68 }