Completed
Push — master ( 6f6421...78394f )
by Wim
04:31
created

testDeprecatedPregFilter()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 40
Code Lines 36

Duplication

Lines 40
Ratio 100 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 36
c 1
b 0
f 0
nc 1
nop 0
dl 40
loc 40
rs 8.8571
1
<?php
2
/**
3
 * preg_replace() /e modifier sniff test file
4
 *
5
 * @package PHPCompatibility
6
 */
7
8
9
/**
10
 * preg_replace() /e modifier sniff tests
11
 *
12
 * @uses BaseSniffTest
13
 * @package PHPCompatibility
14
 * @author Jansen Price <[email protected]>
15
 */
16
class PregReplaceEModifierSniffTest extends BaseSniffTest
17
{
18
    /**
19
     * Sniffed file
20
     *
21
     * @var PHP_CodeSniffer_File
22
     */
23
    protected $_sniffFile;
24
25
    /**
26
     * setUp
27
     *
28
     * @return void
29
     */
30
    public function setUp()
31
    {
32
        parent::setUp();
33
    }
34
35
    /**
36
     * testNonDeprecatedPregReplace
37
     *
38
     * @return void
39
     */
40
    public function testNonDeprecatedPregReplace()
41
    {
42
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '5.4');
43
        $this->assertNoViolation($this->_sniffFile, 9);
44
        $this->assertNoViolation($this->_sniffFile, 10);
45
        $this->assertNoViolation($this->_sniffFile, 13);
46
        $this->assertNoViolation($this->_sniffFile, 14);
47
        $this->assertNoViolation($this->_sniffFile, 17);
48
        $this->assertNoViolation($this->_sniffFile, 18);
49
        $this->assertNoViolation($this->_sniffFile, 21);
50
        $this->assertNoViolation($this->_sniffFile, 24);
51
        $this->assertNoViolation($this->_sniffFile, 39);
52
        $this->assertNoViolation($this->_sniffFile, 45);
53
54
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '5.5');
55
        $this->assertNoViolation($this->_sniffFile, 9);
56
        $this->assertNoViolation($this->_sniffFile, 10);
57
        $this->assertNoViolation($this->_sniffFile, 13);
58
        $this->assertNoViolation($this->_sniffFile, 14);
59
        $this->assertNoViolation($this->_sniffFile, 17);
60
        $this->assertNoViolation($this->_sniffFile, 18);
61
        $this->assertNoViolation($this->_sniffFile, 21);
62
        $this->assertNoViolation($this->_sniffFile, 24);
63
        $this->assertNoViolation($this->_sniffFile, 39);
64
        $this->assertNoViolation($this->_sniffFile, 45);
65
    
66
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '7.0');
67
        $this->assertNoViolation($this->_sniffFile, 9);
68
        $this->assertNoViolation($this->_sniffFile, 10);
69
        $this->assertNoViolation($this->_sniffFile, 13);
70
        $this->assertNoViolation($this->_sniffFile, 14);
71
        $this->assertNoViolation($this->_sniffFile, 17);
72
        $this->assertNoViolation($this->_sniffFile, 18);
73
        $this->assertNoViolation($this->_sniffFile, 21);
74
        $this->assertNoViolation($this->_sniffFile, 24);
75
        $this->assertNoViolation($this->_sniffFile, 39);
76
        $this->assertNoViolation($this->_sniffFile, 45);
77
    }
78
79
    /**
80
     * testDeprecatedPregReplace
81
     *
82
     * @return void
83
     */
84 View Code Duplication
    public function testDeprecatedPregReplace()
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
85
    {
86
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '5.4');
87
        $this->assertNoViolation($this->_sniffFile, 50);
88
        $this->assertNoViolation($this->_sniffFile, 51);
89
        $this->assertNoViolation($this->_sniffFile, 54);
90
        $this->assertNoViolation($this->_sniffFile, 55);
91
        $this->assertNoViolation($this->_sniffFile, 58);
