]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/SugarTestImportUtilities.php
Added unit tests.
[Github/sugarcrm.git] / tests / SugarTestImportUtilities.php
1 <?php
2 require_once 'modules/Import/ImportCacheFiles.php';
3
4 class SugarTestImportUtilities
5 {
6     public static  $_createdFiles = array();
7
8     private function __construct() {}
9
10     public function __destruct()
11     {
12         self::removeAllCreatedFiles();
13     }
14
15     public static function createFile(
16         $lines = 2000,
17         $columns = 3
18         ) 
19     {
20         $filename = $GLOBALS['sugar_config']['import_dir'].'test'.date("YmdHis");
21         $fp = fopen($filename,"w");
22         for ($i = 0; $i < $lines; $i++) {
23             $line = array();
24             for ($j = 0; $j < $columns; $j++)
25                 $line[] = "foo{$i}{$j}";
26             fputcsv($fp,$line);
27         }
28         fclose($fp);
29         
30         self::$_createdFiles[] = $filename;
31         
32         return $filename;
33     }
34         
35         public static function createFileWithWhiteSpace() 
36     {
37         $filename = $GLOBALS['sugar_config']['import_dir'].'testWhiteSpace'.date("YmdHis");
38         $contents = <<<EOTEXT
39 account2,foo bar
40 EOTEXT;
41         file_put_contents($filename, $contents);
42         
43         self::$_createdFiles[] = $filename;
44         
45         return $filename;
46     }
47     
48     public static function removeAllCreatedFiles()
49     {
50         foreach ( self::$_createdFiles as $file ) {
51             @unlink($file);
52             $i = 0;
53             while(true) {
54                 if ( is_file($file.'-'.$i) ) 
55                     unlink($file.'-'.$i++);
56                 else 
57                     break;
58             }
59         }
60         ImportCacheFiles::clearCacheFiles();
61     }
62 }