]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/modules/ModuleBuilder/parsers/AbstractMetaDataParserTest.php
Release 6.2.0
[Github/sugarcrm.git] / tests / modules / ModuleBuilder / parsers / AbstractMetaDataParserTest.php
1 <?php
2 /*********************************************************************************
3  * SugarCRM Community Edition is a customer relationship management program developed by
4  * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
5  * 
6  * This program is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  * 
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
16  * details.
17  * 
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  * 
23  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
24  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
25  * 
26  * The interactive user interfaces in modified source and object code versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  * 
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the "Powered by
32  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
33  * technical reasons, the Appropriate Legal Notices must display the words
34  * "Powered by SugarCRM".
35  ********************************************************************************/
36
37  
38 require_once("modules/ModuleBuilder/parsers/views/AbstractMetaDataParser.php");
39
40 class AbstractMetaDataParserTest extends Sugar_PHPUnit_Framework_TestCase
41 {
42         
43         public function setUp() 
44     {                       
45         
46     }
47     
48     public function tearDown() 
49     {
50        
51     }
52     
53     public function testValidField()
54     {
55         $validDef = array (
56                     'name' => 'status',
57                     'vname' => 'LBL_STATUS',
58                     'type' => 'enum',
59                     'len' => '25',
60                     'options' => 'meeting_status_dom',
61                     'comment' => 'Meeting status (ex: Planned, Held, Not held)'
62                 );
63                 
64                 $invalidDef = array (
65                     'name' => 'direction',
66                     'vname' => 'LBL_DIRECTION',
67                     'type' => 'enum',
68                     'len' => '25',
69                     'options' => 'call_direction_dom',
70                     'comment' => 'Indicates whether call is inbound or outbound',
71                     'source' => 'non-db',
72                     'importable' => 'false',
73                     'massupdate'=>false,
74                     'reportable'=>false
75                 );
76                 
77                 $this->assertTrue(AbstractMetaDataParser::validField($validDef));
78                 $this->assertFalse(AbstractMetaDataParser::validField($invalidDef));
79                 
80                 //Test the studio override property
81                 $invalidDef['studio'] = 'visible';
82                 $validDef['studio'] = false;
83                 
84                 $this->assertFalse(AbstractMetaDataParser::validField($validDef));
85         $this->assertTrue(AbstractMetaDataParser::validField($invalidDef));
86                 
87                 $invalidDef['studio'] = array('editview' => 'visible');
88         
89         $this->assertTrue(AbstractMetaDataParser::validField($invalidDef, 'editview'));
90                 $this->assertFalse(AbstractMetaDataParser::validField($invalidDef, 'detailview'));
91     }
92     
93 }