1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

[ticket/16649] Upgrade to Symfony 5

PHPBB3-16649
This commit is contained in:
rxu
2020-12-01 13:10:45 +07:00
parent 7110b61df5
commit 19b12bf6ee
133 changed files with 524 additions and 190 deletions

View File

@@ -93,8 +93,8 @@ class phpbb_attachment_upload_test extends \phpbb_database_test_case
$this->language = new \phpbb\language\language(new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx));
$this->php_ini = new \bantu\IniGetWrapper\IniGetWrapper;
$guessers = array(
new \Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser(),
new \Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser(),
new \Symfony\Component\Mime\FileinfoMimeTypeGuesser(),
new \Symfony\Component\Mime\FileBinaryMimeTypeGuesser(),
new \phpbb\mimetype\content_guesser(),
new \phpbb\mimetype\extension_guesser(),
);

View File

@@ -28,6 +28,8 @@ class phpbb_console_command_cache_purge_test extends phpbb_test_case
protected function setUp(): void
{
global $phpbb_root_path, $phpEx;
$this->cache_dir = dirname(__FILE__) . '/tmp/cache/';
if (file_exists($this->cache_dir))
@@ -43,7 +45,8 @@ class phpbb_console_command_cache_purge_test extends phpbb_test_case
$this->db = $this->createMock('\phpbb\db\driver\driver_interface');
$this->config = new \phpbb\config\config(array('assets_version' => 1));
$this->user = $this->createMock('\phpbb\user');
$this->language = new \phpbb\language\language(new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx));
$this->user = new \phpbb\user($this->language, '\phpbb\datetime');
}
public function test_purge()

View File

@@ -50,7 +50,8 @@ class phpbb_console_command_thumbnail_test extends phpbb_database_test_case
));
$this->db = $this->db = $this->new_dbal();
$this->user = $this->createMock('\phpbb\user');
$this->language = new \phpbb\language\language(new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx));
$this->user = new \phpbb\user($this->language, '\phpbb\datetime');
$this->phpbb_root_path = $phpbb_root_path;
$this->phpEx = $phpEx;

View File

@@ -106,7 +106,7 @@ class phpbb_console_user_add_test extends phpbb_console_user_base
$this->assertEquals(2, $this->get_user_id('Admin'));
$this->question->setInputStream($this->getInputStream("bar\npassword\npassword\nbar@test.com\n"));
$command_tester->setInputs(['bar\npassword\npassword\nbar@test.com']);
$command_tester->execute(array(
'command' => $this->command_name,

View File

@@ -117,13 +117,4 @@ abstract class phpbb_console_user_base extends phpbb_database_test_case
$user_id = $row ? $row['user_id'] : null;
return $user_id;
}
public function getInputStream($input)
{
$stream = fopen('php://memory', 'r+', false);
fputs($stream, $input);
rewind($stream);
return $stream;
}
}

View File

@@ -1,3 +1,4 @@
services:
_defaults: { public: true }
core_foo.controller:
class: phpbb\controller\foo

View File

@@ -1,3 +1,4 @@
services:
_defaults: { public: true }
bar.controller:
class: bar\controller

View File

@@ -1,3 +1,4 @@
services:
_defaults: { public: true }
foo.controller:
class: foo\controller

View File

@@ -52,7 +52,7 @@ namespace
$this->assertTrue($container->hasParameter('core'));
// Checks compile_container
$this->assertTrue($container->isFrozen());
$this->assertTrue($container->isCompiled());
// Checks inject_config
$this->assertTrue($container->hasParameter('core.table_prefix'));
@@ -74,7 +74,7 @@ namespace
// Checks the construction of a dumped container
$container = $this->builder->get_container();
$this->assertInstanceOf('phpbb_cache_container', $container);
$this->assertTrue($container->isFrozen());
$this->assertTrue($container->isCompiled());
}
public function test_tables_mapping()
@@ -102,7 +102,7 @@ namespace
$container = $this->builder->get_container();
$this->assertNotInstanceOf('phpbb_cache_container', $container);
$this->assertInstanceOf('Symfony\Component\DependencyInjection\ContainerBuilder', $container);
$this->assertTrue($container->isFrozen());
$this->assertTrue($container->isCompiled());
}
public function test_without_extensions()
@@ -127,7 +127,7 @@ namespace
$this->assertInstanceOf('Symfony\Component\DependencyInjection\ContainerBuilder', $container);
// Checks compile_container
$this->assertFalse($container->isFrozen());
$this->assertFalse($container->isCompiled());
}
public function test_with_config_path()

