diff options
| author | Andreas Fischer <bantu@phpbb.com> | 2015-01-29 00:02:42 +0100 |
|---|---|---|
| committer | Andreas Fischer <bantu@phpbb.com> | 2015-01-29 00:02:42 +0100 |
| commit | d7741cea60cd4f9d5a5ea0bb812d26bc1fea7f41 (patch) | |
| tree | 44223a34a0b63c74346e27b81983992790714982 | |
| parent | 91ff42d501d86a8bf7685a864718a950f52daae5 (diff) | |
| parent | f0f88c287c4969eb9c1783ace2faa8a44cf59bd9 (diff) | |
| download | forums-d7741cea60cd4f9d5a5ea0bb812d26bc1fea7f41.tar forums-d7741cea60cd4f9d5a5ea0bb812d26bc1fea7f41.tar.gz forums-d7741cea60cd4f9d5a5ea0bb812d26bc1fea7f41.tar.bz2 forums-d7741cea60cd4f9d5a5ea0bb812d26bc1fea7f41.tar.xz forums-d7741cea60cd4f9d5a5ea0bb812d26bc1fea7f41.zip | |
Merge branch 'develop-ascraeus' into develop
* develop-ascraeus:
[ticket/12933] Add test cases for * wildcard searches
[ticket/12933] Handle case when * is last character of word
| -rw-r--r-- | phpBB/phpbb/search/fulltext_native.php | 2 | ||||
| -rw-r--r-- | tests/search/fixtures/posts.xml | 10 | ||||
| -rw-r--r-- | tests/search/native_test.php | 50 |
3 files changed, 61 insertions, 1 deletions
diff --git a/phpBB/phpbb/search/fulltext_native.php b/phpBB/phpbb/search/fulltext_native.php index 69025fc08f..cb681ec270 100644 --- a/phpBB/phpbb/search/fulltext_native.php +++ b/phpBB/phpbb/search/fulltext_native.php @@ -303,7 +303,7 @@ class fulltext_native extends \phpbb\search\base $this->search_query = $keywords; $exact_words = array(); - preg_match_all('#([^\\s+\\-|*()]+)(?:$|[\\s+\\-|()])#u', $keywords, $exact_words); + preg_match_all('#([^\\s+\\-|()]+)(?:$|[\\s+\\-|()])#u', $keywords, $exact_words); $exact_words = $exact_words[1]; $common_ids = $words = array(); 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, |
