- // Array(0=>$inputText, 1=>$language, 2=>$options, 3=>$expectedText).
- $cases = array();
-
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_LIKE,
- CRM_Utils_QueryFormatter::MODE_NONE,
- '%first second%',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_LIKE,
- CRM_Utils_QueryFormatter::MODE_PHRASE,
- '%first second%',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_LIKE,
- CRM_Utils_QueryFormatter::MODE_WILDPHRASE,
- '%first second%',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_LIKE,
- CRM_Utils_QueryFormatter::MODE_WILDWORDS,
- '%first%second%',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_LIKE,
- CRM_Utils_QueryFormatter::MODE_WILDWORDS_SUFFIX,
- '%first%second%',
- );
-
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_FTS,
- CRM_Utils_QueryFormatter::MODE_NONE,
- 'first second',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_FTS,
- CRM_Utils_QueryFormatter::MODE_PHRASE,
- '"first second"',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_FTS,
- CRM_Utils_QueryFormatter::MODE_WILDPHRASE,
- '"*first second*"',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_FTS,
- CRM_Utils_QueryFormatter::MODE_WILDWORDS,
- '*first* *second*',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_FTS,
- CRM_Utils_QueryFormatter::MODE_WILDWORDS_SUFFIX,
- 'first* second*',
- );
-
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_FTSBOOL,
- CRM_Utils_QueryFormatter::MODE_NONE,
- '+first +second',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_FTSBOOL,
- CRM_Utils_QueryFormatter::MODE_PHRASE,
- '+"first second"',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_FTSBOOL,
- CRM_Utils_QueryFormatter::MODE_WILDPHRASE,
- '+"*first second*"',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_FTSBOOL,
- CRM_Utils_QueryFormatter::MODE_WILDWORDS,
- '+*first* +*second*',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SQL_FTSBOOL,
- CRM_Utils_QueryFormatter::MODE_WILDWORDS_SUFFIX,
- '+first* +second*',
- );
-
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SOLR,
- CRM_Utils_QueryFormatter::MODE_NONE,
- 'first second',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SOLR,
- CRM_Utils_QueryFormatter::MODE_PHRASE,
- '"first second"',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SOLR,
- CRM_Utils_QueryFormatter::MODE_WILDPHRASE,
- '"*first second*"',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SOLR,
- CRM_Utils_QueryFormatter::MODE_WILDWORDS,
- '*first* *second*',
- );
- $cases[] = array(
- 'first second',
- CRM_Utils_QueryFormatter::LANG_SOLR,
- CRM_Utils_QueryFormatter::MODE_WILDWORDS_SUFFIX,
- 'first* second*',
- );
+ // Array(0=>$inputText, 1=>$language, 2=>$options, 3=>$expectedText, 4=>$matchingIds).
+ $cases = [];
+
+ $allEmailRows = [1, 2, 7];
+
+ $cases[] = ['someone@example.com', 'like', 'simple', '%someone@example.com%', $allEmailRows];
+ $cases[] = ['someone@example.com', 'like', 'phrase', '%someone@example.com%', $allEmailRows];
+ $cases[] = ['someone@example.com', 'like', 'wildphrase', '%someone@example.com%', $allEmailRows];
+ $cases[] = ['someone@example.com', 'like', 'wildwords', '%someone@example.com%', $allEmailRows];
+ $cases[] = ['someone@example.com', 'like', 'wildwords-suffix', '%someone@example.com%', $allEmailRows];
+
+ $cases[] = ['someone@example.com', 'fts', 'simple', 'someone@example.com', $allEmailRows];
+ $cases[] = ['someone@example.com', 'fts', 'phrase', '"someone@example.com"', $allEmailRows];
+ $cases[] = ['someone@example.com', 'fts', 'wildphrase', '"*someone@example.com*"', $allEmailRows];
+ $cases[] = ['someone@example.com', 'fts', 'wildwords', '*someone* *example*', $allEmailRows];
+ $cases[] = ['someone@example.com', 'fts', 'wildwords-suffix', 'someone* example*', $allEmailRows];
+
+ $cases[] = ['someone@example.com', 'ftsbool', 'simple', '+"someone" +"example"', $allEmailRows];
+ $cases[] = ['someone@example.com', 'ftsbool', 'phrase', '+"someone@example.com"', $allEmailRows];
+ $cases[] = ['someone@example.com', 'ftsbool', 'wildphrase', '+"*someone@example.com*"', $allEmailRows];
+ $cases[] = ['someone@example.com', 'ftsbool', 'wildwords', '+*someone* +*example*', $allEmailRows];
+ $cases[] = ['someone@example.com', 'ftsbool', 'wildwords-suffix', '+someone* +example*', $allEmailRows];
+
+ $cases[] = ['first second', 'like', 'simple', '%first second%', [3, 4, 5]];
+ $cases[] = ['first second', 'like', 'phrase', '%first second%', [3, 4, 5]];
+ $cases[] = ['first second', 'like', 'wildphrase', '%first second%', [3, 4, 5]];
+ $cases[] = ['first second', 'like', 'wildwords', '%first%second%', [3, 4, 5, 7]];
+ $cases[] = ['first second', 'like', 'wildwords-suffix', '%first%second%', [3, 4, 5, 7]];
+
+ $cases[] = ['first second', 'fts', 'simple', 'first second', [3, 4, 5]];
+ $cases[] = ['first second', 'fts', 'phrase', '"first second"', [3, 4, 5]];
+ $cases[] = ['first second', 'fts', 'wildphrase', '"*first second*"', [3, 4, 5]];
+ $cases[] = ['first second', 'fts', 'wildwords', '*first* *second*', [3, 4, 5, 7]];
+ $cases[] = ['first second', 'fts', 'wildwords-suffix', 'first* second*', [3, 4, 5, 7]];
+
+ $cases[] = ['first second', 'ftsbool', 'simple', '+"first" +"second"', [3, 4, 5]];
+ $cases[] = ['first second', 'ftsbool', 'phrase', '+"first second"', [3, 4, 5]];
+ $cases[] = ['first second', 'ftsbool', 'wildphrase', '+"*first second*"', [3, 4, 5]];
+ $cases[] = ['first second', 'ftsbool', 'wildwords', '+*first* +*second*', [3, 4, 5, 7]];
+ $cases[] = ['first second', 'ftsbool', 'wildwords-suffix', '+first* +second*', [3, 4, 5, 7]];
+
+ $cases[] = ['first second', 'solr', 'simple', 'first second', NULL];
+ $cases[] = ['first second', 'solr', 'phrase', '"first second"', NULL];
+ $cases[] = ['first second', 'solr', 'wildphrase', '"*first second*"', NULL];
+ $cases[] = ['first second', 'solr', 'wildwords', '*first* *second*', NULL];
+ $cases[] = ['first second', 'solr', 'wildwords-suffix', 'first* second*', NULL];
+
+ $cases[] = ['someone@', 'ftsbool', 'simple', '+"someone"', $allEmailRows];
+ $cases[] = ['@example.com', 'ftsbool', 'simple', '+"example.com"', $allEmailRows];