Tests Drupal\views\Plugin\views\HandlerBase::breakPhrase() function.
function testBreakPhrase() {
$empty_stdclass = new \stdClass();
$empty_stdclass->operator = 'or';
$empty_stdclass->value = array();
$null = NULL;
// check defaults
$this
->assertEqual($empty_stdclass, HandlerBase::breakPhrase('', $null));
$item = array(
'table' => 'node',
'field' => 'title',
);
$handler = views_get_handler($item, 'argument');
$this
->assertEqual($handler, HandlerBase::breakPhrase('', $handler), 'The breakPhrase() method works correctly.');
// Generate three random numbers which can be used below;
$n1 = rand(0, 100);
$n2 = rand(0, 100);
$n3 = rand(0, 100);
// test ors
$this
->assertEqualValue(array(
$n1,
$n2,
$n3,
), HandlerBase::breakPhrase("{$n1} {$n2}+{$n3}", $handler));
$this
->assertEqual('or', $handler->operator);
$this
->assertEqualValue(array(
$n1,
$n2,
$n3,
), HandlerBase::breakPhrase("{$n1}+{$n2}+{$n3}", $handler));
$this
->assertEqual('or', $handler->operator);
$this
->assertEqualValue(array(
$n1,
$n2,
$n3,
), HandlerBase::breakPhrase("{$n1} {$n2} {$n3}", $handler));
$this
->assertEqual('or', $handler->operator);
$this
->assertEqualValue(array(
$n1,
$n2,
$n3,
), HandlerBase::breakPhrase("{$n1} {$n2}++{$n3}", $handler));
$this
->assertEqual('or', $handler->operator);
// test ands.
$this
->assertEqualValue(array(
$n1,
$n2,
$n3,
), HandlerBase::breakPhrase("{$n1},{$n2},{$n3}", $handler));
$this
->assertEqual('and', $handler->operator);
$this
->assertEqualValue(array(
$n1,
$n2,
$n3,
), HandlerBase::breakPhrase("{$n1},,{$n2},{$n3}", $handler));
$this
->assertEqual('and', $handler->operator);
}