diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/dbal/db_tools_test.php | 7 | ||||
-rw-r--r-- | tests/functional/acp_profile_field_test.php | 71 | ||||
-rw-r--r-- | tests/functions/get_remote_file_test.php | 4 | ||||
-rw-r--r-- | tests/search/fixtures/posts.xml | 10 | ||||
-rw-r--r-- | tests/search/native_test.php | 50 | ||||
-rw-r--r-- | tests/test_framework/phpbb_functional_test_case.php | 2 |
6 files changed, 143 insertions, 1 deletions
diff --git a/tests/dbal/db_tools_test.php b/tests/dbal/db_tools_test.php index 51f9daacfb..5832b966d8 100644 --- a/tests/dbal/db_tools_test.php +++ b/tests/dbal/db_tools_test.php @@ -415,4 +415,11 @@ class phpbb_dbal_db_tools_test extends phpbb_database_test_case $this->tools->sql_create_unique_index('prefix_table_name', 'i_uniq_ts_id', array('c_timestamp', 'c_id')); $this->assertTrue($this->tools->sql_unique_index_exists('prefix_table_name', 'i_uniq_ts_id')); } + + public function test_create_int_default_null() + { + $this->assertFalse($this->tools->sql_column_exists('prefix_table_name', 'c_bug_13282')); + $this->assertTrue($this->tools->sql_column_add('prefix_table_name', 'c_bug_13282', array('TINT:2'))); + $this->assertTrue($this->tools->sql_column_exists('prefix_table_name', 'c_bug_13282')); + } } diff --git a/tests/functional/acp_profile_field_test.php b/tests/functional/acp_profile_field_test.php new file mode 100644 index 0000000000..88df782faa --- /dev/null +++ b/tests/functional/acp_profile_field_test.php @@ -0,0 +1,71 @@ +<?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_acp_profile_field_test extends phpbb_functional_test_case +{ + public function setUp() + { + parent::setUp(); + + $this->login(); + $this->admin_login(); + $this->add_lang('acp/profile'); + } + + public function data_add_profile_field() + { + return array( + array('bool', 'profilefields.type.bool', + array( + 'lang_options[0]' => 'foo', + 'lang_options[1]' => 'bar', + ), + array(), + ), + array('dropdown', 'profilefields.type.dropdown', + array( + 'lang_options' => "foo\nbar\nbar\nfoo", + ), + array(), + ), + ); + } + + /** + * @dataProvider data_add_profile_field + */ + public function test_add_profile_field($name, $type, $page1_settings, $page2_settings) + { + // Custom profile fields page + $crawler = self::request('GET', 'adm/index.php?i=acp_profile&mode=profile&sid=' . $this->sid); + // these language strings are html + $form = $crawler->selectButton('Create new field')->form(array( + 'field_ident' => $name, + 'field_type' => $type, + )); + $crawler = self::submit($form); + + // Fill form for profile field options + $form = $crawler->selectButton('Profile type specific options')->form($page1_settings); + $crawler = self::submit($form); + + // Fill form for profile field specific options + $form = $crawler->selectButton('Save')->form($page2_settings); + $crawler= self::submit($form); + + $this->assertContainsLang('ADDED_PROFILE_FIELD', $crawler->text()); + } +} diff --git a/tests/functions/get_remote_file_test.php b/tests/functions/get_remote_file_test.php index d412dce164..612d82273e 100644 --- a/tests/functions/get_remote_file_test.php +++ b/tests/functions/get_remote_file_test.php @@ -21,6 +21,10 @@ class phpbb_functions_get_remote_file extends phpbb_test_case { public function test_version_phpbb_com() { + global $phpbb_container; + $phpbb_container = new phpbb_mock_container_builder(); + $phpbb_container->set('file_downloader', new \phpbb\file_downloader()); + $hostname = 'version.phpbb.com'; if (!phpbb_checkdnsrr($hostname, 'A')) diff --git a/tests/search/fixtures/posts.xml b/tests/search/fixtures/posts.xml index 7b249ee303..16232b8f39 100644 --- a/tests/search/fixtures/posts.xml +++ b/tests/search/fixtures/posts.xml @@ -19,6 +19,11 @@ <value>commonword</value> <value>commonword</value> </row> + <row> + <value>baaz</value> + <value>baaz</value> + <value>baaz</value> + </row> </table> <table name="phpbb_search_wordlist"> <column>word_id</column> @@ -39,5 +44,10 @@ <value>commonword</value> <value>1</value> </row> + <row> + <value>4</value> + <value>baaz</value> + <value>0</value> + </row> </table> </dataset> diff --git a/tests/search/native_test.php b/tests/search/native_test.php index f681a62fce..61fde7d098 100644 --- a/tests/search/native_test.php +++ b/tests/search/native_test.php @@ -35,6 +35,8 @@ class phpbb_search_native_test extends phpbb_search_test_case $this->db = $this->new_dbal(); $error = null; $class = self::get_search_wrapper('\phpbb\search\fulltext_native'); + $config['fulltext_native_min_chars'] = 2; + $config['fulltext_native_max_chars'] = 14; $this->search = new $class($error, $phpbb_root_path, $phpEx, null, $config, $this->db, $user); } @@ -56,6 +58,54 @@ class phpbb_search_native_test extends phpbb_search_test_case array(), ), array( + 'baaz*', + 'all', + true, + array('\'baaz%\''), + array(), + array(), + ), + array( + 'ba*az', + 'all', + true, + array('\'ba%az\''), + array(), + array(), + ), + array( + 'ba*z', + 'all', + true, + array('\'ba%z\''), + array(), + array(), + ), + array( + 'baa* baaz*', + 'all', + true, + array('\'baa%\'', '\'baaz%\''), + array(), + array(), + ), + array( + 'ba*z baa*', + 'all', + true, + array('\'ba%z\'', '\'baa%\''), + array(), + array(), + ), + array( + 'baaz* commonword', + 'all', + true, + array('\'baaz%\''), + array(), + array('commonword'), + ), + array( 'foo bar', 'all', true, diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php index 6c045712ab..b6769f08d0 100644 --- a/tests/test_framework/phpbb_functional_test_case.php +++ b/tests/test_framework/phpbb_functional_test_case.php @@ -885,7 +885,7 @@ class phpbb_functional_test_case extends phpbb_test_case */ static public function assert_response_status_code($status_code = 200) { - self::assertEquals($status_code, self::$client->getResponse()->getStatus()); + self::assertEquals($status_code, self::$client->getResponse()->getStatus(), 'HTTP status code does not match'); } public function assert_filter($crawler, $expr, $msg = null) |