View File

@@ -5,6 +5,7 @@ parameters:
tables.acl_roles: '%core.table_prefix%acl_roles'
services:
_defaults: { public: true }
config.php:
synthetic: true

View File

@@ -5,6 +5,7 @@ parameters:
tables.acl_roles: '%core.table_prefix%acl_roles'
services:
_defaults: { public: true }
config.php:
synthetic: true

View File

@@ -2,6 +2,7 @@ parameters:
other_config: true
services:
_defaults: { public: true }
config.php:
synthetic: true

View File

@@ -2,6 +2,7 @@ parameters:
other_config: true
services:
_defaults: { public: true }
config.php:
synthetic: true

View File

@@ -84,7 +84,7 @@ class exception_listener extends phpbb_test_case
$exception_listener = new \phpbb\event\kernel_exception_subscriber($template, $lang);
$event = new \Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent($this->createMock('Symfony\Component\HttpKernel\HttpKernelInterface'), $request, \Symfony\Component\HttpKernel\HttpKernelInterface::MASTER_REQUEST, $exception);
$event = new \Symfony\Component\HttpKernel\Event\ExceptionEvent($this->createMock('Symfony\Component\HttpKernel\HttpKernelInterface'), $request, \Symfony\Component\HttpKernel\HttpKernelInterface::MASTER_REQUEST, $exception);
$exception_listener->on_kernel_exception($event);
$response = $event->getResponse();

View File

@@ -58,7 +58,7 @@ class phpbb_functional_controllers_compatibility_test extends phpbb_functional_t
$location = substr($location, 0, -1);
}
$this->assertEquals(301, self::$client->getResponse()->getStatus());
$this->assertEquals(301, self::$client->getResponse()->getStatusCode());
$this->assertStringEndsWith($to, $location);
}
}

View File

@@ -107,7 +107,7 @@ class phpbb_functional_extension_controller_test extends phpbb_functional_test_c
$this->phpbb_extension_manager->enable('foo/bar');
$crawler = self::request('GET', 'app.php/foo/baz', array(), false);
$this->assert_response_html(500);
$this->assertStringContainsString('Missing value for argument #1: test in class foo\bar\controller\controller:baz', $crawler->filter('body')->text());
$this->assertStringContainsString('Controller "foo\bar\controller\controller::baz()" requires that you provide a value for the "$test" argument', $crawler->filter('body')->text());
$this->phpbb_extension_manager->purge('foo/bar');
}

View File

@@ -51,14 +51,14 @@ class phpbb_functional_feed_test extends phpbb_functional_test_case
self::$init_values['topic_base_items'] = (int) $values['config[feed_limit_topic]'];
// Enable all feeds
$values['config[feed_enable]'] = true;
$values['config[feed_forum]'] = true;
$values['config[feed_item_statistics]'] = true;
$values['config[feed_overall]'] = true;
$values['config[feed_overall_forums]'] = true;
$values['config[feed_topic]'] = true;
$values['config[feed_topics_active]'] = true;
$values['config[feed_topics_new]'] = true;
$values['config[feed_enable]'] = 1;
$values['config[feed_forum]'] = 1;
$values['config[feed_item_statistics]'] = 1;
$values['config[feed_overall]'] = 1;
$values['config[feed_overall_forums]'] = 1;
$values['config[feed_topic]'] = 1;
$values['config[feed_topics_active]'] = 1;
$values['config[feed_topics_new]'] = 1;
$form->setValues($values);
@@ -68,7 +68,7 @@ class phpbb_functional_feed_test extends phpbb_functional_test_case
// Disable showing unapproved posts to users
$crawler = self::request('GET', "adm/index.php?sid={$this->sid}&i=acp_board&mode=features");
$form = $crawler->selectButton('Submit')->form();
$form->setValues(['config[display_unapproved_posts]' => false]);
$form->setValues(['config[display_unapproved_posts]' => 0]);
$crawler = self::submit($form);
self::assertContainsLang('CONFIG_UPDATED', $crawler->filter('.successbox')->text());

