Completed
Push — master ( 8c258b...19c41e )
by Paweł
03:02
created

testGetDeprecatedFunctionsList()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 56
Code Lines 45

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
cc 1
eloc 45
c 2
b 0
f 1
nc 1
nop 0
dl 0
loc 56
rs 9.7251

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
3
class CodeReviewGeneralTest extends PHPUnit_Framework_TestCase {
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
4
5
	public function setUp() {
6
		$path = dirname(__FILE__) . '/test_files/fake_elgg/';
7
8
		require_once($path . 'engine/start.php');
9
10
		code_review::initConfig(array(
11
			'path' => $path,
12
			'engine_path' => $path . 'engine/',
13
			'pluginspath' => $path . 'mod/',
14
		));
15
	}
16
17
	public function testGetDeprecatedFunctionsList() {
18
19
		$functions = code_review::getDeprecatedFunctionsList('1.2');
20
		$this->assertArrayHasKey('dummy_deprecated_function1', $functions);
21
		$this->assertArrayHasKey('dummy_deprecated_function2', $functions);
22
23
		$deprecatedFunction1 = $functions['dummy_deprecated_function1'];
24
		$this->assertInstanceOf('CodeReview_Issues_Deprecated', $deprecatedFunction1);
25
		$this->assertInstanceOf('ArrayAccess', $deprecatedFunction1);
26
		$this->assertFalse(is_array($deprecatedFunction1));
27
28
		$this->assertArrayHasKey('name', $deprecatedFunction1);
29
		$this->assertArrayHasKey('version', $deprecatedFunction1);
30
		$this->assertArrayHasKey('file', $deprecatedFunction1);
31
		$this->assertArrayHasKey('line', $deprecatedFunction1);
32
		$this->assertArrayHasKey('deprecated', $deprecatedFunction1);
33
		$this->assertArrayHasKey('reason', $deprecatedFunction1);
34
		$this->assertArrayHasKey('fixinfoshort', $deprecatedFunction1);
35
36
		$this->assertEquals('dummy_deprecated_function1', $deprecatedFunction1['name']);
37
		$this->assertEquals('1.1', $deprecatedFunction1['version']);
38
		$this->assertEquals(true, $deprecatedFunction1['deprecated']);
39
		$this->assertEquals('deprecated', $deprecatedFunction1['reason']);
40
		$this->assertEquals('Remove it', $deprecatedFunction1['fixinfoshort']);
41
42
		$this->assertEquals("Line " . $deprecatedFunction1['line'] . ":\tFunction call: "
43
			. $deprecatedFunction1['name'] . " (deprecated since 1.1) Remove it",
44
			(string)$deprecatedFunction1);
45
46
		$deprecatedFunction2 = $functions['dummy_deprecated_function2'];
47
		$this->assertInstanceOf('CodeReview_Issues_Deprecated', $deprecatedFunction2);
48
		$this->assertInstanceOf('ArrayAccess', $deprecatedFunction2);
49
		$this->assertFalse(is_array($deprecatedFunction2));
50
51
		$this->assertArrayHasKey('name', $deprecatedFunction2);
52
		$this->assertArrayHasKey('version', $deprecatedFunction2);
53
		$this->assertArrayHasKey('file', $deprecatedFunction2);
54
		$this->assertArrayHasKey('line', $deprecatedFunction2);
55
		$this->assertArrayHasKey('deprecated', $deprecatedFunction2);
56
		$this->assertArrayHasKey('reason', $deprecatedFunction2);
57
		$this->assertArrayHasKey('fixinfoshort', $deprecatedFunction2);
58
59
		$this->assertEquals('dummy_deprecated_function2', $deprecatedFunction2['name']);
60
		$this->assertEquals('1.2', $deprecatedFunction2['version']);
61
		$this->assertEquals(true, $deprecatedFunction2['deprecated']);
62
		$this->assertEquals('deprecated', $deprecatedFunction2['reason']);
63
		$this->assertEquals(false, $deprecatedFunction2['fixinfoshort']);
64
65
		$this->assertEquals("Line " . $deprecatedFunction2['line'] . ":\tFunction call: "
66
			. $deprecatedFunction2['name'] . " (deprecated since 1.2)",
67
			(string)$deprecatedFunction2);
68
69
		$functions = code_review::getDeprecatedFunctionsList('1.1');
70
		$this->assertArrayNotHasKey('dummy_deprecated_function1', $functions);
71
		$this->assertArrayNotHasKey('dummy_deprecated_function2', $functions);
72
	}
73
74
	public function testGetPrivateFunctionsList() {
75
76
		$functions = code_review::getPrivateFunctionsList();
77
		$this->assertArrayNotHasKey('dummy_deprecated_function1', $functions);
78
79
		/*
80
		 * foobar_private_api
81
		 */
82
		$this->assertArrayHasKey('foobar_private_api', $functions);
83
		$privateFunction = $functions['foobar_private_api'];
84
		$this->assertInstanceOf('CodeReview_Issues_Private', $privateFunction);
85
		$this->assertInstanceOf('ArrayAccess', $privateFunction);
86
		$this->assertFalse(is_array($privateFunction));
87
88
		$this->assertArrayHasKey('name', $privateFunction);
89
		$this->assertArrayHasKey('file', $privateFunction);
90
		$this->assertArrayHasKey('line', $privateFunction);
91
		$this->assertArrayHasKey('reason', $privateFunction);
92
93
		$this->assertEquals('foobar_private_api', $privateFunction['name']);
94
		$this->assertEquals('private', $privateFunction['reason']);
95
96
		$this->assertEquals("Line " . $privateFunction['line'] . ":\tFunction call: "
97
			. $privateFunction['name'] . " (use of function marked private is unsafe)",
98
			(string)$privateFunction);
99
100
		/*
101
		 * foobar_undocumented
102
		 */
103
		$this->assertArrayHasKey('foobar_undocumented', $functions);
104
		$undocumentedFunction = $functions['foobar_undocumented'];
105
		$this->assertInstanceOf('CodeReview_Issues_NotDocumented', $undocumentedFunction);
106
		$this->assertInstanceOf('ArrayAccess', $undocumentedFunction);
107
		$this->assertFalse(is_array($undocumentedFunction));
108
109
		$this->assertArrayHasKey('name', $undocumentedFunction);
110
		$this->assertArrayHasKey('file', $undocumentedFunction);
111
		$this->assertArrayHasKey('line', $undocumentedFunction);
112
		$this->assertArrayHasKey('reason', $undocumentedFunction);
113
114
		$this->assertEquals('foobar_undocumented', $undocumentedFunction['name']);
115
		$this->assertEquals('not_documented', $undocumentedFunction['reason']);
116
117
		$this->assertEquals("Line " . $undocumentedFunction['line'] . ":\tFunction call: "
118
			. $undocumentedFunction['name'] . " (use of undocumented core function is unsafe)",
119
			(string)$undocumentedFunction);
120
	}
121
}
122