Skip to content

Commit 174e0ef

Browse files
committed
Try removing unused code again and improve tests
1 parent 8b11806 commit 174e0ef

File tree

2 files changed

+68
-10
lines changed

2 files changed

+68
-10
lines changed

helper/packager.php

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,16 +116,14 @@ public function create_extension($data)
116116
$filesystem->remove($this->root_path . 'store/tmp-ext');
117117
$filesystem->mkdir($ext_path);
118118

119-
$phpbb_31 = (bool) preg_match('/^\D*3\.1.*$/', $data['requirements']['phpbb_version_min']);
120-
121119
$template = $this->get_template_engine();
122120
$template->set_custom_style('skeletonextension', $this->root_path . 'ext/phpbb/skeleton/skeleton');
123121
$template->assign_vars([
124122
'COMPONENT' => $data['components'],
125123
'EXTENSION' => $data['extension'],
126124
'REQUIREMENTS' => $data['requirements'],
127125
'AUTHORS' => $data['authors'],
128-
'LANGUAGE' => $this->get_language_version_data($phpbb_31),
126+
'LANGUAGE' => $this->get_language_version_data($data),
129127
]);
130128

131129
$component_data = $this->get_component_dialog_values();
@@ -239,12 +237,18 @@ protected function get_template_engine()
239237
* Get an array of language class and methods depending on 3.1 or 3.2
240238
* compatibility, for use in the skeleton twig templates.
241239
*
242-
* @param bool $phpbb_31 Is phpBB 3.1 support requested?
240+
* @param array $data Extension data
243241
*
244242
* @return array An array of language data
245243
*/
246-
protected function get_language_version_data($phpbb_31)
244+
protected function get_language_version_data($data)
247245
{
246+
$phpbb_31 = false;
247+
if (isset($data['requirements']['phpbb_version_min']))
248+
{
249+
$phpbb_31 = (bool) preg_match('/^\D*3\.1.*$/', $data['requirements']['phpbb_version_min']);
250+
}
251+
248252
return [
249253
'class' => $phpbb_31 ? '\phpbb\user' : '\phpbb\language\language',
250254
'object' => $phpbb_31 ? 'user' : 'language',

tests/helper/packager_test.php

Lines changed: 59 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,66 @@ public function test_create_zip_creates_zip_file()
132132
// Clean up or further assertions here
133133
}
134134

135-
public function test_get_language_version_data_returns_expected()
135+
/**
136+
* @dataProvider provide_language_version_data
137+
*/
138+
public function test_get_language_version_data_returns_expected($phpbb_version, $expected)
136139
{
137-
$data_31 = $this->invokeMethod($this->packager, 'get_language_version_data', [true]);
138-
$data_32 = $this->invokeMethod($this->packager, 'get_language_version_data', [false]);
139-
$this->assertArrayHasKey('class', $data_31);
140-
$this->assertArrayHasKey('class', $data_32);
140+
$data = [
141+
'requirements' => [
142+
'phpbb_version_min' => $phpbb_version
143+
]
144+
];
145+
146+
$result = $this->invokeMethod($this->packager, 'get_language_version_data', [$data]);
147+
148+
$this->assertSame($expected['class'], $result['class']);
149+
$this->assertSame($expected['object'], $result['object']);
150+
$this->assertSame($expected['function'], $result['function']);
151+
$this->assertSame($expected['indent']['class'], $result['indent']['class']);
152+
$this->assertSame($expected['indent']['object'], $result['indent']['object']);
153+
}
154+
155+
public function provide_language_version_data()
156+
{
157+
return [
158+
'3.1 version' => [
159+
'3.1.0',
160+
[
161+
'class' => '\phpbb\user',
162+
'object' => 'user',
163+
'function' => 'add_lang_ext',
164+
'indent' => [
165+
'class' => "\t\t\t",
166+
'object' => "\t"
167+
]
168+
]
169+
],
170+
'3.2 version' => [
171+
'3.2.0',
172+
[
173+
'class' => '\phpbb\language\language',
174+
'object' => 'language',
175+
'function' => 'add_lang',
176+
'indent' => [
177+
'class' => '',
178+
'object' => ''
179+
]
180+
]
181+
],
182+
'null version' => [
183+
null,
184+
[
185+
'class' => '\phpbb\language\language',
186+
'object' => 'language',
187+
'function' => 'add_lang',
188+
'indent' => [
189+
'class' => '',
190+
'object' => ''
191+
]
192+
]
193+
]
194+
];
141195
}
142196

143197
public function test_get_template_engine_returns_twig_instance()

0 commit comments

Comments
 (0)