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