View File

@@ -1,4 +1,5 @@
services:
_defaults: { public: true }
foo_bar.controller:
class: foo\bar\controller\controller
arguments:

View File

@@ -1,3 +1,4 @@
services:
_defaults: { public: true }
foo_foo.controller:
class: foo\foo\controller\controller

View File

@@ -70,7 +70,7 @@ class phpbb_functional_posting_test extends phpbb_functional_test_case
public function test_quote()
{
$text = 'Test post </textarea>"\' &&amp;amp;';
$expected = "(\\[quote=admin[^\\]]*\\]\n" . preg_quote($text) . "\n\\[/quote\\])";
$expected = "(\[quote=admin[^\]]*\]\s?" . preg_quote($text) . "\s?\[\/quote\])";
$this->login();
$topic = $this->create_topic(2, 'Test Topic 1', 'Test topic');
@@ -123,7 +123,7 @@ class phpbb_functional_posting_test extends phpbb_functional_test_case
$this->set_quote_depth($quote_depth);
$crawler = self::request('GET', $quote_url);
$this->assertRegexp(
"(\\[quote=admin[^\\]]*\\]\n?" . preg_quote($expected_text) . "\n?\\[/quote\\])",
"(\[quote=admin[^\]]*\]\s?" . preg_quote($expected_text) . "\s?\[\/quote\])",
$crawler->filter('textarea#message')->text()
);
}

View File

@@ -85,7 +85,7 @@ class phpbb_functional_private_messages_test extends phpbb_functional_test_case
public function test_quote_pm()
{
$text = 'This is a test private message sent by the testing framework.';
$expected = "(\\[quote=admin msg_id=\\d+ time=\\d+ user_id=2\\]\n" . $text . "\n\\[/quote\\])";
$expected = "(\[quote=admin msg_id=[\d]+ time=[\d]+ user_id=2\]\s?" . $text . "\s?\[\/quote\])";
$this->login();
$message_id = $this->create_private_message('Test', $text, array(2));
@@ -98,13 +98,13 @@ class phpbb_functional_private_messages_test extends phpbb_functional_test_case
public function test_quote_forward()
{
$text = 'This is a test private message sent by the testing framework.';
$expected = "[quote=admin]\n" . $text . "\n[/quote]";
$expected = "(\[quote=admin\]\s?" . $text . "\s?\[\/quote\])";
$this->login();
$message_id = $this->create_private_message('Test', $text, array(2));
$crawler = self::request('GET', 'ucp.php?i=pm&mode=compose&action=forward&f=0&p=' . $message_id . '&sid=' . $this->sid);
$this->assertStringContainsString($expected, $crawler->filter('textarea#message')->text());
$this->assertRegexp($expected, $crawler->filter('textarea#message')->text());
}
}

View File

