Commit | Line | Data |
---|---|---|
6a488035 TO |
1 | <?php |
2 | ||
aba1cd8b EM |
3 | /** |
4 | * Class CRM_Core_Page_AJAXTest | |
acb109b7 | 5 | * @group headless |
aba1cd8b | 6 | */ |
6a488035 TO |
7 | class CRM_Core_Page_AJAXTest extends CiviUnitTestCase { |
8 | public function testCheckAuthz() { | |
9 | $cases = array(); | |
10 | ||
11 | $cases[] = array('method', 'CRM_Foo', FALSE, 'method'); | |
12 | $cases[] = array('method', 'CRM_Foo_Page_AJAX_Bar', FALSE, 'method'); | |
13 | $cases[] = array('method', 'CRM_Contact_Page_AJAX', TRUE, 'getAddressDisplay'); | |
14 | $cases[] = array('method', 'CRM_Foo_Page_AJAX', FALSE, 'method('); | |
15 | $cases[] = array('method', 'CRM_Foo_Page_AJAX', FALSE, 'method()'); | |
6c6e6187 TO |
16 | $cases[] = array('method', 'othermethod;CRM_Foo_Page_AJAX', FALSE, 'method'); |
17 | $cases[] = array('method', 'CRM_Foo_Page_AJAX;othermethod', FALSE, 'method'); | |
6a488035 TO |
18 | $cases[] = array('method', 'CRM_Foo_Page_Inline_Bar', FALSE, ''); |
19 | $cases[] = array('method', 'CRM_Foo_Page_Inline_Bar', FALSE, 'method'); | |
20 | $cases[] = array('method', 'CRM_Foo->method', FALSE); | |
21 | ||
6a488035 TO |
22 | $cases[] = array('page', 'CRM_Foo', FALSE); |
23 | $cases[] = array('page', 'CRM_Foo_Bar', FALSE); | |
24 | $cases[] = array('page', 'CRM_Foo_Page', FALSE); | |
25 | $cases[] = array('page', 'CRM_Foo_Page_Bar', FALSE); | |
26 | $cases[] = array('page', 'CRM_Foo_Page_Inline', FALSE); | |
27 | $cases[] = array('page', 'CRM_Contact_Page_Inline_CommunicationPreferences', TRUE); | |
28 | $cases[] = array('page', 'CRM_Foo_Page_Inline_Bar_Bang', FALSE); | |
29 | $cases[] = array('page', 'othermethod;CRM_Foo_Page_Inline_Bar', FALSE); | |
30 | $cases[] = array('page', 'CRM_Foo_Page_Inline_Bar;othermethod', FALSE); | |
31 | $cases[] = array('page', 'CRM_Foo_Form', FALSE); | |
32 | $cases[] = array('page', 'CRM_Foo_Form_Bar', FALSE); | |
33 | $cases[] = array('page', 'CRM_Foo_Form_Inline', FALSE); | |
34 | $cases[] = array('page', 'CRM_Contact_Form_Inline_Email', TRUE); | |
35 | $cases[] = array('page', 'CRM_Foo_Form_Inline_Bar_Bang', FALSE); | |
36 | $cases[] = array('page', 'othermethod;CRM_Foo_Form_Inline_Bar', FALSE); | |
37 | $cases[] = array('page', 'CRM_Foo_Form_Inline_Bar;othermethod', FALSE); | |
38 | ||
39 | // aliases for 'page' | |
40 | $cases[] = array('class', 'CRM_Foo_Bar', FALSE); | |
41 | $cases[] = array('class', 'CRM_Contact_Page_Inline_Phone', TRUE); | |
42 | $cases[] = array('', 'CRM_Foo_Bar', FALSE); | |
43 | $cases[] = array('', 'CRM_Contact_Page_Inline_Demographics', TRUE); | |
b6708aeb | 44 | |
6a488035 TO |
45 | // invalid type |
46 | $cases[] = array('invalidtype', 'CRM_Foo_Page_Inline_Bar', FALSE); | |
47 | $cases[] = array('invalidtype', 'CRM_Foo_Page_AJAX::method', FALSE); | |
48 | ||
49 | foreach ($cases as $case) { | |
0031e7ea E |
50 | list ($type, $className, $expectedResult) = $case; |
51 | $methodName = CRM_Utils_Array::value(3, $case); | |
6a488035 TO |
52 | $actualResult = CRM_Core_Page_AJAX::checkAuthz($type, $className, $methodName); |
53 | if ($methodName) { | |
54 | $this->assertEquals($expectedResult, $actualResult, | |
55 | sprintf('Check type=[%s] value=[%s] method=[%s]', $type, $className, $methodName)); | |
56 | } | |
57 | else { | |
58 | $this->assertEquals($expectedResult, $actualResult, | |
59 | sprintf('Check type=[%s] value=[%s]', $type, $className)); | |
60 | } | |
61 | } | |
62 | } | |
96025800 | 63 | |
6a488035 | 64 | } |