3 require_once 'CiviTest/CiviUnitTestCase.php';
6 * Class CRM_Utils_QueryFormatterTest
8 class CRM_Utils_QueryFormatterTest
extends CiviUnitTestCase
{
10 public function dataProvider() {
11 // Array(0=>$inputText, 1=>$language, 2=>$options, 3=>$expectedText).
16 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
17 CRM_Utils_QueryFormatter
::MODE_NONE
,
22 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
23 CRM_Utils_QueryFormatter
::MODE_PHRASE
,
28 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
29 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
34 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
35 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
40 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
41 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
47 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
48 CRM_Utils_QueryFormatter
::MODE_NONE
,
53 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
54 CRM_Utils_QueryFormatter
::MODE_PHRASE
,
59 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
60 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
65 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
66 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
71 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
72 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
78 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
79 CRM_Utils_QueryFormatter
::MODE_NONE
,
84 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
85 CRM_Utils_QueryFormatter
::MODE_PHRASE
,
90 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
91 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
96 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
97 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
102 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
103 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
109 CRM_Utils_QueryFormatter
::LANG_SOLR
,
110 CRM_Utils_QueryFormatter
::MODE_NONE
,
115 CRM_Utils_QueryFormatter
::LANG_SOLR
,
116 CRM_Utils_QueryFormatter
::MODE_PHRASE
,
121 CRM_Utils_QueryFormatter
::LANG_SOLR
,
122 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
127 CRM_Utils_QueryFormatter
::LANG_SOLR
,
128 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
133 CRM_Utils_QueryFormatter
::LANG_SOLR
,
134 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
138 // If user supplies wildcards, then ignore mode.
140 CRM_Utils_QueryFormatter
::MODE_NONE
,
141 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
142 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
143 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
147 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
153 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
159 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
165 CRM_Utils_QueryFormatter
::LANG_SOLR
,
171 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
177 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
183 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
189 CRM_Utils_QueryFormatter
::LANG_SOLR
,
201 * @param string $text
202 * @param string $language
203 * @param string $mode
204 * @param string $expectedText
206 * @dataProvider dataProvider
208 public function testFormat($text, $language, $mode, $expectedText) {
209 $formatter = new CRM_Utils_QueryFormatter($mode);
210 $actualText = $formatter->format($text, $language);
211 $this->assertEquals($expectedText, $actualText);