@@ -32,14 +32,14 @@ class guesser_test extends \phpbb_test_case
global $phpbb_root_path;
$guessers = array(
new \Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser(),
new \Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser(),
new \Symfony\Component\Mime\FileinfoMimeTypeGuesser(),
new \Symfony\Component\Mime\FileBinaryMimeTypeGuesser(),
new \phpbb\mimetype\extension_guesser,
new \phpbb\mimetype\content_guesser,
);
// Check if any guesser except the extension_guesser is available
$this->fileinfo_supported = $guessers[0]->isSupported() | $guessers[1]->isSupported() | $guessers[3]->is_supported();
$this->fileinfo_supported = $guessers[0]->isGuesserSupported() | $guessers[1]->isGuesserSupported() | $guessers[3]->is_supported();
// Also create a guesser that emulates not having fileinfo available
$this->guesser_no_fileinfo = new \phpbb\mimetype\guesser(array($guessers[2]));
@@ -175,7 +175,11 @@ class guesser_test extends \phpbb_test_case
// Cover possible LogicExceptions
foreach ($guessers as $cur_guesser)
{
$supported += $cur_guesser->is_supported();
$is_supported = (method_exists($cur_guesser, 'is_supported')) ? 'is_supported' : '';
$is_supported = (method_exists($cur_guesser, 'isSupported')) ? 'isSupported' : $is_supported;
$is_supported = (method_exists($cur_guesser, 'isGuesserSupported')) ? 'isGuesserSupported' : $is_supported;
$supported += $cur_guesser->$is_supported();
}
if (!$supported)
@@ -194,9 +198,9 @@ class guesser_test extends \phpbb_test_case
public function test_sort_priority()
{
$guessers = array(
'FileinfoMimeTypeGuesser' => new \Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser,
'FileinfoMimeTypeGuesser' => new \Symfony\Component\Mime\FileinfoMimeTypeGuesser,
'extension_guesser' => new \phpbb\mimetype\extension_guesser,
'FileBinaryMimeTypeGuesser' => new \Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser,
'FileBinaryMimeTypeGuesser' => new \Symfony\Component\Mime\FileBinaryMimeTypeGuesser,
'content_guesser' => new \phpbb\mimetype\content_guesser,
);
$guessers['content_guesser']->set_priority(5);

View File

@@ -195,7 +195,7 @@ class phpbb_mock_container_builder implements ContainerInterface
{
}
public function isFrozen()
public function isCompiled()
{
return false;
}

View File

@@ -2,6 +2,7 @@ imports:
- { resource: ../../../phpBB/config/default/container/services_notification.yml }
services:
_defaults: { public: true }
notification_manager:
synthetic: true

View File

@@ -1017,12 +1017,12 @@ class phpbb_functional_test_case extends phpbb_test_case
*/
static public function assert_response_status_code($status_code = 200)
{
if ($status_code != self::$client->getResponse()->getStatus() &&
preg_match('/^5[0-9]{2}/', self::$client->getResponse()->getStatus()))
if ($status_code != self::$client->getResponse()->getStatusCode() &&
preg_match('/^5[0-9]{2}/', self::$client->getResponse()->getStatusCode()))
{
self::fail("Encountered unexpected server error:\n" . self::$client->getResponse()->getContent());
}
self::assertEquals($status_code, self::$client->getResponse()->getStatus(), 'HTTP status code does not match');
self::assertEquals($status_code, self::$client->getResponse()->getStatusCode(), 'HTTP status code does not match');
}
public function assert_filter($crawler, $expr, $msg = null)

View File

@@ -455,7 +455,7 @@ class phpbb_test_case_helpers
$cache_key_renderer = $prefix . '_renderer';
$container->set('cache.driver', $cache);
if (!$container->isFrozen())
if (!$container->isCompiled())
{
$container->setParameter('cache.dir', $cache_dir);
}

View File

@@ -66,8 +66,8 @@ class phpbb_filespec_test extends phpbb_test_case
}
$guessers = array(
new \Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser(),
new \Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser(),
new \Symfony\Component\Mime\FileinfoMimeTypeGuesser(),
new \Symfony\Component\Mime\FileBinaryMimeTypeGuesser(),
new \phpbb\mimetype\content_guesser(),
new \phpbb\mimetype\extension_guesser(),
);

View File

@@ -59,8 +59,8 @@ class phpbb_fileupload_test extends phpbb_test_case
$this->filesystem = new \phpbb\filesystem\filesystem();
$this->language = new \phpbb\language\language(new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx));
$guessers = array(
new \Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser(),
new \Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser(),
new \Symfony\Component\Mime\FileinfoMimeTypeGuesser(),
new \Symfony\Component\Mime\FileBinaryMimeTypeGuesser(),
new \phpbb\mimetype\content_guesser(),
new \phpbb\mimetype\extension_guesser(),
);