Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.
Common duplication problems, and corresponding solutions are:
1 | <?php |
||
19 | class MaskGeneratorTest extends LanguageAwareTestCase |
||
20 | { |
||
21 | /** |
||
22 | * @param array $languages |
||
23 | * @param int $expectedMask |
||
24 | * |
||
25 | * @covers \eZ\Publish\Core\Persistence\Legacy\Content\Language\MaskGenerator::generateLanguageMask |
||
26 | * @dataProvider getLanguageMaskData |
||
27 | */ |
||
28 | public function testGenerateLanguageMask(array $languages, $expectedMask) |
||
37 | |||
38 | /** |
||
39 | * @param array $languages |
||
40 | * @param int $expectedMask |
||
41 | * |
||
42 | * @covers \eZ\Publish\Core\Persistence\Legacy\Content\Language\MaskGenerator::generateLanguageMaskFromLanguageCodes |
||
43 | * @dataProvider getLanguageMaskData |
||
44 | */ |
||
45 | public function testGenerateLanguageMaskFromLanguagesCodes(array $languages, $expectedMask) |
||
61 | |||
62 | /** |
||
63 | * Returns test data for {@link testGenerateLanguageMask()} and {@link testGenerateLanguageMaskFromLanguagesCodes()}. |
||
64 | * |
||
65 | * @return array |
||
66 | */ |
||
67 | public static function getLanguageMaskData() |
||
92 | |||
93 | /** |
||
94 | * @param string $languageCode |
||
95 | * @param bool $alwaysAvailable |
||
96 | * @param int $expectedIndicator |
||
97 | * |
||
98 | * @covers \eZ\Publish\Core\Persistence\Legacy\Content\Language\MaskGenerator::generateLanguageIndicator |
||
99 | * @dataProvider getLanguageIndicatorData |
||
100 | */ |
||
101 | public function testGenerateLanguageIndicator( |
||
113 | |||
114 | /** |
||
115 | * Returns test data for {@link testGenerateLanguageIndicator()}. |
||
116 | * |
||
117 | * @return array |
||
118 | */ |
||
119 | public static function getLanguageIndicatorData() |
||
134 | |||
135 | /** |
||
136 | * @covers \eZ\Publish\Core\Persistence\Legacy\Content\Language\MaskGenerator::isLanguageAlwaysAvailable |
||
137 | */ |
||
138 | public function testIsLanguageAlwaysAvailable() |
||
152 | |||
153 | /** |
||
154 | * @covers \eZ\Publish\Core\Persistence\Legacy\Content\Language\MaskGenerator::isLanguageAlwaysAvailable |
||
155 | */ |
||
156 | public function testIsLanguageAlwaysAvailableOtherLanguage() |
||
170 | |||
171 | /** |
||
172 | * @covers \eZ\Publish\Core\Persistence\Legacy\Content\Language\MaskGenerator::isLanguageAlwaysAvailable |
||
173 | */ |
||
174 | public function testIsLanguageAlwaysAvailableNoDefault() |
||
187 | |||
188 | /** |
||
189 | * @param int $languageMask |
||
190 | * @param bool $expectedResult |
||
191 | * |
||
192 | * @covers \eZ\Publish\Core\Persistence\Legacy\Content\Language\MaskGenerator::isAlwaysAvailable |
||
193 | * @dataProvider isAlwaysAvailableProvider |
||
194 | */ |
||
195 | public function testIsAlwaysAvailable($langMask, $expectedResult) |
||
200 | |||
201 | /** |
||
202 | * Returns test data for {@link testIsAlwaysAvailable()}. |
||
203 | * |
||
204 | * @return array |
||
205 | */ |
||
206 | public function isAlwaysAvailableProvider() |
||
216 | |||
217 | /** |
||
218 | * @covers \eZ\Publish\Core\Persistence\Legacy\Content\Language\MaskGenerator::removeAlwaysAvailableFlag |
||
219 | * @dataProvider removeAlwaysAvailableFlagProvider |
||
220 | */ |
||
221 | public function testRemoveAlwaysAvailableFlag($langMask, $expectedResult) |
||
226 | |||
227 | /** |
||
228 | * Returns test data for {@link testRemoveAlwaysAvailableFlag}. |
||
229 | * |
||
230 | * @return array |
||
231 | */ |
||
232 | public function removeAlwaysAvailableFlagProvider() |
||
241 | |||
242 | /** |
||
243 | * @param int $langMask |
||
244 | * @param array $expectedResult |
||
245 | * |
||
246 | * @covers \eZ\Publish\Core\Persistence\Legacy\Content\Language\MaskGenerator::extractLanguageIdsFromMask |
||
247 | * @dataProvider languageIdsFromMaskProvider |
||
248 | */ |
||
249 | public function testExtractLanguageIdsFromMask($langMask, array $expectedResult) |
||
254 | |||
255 | /** |
||
256 | * Returns test data for {@link testExtractLanguageIdsFromMask}. |
||
257 | * |
||
258 | * @return array |
||
259 | */ |
||
260 | public function languageIdsFromMaskProvider() |
||
277 | |||
278 | /** |
||
279 | * Returns the mask generator to test. |
||
280 | * |
||
281 | * @return \eZ\Publish\Core\Persistence\Legacy\Content\Language\MaskGenerator |
||
282 | */ |
||
283 | protected function getMaskGenerator() |
||
287 | |||
288 | /** |
||
289 | * Returns a language handler mock. |
||
290 | * |
||
291 | * @return \eZ\Publish\Core\Persistence\Legacy\Content\Language\Handler |
||
292 | */ |
||
293 | protected function getLanguageHandler() |
||
336 | } |
||
337 |
This method has been deprecated. The supplier of the class has supplied an explanatory message.
The explanatory message should give you some clue as to whether and when the method will be removed from the class and what other method or class to use instead.