]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/SugarTestImportUtilities.php
Release 6.1.5
[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 createFileWithEOL(
36         $lines = 2000,
37         $columns = 3
38         ) 
39     {
40         $filename = $GLOBALS['sugar_config']['import_dir'].'test'.date("YmdHis");
41         $fp = fopen($filename,"w");
42         for ($i = 0; $i < $lines; $i++) {
43             $line = array();
44             for ($j = 0; $j < $columns; $j++) {
45                 // test both end of lines: \r\n (windows) and \n (unix)
46                 $line[] = "start{$i}\r\n{$j}\nend";
47             }
48             fputcsv($fp,$line);
49         }
50         fclose($fp);
51         
52         self::$_createdFiles[] = $filename;
53         
54         return $filename;
55     }
56         
57     public static function createFileWithWhiteSpace() 
58     {
59         $filename = $GLOBALS['sugar_config']['import_dir'].'testWhiteSpace'.date("YmdHis");
60         $contents = <<<EOTEXT
61 account2,foo bar
62 EOTEXT;
63         file_put_contents($filename, $contents);
64         
65         self::$_createdFiles[] = $filename;
66         
67         return $filename;
68     }
69     
70     public static function removeAllCreatedFiles()
71     {
72         foreach ( self::$_createdFiles as $file ) {
73             @unlink($file);
74             $i = 0;
75             while(true) {
76                 if ( is_file($file.'-'.$i) ) 
77                     unlink($file.'-'.$i++);
78                 else 
79                     break;
80             }
81         }
82         ImportCacheFiles::clearCacheFiles();
83     }
84 }