mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-10 05:18:52 +00:00
Merge branch 'develop-olympus' into develop
# By Vjacheslav Trushkin # Via Nathaniel Guse (1) and Vjacheslav Trushkin (1) * develop-olympus: [ticket/10772] Remove unnecessary comment [ticket/10772] Functional tests for forum style Conflicts: tests/functional/forum_style_test.php
This commit is contained in:
commit
7104aeb77e
3 changed files with 123 additions and 29 deletions
|
@ -145,7 +145,6 @@ if ($view && !$post_id)
|
||||||
|
|
||||||
if (!$row)
|
if (!$row)
|
||||||
{
|
{
|
||||||
// Check for forum style
|
|
||||||
$sql = 'SELECT forum_style
|
$sql = 'SELECT forum_style
|
||||||
FROM ' . FORUMS_TABLE . "
|
FROM ' . FORUMS_TABLE . "
|
||||||
WHERE forum_id = $forum_id";
|
WHERE forum_id = $forum_id";
|
||||||
|
|
|
@ -12,42 +12,34 @@
|
||||||
*/
|
*/
|
||||||
class phpbb_functional_forum_style_test extends phpbb_functional_test_case
|
class phpbb_functional_forum_style_test extends phpbb_functional_test_case
|
||||||
{
|
{
|
||||||
public function test_forum_style()
|
public function test_default_forum_style()
|
||||||
{
|
{
|
||||||
// Test with default style
|
$crawler = self::request('GET', 'viewtopic.php?t=1&f=2');
|
||||||
$crawler = $this->request('GET', 'viewtopic.php?t=1&f=2');
|
$this->assertContains('styles/prosilver/', $crawler->filter('head > link[rel=stylesheet]')->attr('href'));
|
||||||
$this->assert_response_success();
|
|
||||||
$this->assertContains('styles/prosilver/theme/print.css', $this->client->getResponse()->getContent());
|
|
||||||
|
|
||||||
$crawler = $this->request('GET', 'viewtopic.php?t=1&f=2&view=next');
|
$crawler = self::request('GET', 'viewtopic.php?t=1');
|
||||||
$this->assert_response_success();
|
$this->assertContains('styles/prosilver/', $crawler->filter('head > link[rel=stylesheet]')->attr('href'));
|
||||||
$this->assertContains('styles/prosilver/theme/print.css', $this->client->getResponse()->getContent());
|
|
||||||
|
|
||||||
// Insert new style and change forum style
|
$crawler = self::request('GET', 'viewtopic.php?t=1&view=next');
|
||||||
|
$this->assertContains('styles/prosilver/', $crawler->filter('head > link[rel=stylesheet]')->attr('href'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_custom_forum_style()
|
||||||
|
{
|
||||||
$db = $this->get_db();
|
$db = $this->get_db();
|
||||||
$db->sql_multi_insert(STYLES_TABLE, array(
|
$this->add_style(2, 'test_style');
|
||||||
'style_id' => 2,
|
|
||||||
'style_name' => 'test_style',
|
|
||||||
'style_copyright' => '',
|
|
||||||
'style_active' => 1,
|
|
||||||
'style_path' => 'test_style',
|
|
||||||
'bbcode_bitfield' => 'kNg=',
|
|
||||||
'style_parent_id' => 1,
|
|
||||||
'style_parent_tree' => 'prosilver',
|
|
||||||
));
|
|
||||||
$db->sql_query('UPDATE ' . FORUMS_TABLE . ' SET forum_style = 2 WHERE forum_id = 2');
|
$db->sql_query('UPDATE ' . FORUMS_TABLE . ' SET forum_style = 2 WHERE forum_id = 2');
|
||||||
|
|
||||||
// Test with custom style
|
$crawler = self::request('GET', 'viewtopic.php?t=1&f=2');
|
||||||
$crawler = $this->request('GET', 'viewtopic.php?t=1&f=2');
|
$this->assertContains('styles/test_style/', $crawler->filter('head > link[rel=stylesheet]')->attr('href'));
|
||||||
$this->assert_response_success();
|
|
||||||
$this->assertContains('styles/test_style/theme/print.css', $this->client->getResponse()->getContent());
|
|
||||||
|
|
||||||
$crawler = $this->request('GET', 'viewtopic.php?t=1&f=2&view=next');
|
$crawler = self::request('GET', 'viewtopic.php?t=1');
|
||||||
$this->assert_response_success();
|
$this->assertContains('styles/test_style/', $crawler->filter('head > link[rel=stylesheet]')->attr('href'));
|
||||||
$this->assertContains('styles/test_style/theme/print.css', $this->client->getResponse()->getContent());
|
|
||||||
|
$crawler = self::request('GET', 'viewtopic.php?t=1&view=next');
|
||||||
|
$this->assertContains('styles/test_style/', $crawler->filter('head > link[rel=stylesheet]')->attr('href'));
|
||||||
|
|
||||||
// Undo changes
|
|
||||||
$db->sql_query('UPDATE ' . FORUMS_TABLE . ' SET forum_style = 0 WHERE forum_id = 2');
|
$db->sql_query('UPDATE ' . FORUMS_TABLE . ' SET forum_style = 0 WHERE forum_id = 2');
|
||||||
$db->sql_query('DELETE FROM ' . STYLES_TABLE . ' WHERE style_id = 2');
|
$this->delete_style(2, 'test_style');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -357,6 +357,109 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||||
$db_conn_mgr->recreate_db();
|
$db_conn_mgr->recreate_db();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new style
|
||||||
|
*
|
||||||
|
* @param string $style_id Style ID
|
||||||
|
* @param string $style_path Style directory
|
||||||
|
* @param string $parent_style_id Parent style id. Default = 1
|
||||||
|
* @param string $parent_style_path Parent style directory. Default = 'prosilver'
|
||||||
|
*/
|
||||||
|
protected function add_style($style_id, $style_path, $parent_style_id = 1, $parent_style_path = 'prosilver')
|
||||||
|
{
|
||||||
|
global $phpbb_root_path;
|
||||||
|
|
||||||
|
$db = $this->get_db();
|
||||||
|
if (version_compare(PHPBB_VERSION, '3.1.0-dev', '<'))
|
||||||
|
{
|
||||||
|
$sql = 'INSERT INTO ' . STYLES_TABLE . ' ' . $db->sql_build_array('INSERT', array(
|
||||||
|
'style_id' => $style_id,
|
||||||
|
'style_name' => $style_path,
|
||||||
|
'style_copyright' => '',
|
||||||
|
'style_active' => 1,
|
||||||
|
'template_id' => $style_id,
|
||||||
|
'theme_id' => $style_id,
|
||||||
|
'imageset_id' => $style_id,
|
||||||
|
));
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
|
$sql = 'INSERT INTO ' . STYLES_IMAGESET_TABLE . ' ' . $db->sql_build_array('INSERT', array(
|
||||||
|
'imageset_id' => $style_id,
|
||||||
|
'imageset_name' => $style_path,
|
||||||
|
'imageset_copyright' => '',
|
||||||
|
'imageset_path' => $style_path,
|
||||||
|
));
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
|
$sql = 'INSERT INTO ' . STYLES_TEMPLATE_TABLE . ' ' . $db->sql_build_array('INSERT', array(
|
||||||
|
'template_id' => $style_id,
|
||||||
|
'template_name' => $style_path,
|
||||||
|
'template_copyright' => '',
|
||||||
|
'template_path' => $style_path,
|
||||||
|
'bbcode_bitfield' => 'kNg=',
|
||||||
|
'template_inherits_id' => $parent_style_id,
|
||||||
|
'template_inherit_path' => $parent_style_path,
|
||||||
|
));
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
|
$sql = 'INSERT INTO ' . STYLES_THEME_TABLE . ' ' . $db->sql_build_array('INSERT', array(
|
||||||
|
'theme_id' => $style_id,
|
||||||
|
'theme_name' => $style_path,
|
||||||
|
'theme_copyright' => '',
|
||||||
|
'theme_path' => $style_path,
|
||||||
|
'theme_storedb' => 0,
|
||||||
|
'theme_mtime' => 0,
|
||||||
|
'theme_data' => '',
|
||||||
|
));
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
|
if ($style_path != 'prosilver' && $style_path != 'subsilver2')
|
||||||
|
{
|
||||||
|
@mkdir($phpbb_root_path . 'styles/' . $style_path, 0777);
|
||||||
|
@mkdir($phpbb_root_path . 'styles/' . $style_path . '/template', 0777);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$db->sql_multi_insert(STYLES_TABLE, array(
|
||||||
|
'style_id' => $style_id,
|
||||||
|
'style_name' => $style_path,
|
||||||
|
'style_copyright' => '',
|
||||||
|
'style_active' => 1,
|
||||||
|
'style_path' => $style_path,
|
||||||
|
'bbcode_bitfield' => 'kNg=',
|
||||||
|
'style_parent_id' => $parent_style_id,
|
||||||
|
'style_parent_tree' => $parent_style_path,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove temporary style created by add_style()
|
||||||
|
*
|
||||||
|
* @param string $style_id Style ID
|
||||||
|
* @param string $style_path Style directory
|
||||||
|
*/
|
||||||
|
protected function delete_style($style_id, $style_path)
|
||||||
|
{
|
||||||
|
global $phpbb_root_path;
|
||||||
|
|
||||||
|
$db = $this->get_db();
|
||||||
|
$db->sql_query('DELETE FROM ' . STYLES_TABLE . ' WHERE style_id = ' . $style_id);
|
||||||
|
if (version_compare(PHPBB_VERSION, '3.1.0-dev', '<'))
|
||||||
|
{
|
||||||
|
$db->sql_query('DELETE FROM ' . STYLES_IMAGESET_TABLE . ' WHERE imageset_id = ' . $style_id);
|
||||||
|
$db->sql_query('DELETE FROM ' . STYLES_TEMPLATE_TABLE . ' WHERE template_id = ' . $style_id);
|
||||||
|
$db->sql_query('DELETE FROM ' . STYLES_THEME_TABLE . ' WHERE theme_id = ' . $style_id);
|
||||||
|
|
||||||
|
if ($style_path != 'prosilver' && $style_path != 'subsilver2')
|
||||||
|
{
|
||||||
|
@rmdir($phpbb_root_path . 'styles/' . $style_path . '/template');
|
||||||
|
@rmdir($phpbb_root_path . 'styles/' . $style_path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new user with limited permissions
|
* Creates a new user with limited permissions
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Reference in a new issue