92
        $this->assertNoViolation($this->_sniffFile, 59);
93
        $this->assertNoViolation($this->_sniffFile, 60);
94
        $this->assertNoViolation($this->_sniffFile, 63);
95
        $this->assertNoViolation($this->_sniffFile, 78);
96
        $this->assertNoViolation($this->_sniffFile, 84);
97
        
98
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '5.5');
99
        $error = "preg_replace() - /e modifier is deprecated in PHP 5.5";
100
        $this->assertError($this->_sniffFile, 50, $error);
101
        $this->assertError($this->_sniffFile, 51, $error);
102
        $this->assertError($this->_sniffFile, 54, $error);
103
        $this->assertError($this->_sniffFile, 55, $error);
104
        $this->assertError($this->_sniffFile, 58, $error);
105
        $this->assertError($this->_sniffFile, 59, $error);
106
        $this->assertError($this->_sniffFile, 60, $error);
107
        $this->assertError($this->_sniffFile, 63, $error);
108
        $this->assertError($this->_sniffFile, 78, $error);
109
        $this->assertError($this->_sniffFile, 84, $error);
110
111
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '7.0');
112
        $error = "preg_replace() - /e modifier is forbidden in PHP 7.0";
113
        $this->assertError($this->_sniffFile, 50, $error);
114
        $this->assertError($this->_sniffFile, 51, $error);
115
        $this->assertError($this->_sniffFile, 54, $error);
116
        $this->assertError($this->_sniffFile, 55, $error);
117
        $this->assertError($this->_sniffFile, 58, $error);
118
        $this->assertError($this->_sniffFile, 59, $error);
119
        $this->assertError($this->_sniffFile, 60, $error);
120
        $this->assertError($this->_sniffFile, 63, $error);
121
        $this->assertError($this->_sniffFile, 78, $error);
122
        $this->assertError($this->_sniffFile, 84, $error);
123
    }
124
125
    /**
126
     * testUntestablePregReplace
127
     *
128
     * @return void
129
     */
130
    public function testUntestablePregReplace()
131
    {
132
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '5.4');
133
        $this->assertNoViolation($this->_sniffFile, 94);
134
        $this->assertNoViolation($this->_sniffFile, 95);
135
        $this->assertNoViolation($this->_sniffFile, 96);
136
        
137
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '5.5');
138
        $this->assertNoViolation($this->_sniffFile, 94);
139
        $this->assertNoViolation($this->_sniffFile, 95);
140
        $this->assertNoViolation($this->_sniffFile, 96);
141
        
142
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '7.0');
143
        $this->assertNoViolation($this->_sniffFile, 94);
144
        $this->assertNoViolation($this->_sniffFile, 95);
145
        $this->assertNoViolation($this->_sniffFile, 96);
146
    }
147
148
    /**
149
     * @throws Exception
150
     */
151
    public function testUsingBracketDelimitersPregReplace()
152
    {
153
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '5.4');
154
        $this->assertNoViolation($this->_sniffFile, 99);
155
        $this->assertNoViolation($this->_sniffFile, 100);
156
        $this->assertNoViolation($this->_sniffFile, 101);
157
        $this->assertNoViolation($this->_sniffFile, 102);
158
        $this->assertNoViolation($this->_sniffFile, 103);
159
        $this->assertNoViolation($this->_sniffFile, 104);
160
        $this->assertNoViolation($this->_sniffFile, 105);
161
        $this->assertNoViolation($this->_sniffFile, 106);
162
        $this->assertNoViolation($this->_sniffFile, 107);
163
        $this->assertNoViolation($this->_sniffFile, 108);
164
        $this->assertNoViolation($this->_sniffFile, 109);
165
166
167
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '5.5');
168
        $error = "preg_replace() - /e modifier is deprecated in PHP 5.5";
169
        $this->assertError($this->_sniffFile, 99, $error);
170
        $this->assertError($this->_sniffFile, 100, $error);
171
        $this->assertNoViolation($this->_sniffFile, 101);
