4 * Class CRM_Utils_QueryFormatterTest
7 class CRM_Utils_QueryFormatterTest
extends CiviUnitTestCase
{
10 * Generate data for tests to iterate through.
14 public function dataProvider() {
15 // Array(0=>$inputText, 1=>$language, 2=>$options, 3=>$expectedText).
20 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
21 CRM_Utils_QueryFormatter
::MODE_NONE
,
26 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
27 CRM_Utils_QueryFormatter
::MODE_PHRASE
,
32 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
33 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
38 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
39 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
44 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
45 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
51 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
52 CRM_Utils_QueryFormatter
::MODE_NONE
,
57 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
58 CRM_Utils_QueryFormatter
::MODE_PHRASE
,
63 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
64 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
69 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
70 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
75 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
76 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
82 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
83 CRM_Utils_QueryFormatter
::MODE_NONE
,
88 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
89 CRM_Utils_QueryFormatter
::MODE_PHRASE
,
94 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
95 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
100 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
101 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
102 '+*first* +*second*',
106 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
107 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
113 CRM_Utils_QueryFormatter
::LANG_SOLR
,
114 CRM_Utils_QueryFormatter
::MODE_NONE
,
119 CRM_Utils_QueryFormatter
::LANG_SOLR
,
120 CRM_Utils_QueryFormatter
::MODE_PHRASE
,
125 CRM_Utils_QueryFormatter
::LANG_SOLR
,
126 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
131 CRM_Utils_QueryFormatter
::LANG_SOLR
,
132 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
137 CRM_Utils_QueryFormatter
::LANG_SOLR
,
138 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
142 // If user supplies wildcards, then ignore mode.
144 CRM_Utils_QueryFormatter
::MODE_NONE
,
145 CRM_Utils_QueryFormatter
::MODE_WILDPHRASE
,
146 CRM_Utils_QueryFormatter
::MODE_WILDWORDS
,
147 CRM_Utils_QueryFormatter
::MODE_WILDWORDS_SUFFIX
,
151 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
157 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
163 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
169 CRM_Utils_QueryFormatter
::LANG_SOLR
,
175 CRM_Utils_QueryFormatter
::LANG_SQL_LIKE
,
181 CRM_Utils_QueryFormatter
::LANG_SQL_FTS
,
187 CRM_Utils_QueryFormatter
::LANG_SQL_FTSBOOL
,
193 CRM_Utils_QueryFormatter
::LANG_SOLR
,
205 * @param string $text
206 * @param string $language
207 * @param string $mode
208 * @param string $expectedText
210 * @dataProvider dataProvider
212 public function testFormat($text, $language, $mode, $expectedText) {
213 $formatter = new CRM_Utils_QueryFormatter($mode);
214 $actualText = $formatter->format($text, $language);
215 $this->assertEquals($expectedText, $actualText);