]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/ModuleInstall/ModuleScannerTest.php
Added unit tests.
[Github/sugarcrm.git] / tests / ModuleInstall / ModuleScannerTest.php
1 <?php
2 require_once 'ModuleInstall/ModuleScanner.php';
3
4 class ModuleScannerTest extends Sugar_PHPUnit_Framework_TestCase
5 {
6     var $fileLoc;
7     
8         public function setUp()
9         {
10         $this->fileLoc = "cache/moduleScannerTemp.php";
11         }
12
13         public function tearDown()
14         {
15                 if (is_file($this->fileLoc))
16                         unlink($this->fileLoc);
17         }
18         
19         public function testFileTemplatePass() 
20     {
21         
22         $fileModContents = <<<EOQ
23 <?PHP
24 require_once('include/SugarObjects/templates/file/File.php');
25
26 class testFile_sugar extends File {
27         function fileT_testFiles_sugar(){       
28                 parent::File();
29                 \$this->file = new File();
30                 \$file = "file";
31         }
32 }
33 ?>
34 EOQ;
35                 file_put_contents($this->fileLoc, $fileModContents);
36                 $ms = new ModuleScanner();
37                 $errors = $ms->scanFile($this->fileLoc);
38                 $this->assertTrue(empty($errors));
39     }
40     
41         public function testFileFunctionFail() 
42     {
43         
44         $fileModContents = <<<EOQ
45 <?PHP
46 require_once('include/SugarObjects/templates/file/File.php');
47
48 class testFile_sugar extends File {
49         function fileT_testFiles_sugar(){       
50                 parent::File();
51                 \$this->file = new File();
52                 \$file = file('test.php');
53                 
54         }
55 }
56 ?>
57 EOQ;
58                 file_put_contents($this->fileLoc, $fileModContents);
59                 $ms = new ModuleScanner();
60                 $errors = $ms->scanFile($this->fileLoc);
61                 $this->assertTrue(!empty($errors));
62     }
63     
64         public function testCallUserFunctionFail() 
65     {
66         
67         $fileModContents = <<<EOQ
68 <?PHP
69         call_user_func("sugar_file_put_contents", "test2.php", "test");
70 ?>
71 EOQ;
72                 file_put_contents($this->fileLoc, $fileModContents);
73                 $ms = new ModuleScanner();
74                 $errors = $ms->scanFile($this->fileLoc);
75                 $this->assertTrue(!empty($errors));
76     }
77     
78     
79
80 }