172
        $this->assertNoViolation($this->_sniffFile, 102);
173
        $this->assertNoViolation($this->_sniffFile, 103);
174
        $this->assertError($this->_sniffFile, 104, $error);
175
        $this->assertNoViolation($this->_sniffFile, 105);
176
        $this->assertError($this->_sniffFile, 106, $error);
177
        $this->assertNoViolation($this->_sniffFile, 107);
178
        $this->assertError($this->_sniffFile, 108, $error);
179
        $this->assertNoViolation($this->_sniffFile, 109);
180
181
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '7.0');
182
        $error = "preg_replace() - /e modifier is forbidden in PHP 7.0";
183
        $this->assertError($this->_sniffFile, 99, $error);
184
        $this->assertError($this->_sniffFile, 100, $error);
185
        $this->assertNoViolation($this->_sniffFile, 101);
186
        $this->assertNoViolation($this->_sniffFile, 102);
187
        $this->assertNoViolation($this->_sniffFile, 103);
188
        $this->assertError($this->_sniffFile, 104, $error);
189
        $this->assertNoViolation($this->_sniffFile, 105);
190
        $this->assertError($this->_sniffFile, 106, $error);
191
        $this->assertNoViolation($this->_sniffFile, 107);
192
        $this->assertError($this->_sniffFile, 108, $error);
193
        $this->assertNoViolation($this->_sniffFile, 109);
194
    }
195
196
    /**
197
     * testDeprecatedPregFilter
198
     *
199
     * @return void
200
     */
201 View Code Duplication
    public function testDeprecatedPregFilter()
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
202
    {
203
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '5.4');
204
        $this->assertNoViolation($this->_sniffFile, 114);
205
        $this->assertNoViolation($this->_sniffFile, 115);
206
        $this->assertNoViolation($this->_sniffFile, 118);
207
        $this->assertNoViolation($this->_sniffFile, 119);
208
        $this->assertNoViolation($this->_sniffFile, 122);
209
        $this->assertNoViolation($this->_sniffFile, 123);
210
        $this->assertNoViolation($this->_sniffFile, 124);
211
        $this->assertNoViolation($this->_sniffFile, 127);
212
        $this->assertNoViolation($this->_sniffFile, 142);
213
        $this->assertNoViolation($this->_sniffFile, 148);
214
215
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '5.5');
216
        $error = "preg_replace() - /e modifier is deprecated in PHP 5.5";
217
        $this->assertError($this->_sniffFile, 114, $error);
218
        $this->assertError($this->_sniffFile, 115, $error);
219
        $this->assertError($this->_sniffFile, 118, $error);
220
        $this->assertError($this->_sniffFile, 119, $error);
221
        $this->assertError($this->_sniffFile, 122, $error);
222
        $this->assertError($this->_sniffFile, 123, $error);
223
        $this->assertError($this->_sniffFile, 124, $error);
224
        $this->assertError($this->_sniffFile, 127, $error);
225
        $this->assertError($this->_sniffFile, 142, $error);
226
        $this->assertError($this->_sniffFile, 148, $error);
227
228
        $this->_sniffFile = $this->sniffFile('sniff-examples/preg_replace_e_modifier.php', '7.0');
229
        $error = "preg_replace() - /e modifier is forbidden in PHP 7.0";
230
        $this->assertError($this->_sniffFile, 114, $error);
231
        $this->assertError($this->_sniffFile, 115, $error);
232
        $this->assertError($this->_sniffFile, 118, $error);
233
        $this->assertError($this->_sniffFile, 119, $error);
234
        $this->assertError($this->_sniffFile, 122, $error);
235
        $this->assertError($this->_sniffFile, 123, $error);
236
        $this->assertError($this->_sniffFile, 124, $error);
237
        $this->assertError($this->_sniffFile, 127, $error);
238
        $this->assertError($this->_sniffFile, 142, $error);
239
        $this->assertError($this->_sniffFile, 148, $error);
240
    }
241
242
}
243