1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-23 18:11:47 +02:00
Files
php-phpbb/tests/functional/mcp/mcp_test.php
2021-11-24 07:09:31 +07:00

58 lines
1.5 KiB
PHP

<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
/**
* @group functional
*/
class phpbb_functional_mcp_test extends phpbb_functional_test_case
{
public function test_all_mcp_module_links()
{
$this->login();
$this->add_lang(['common', 'mcp']);
// Browse MCP main page
$crawler = self::request('GET', 'index.php');
$mcp_link = substr_replace($crawler->selectLink($this->lang('MCP_SHORT'))->attr('href'), '', 0, 2); // Remove leading ./
$crawler = self::request('GET', $mcp_link);
// Get all MCP module URLs array
$mcp_modules = $crawler->filter('.tabs a')->each(
function ($node, $i)
{
return substr_replace($node->attr('href'), '', 0, 2); // Remove leading ./
}
);
// Browse all MCP modules and get their mode URLs array
$mcp_submodules = [];
foreach ($mcp_modules as $module)
{
$crawler = self::request('GET', $module);
$mcp_submodules = array_merge($mcp_submodules, $crawler->filter('.cp-menu a')->each(
function ($node, $i)
{
return substr_replace($node->attr('href'), '', 0, 2); // Remove leading ./
}
));
}
// Browse all MCP submodules' modes
$mcp_submodule_modes = [];
foreach ($mcp_submodules as $mcp_submodule)
{
$crawler = self::request('GET', $mcp_submodule);
}
}
}