Tests the breakPhraseString() method.
function testBreakPhraseString() {
$empty_stdclass = new \stdClass();
$empty_stdclass->operator = 'or';
$empty_stdclass->value = array();
// check defaults
$null = NULL;
$this
->assertEqual($empty_stdclass, HandlerBase::breakPhraseString('', $null));
$item = array(
'table' => 'node',
'field' => 'title',
);
$handler = views_get_handler($item, 'argument');
$this
->assertEqual($handler, HandlerBase::breakPhraseString('', $handler), 'The breakPhraseString() method works correctly.');
// test ors
$handler = HandlerBase::breakPhraseString('word1 word2+word');
$this
->assertEqualValue(array(
'word1',
'word2',
'word',
), $handler);
$this
->assertEqual('or', $handler->operator);
$handler = HandlerBase::breakPhraseString('word1+word2+word');
$this
->assertEqualValue(array(
'word1',
'word2',
'word',
), $handler);
$this
->assertEqual('or', $handler->operator);
$handler = HandlerBase::breakPhraseString('word1 word2 word');
$this
->assertEqualValue(array(
'word1',
'word2',
'word',
), $handler);
$this
->assertEqual('or', $handler->operator);
$handler = HandlerBase::breakPhraseString('word-1+word-2+word');
$this
->assertEqualValue(array(
'word-1',
'word-2',
'word',
), $handler);
$this
->assertEqual('or', $handler->operator);
$handler = HandlerBase::breakPhraseString('wõrd1+wõrd2+wõrd');
$this
->assertEqualValue(array(
'wõrd1',
'wõrd2',
'wõrd',
), $handler);
$this
->assertEqual('or', $handler->operator);
// test ands.
$handler = HandlerBase::breakPhraseString('word1,word2,word');
$this
->assertEqualValue(array(
'word1',
'word2',
'word',
), $handler);
$this
->assertEqual('and', $handler->operator);
$handler = HandlerBase::breakPhraseString('word1 word2,word');
$this
->assertEqualValue(array(
'word1 word2',
'word',
), $handler);
$this
->assertEqual('and', $handler->operator);
$handler = HandlerBase::breakPhraseString('word1,word2 word');
$this
->assertEqualValue(array(
'word1',
'word2 word',
), $handler);
$this
->assertEqual('and', $handler->operator);
$handler = HandlerBase::breakPhraseString('word-1,word-2,word');
$this
->assertEqualValue(array(
'word-1',
'word-2',
'word',
), $handler);
$this
->assertEqual('and', $handler->operator);
$handler = HandlerBase::breakPhraseString('wõrd1,wõrd2,wõrd');
$this
->assertEqualValue(array(
'wõrd1',
'wõrd2',
'wõrd',
), $handler);
$this
->assertEqual('and', $handler->operator);
// test a single word
$handler = HandlerBase::breakPhraseString('word');
$this
->assertEqualValue(array(
'word',
), $handler);
$this
->assertEqual('and', $handler->operator);
}