3 require_once 'CiviTest/CiviUnitTestCase.php';
6 * Class CRM_Utils_QueryFormatterTest
8 class CRM_Utils_QueryFormatterTest
extends CiviUnitTestCase
{
11 * Generate data for tests to iterate through.
15 public function dataProvider() {
16 // Array(0=>$inputText, 1=>$language, 2=>$options, 3=>$expectedText).
21 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
22 CRM_Utils_QueryFormatter
::MODE_NONE
,
27 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
28 CRM_Utils_QueryFormatter
::MODE_PHRASE
,
33 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
34 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
39 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
40 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
45 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
46 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
52 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
53 CRM_Utils_QueryFormatter
::MODE_NONE
,
58 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
59 CRM_Utils_QueryFormatter
::MODE_PHRASE
,
64 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
65 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
70 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
71 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
76 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
77 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
83 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
84 CRM_Utils_QueryFormatter
::MODE_NONE
,
89 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
90 CRM_Utils_QueryFormatter
::MODE_PHRASE
,
95 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
96 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
101 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
102 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
103 '+*first* +*second*',
107 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
108 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
114 CRM_Utils_QueryFormatter
::LANG_SOLR
,
115 CRM_Utils_QueryFormatter
::MODE_NONE
,
120 CRM_Utils_QueryFormatter
::LANG_SOLR
,
121 CRM_Utils_QueryFormatter
::MODE_PHRASE
,
126 CRM_Utils_QueryFormatter
::LANG_SOLR
,
127 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
132 CRM_Utils_QueryFormatter
::LANG_SOLR
,
133 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
138 CRM_Utils_QueryFormatter
::LANG_SOLR
,
139 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
143 // If user supplies wildcards, then ignore mode.
145 CRM_Utils_QueryFormatter
::MODE_NONE
,
146 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
147 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
148 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
152 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
158 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
164 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
170 CRM_Utils_QueryFormatter
::LANG_SOLR
,
176 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
182 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
188 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
194 CRM_Utils_QueryFormatter
::LANG_SOLR
,
206 * @param string $text
207 * @param string $language
208 * @param string $mode
209 * @param string $expectedText
211 * @dataProvider dataProvider
213 public function testFormat($text, $language, $mode, $expectedText) {
214 $formatter = new CRM_Utils_QueryFormatter($mode);
215 $actualText = $formatter->format($text, $language);
216 $this->assertEquals($expectedText, $actualText);