本文整理汇总了PHP中Drupal\views\Plugin\views\HandlerBase::breakString方法的典型用法代码示例。如果您正苦于以下问题:PHP HandlerBase::breakString方法的具体用法?PHP HandlerBase::breakString怎么用?PHP HandlerBase::breakString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Drupal\views\Plugin\views\HandlerBase
的用法示例。
在下文中一共展示了HandlerBase::breakString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testBreakString
/**
* Tests the breakString method.
*/
public function testBreakString()
{
// Check defaults.
$this->assertEqual((object) array('value' => array(), 'operator' => NULL), HandlerBase::breakString(''));
// Test ors
$handler = HandlerBase::breakString('word1 word2+word');
$this->assertEqualValue(array('word1', 'word2', 'word'), $handler);
$this->assertEqual('or', $handler->operator);
$handler = HandlerBase::breakString('word1+word2+word');
$this->assertEqualValue(array('word1', 'word2', 'word'), $handler);
$this->assertEqual('or', $handler->operator);
$handler = HandlerBase::breakString('word1 word2 word');
$this->assertEqualValue(array('word1', 'word2', 'word'), $handler);
$this->assertEqual('or', $handler->operator);
$handler = HandlerBase::breakString('word-1+word-2+word');
$this->assertEqualValue(array('word-1', 'word-2', 'word'), $handler);
$this->assertEqual('or', $handler->operator);
$handler = HandlerBase::breakString('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::breakString('word1,word2,word');
$this->assertEqualValue(array('word1', 'word2', 'word'), $handler);
$this->assertEqual('and', $handler->operator);
$handler = HandlerBase::breakString('word1 word2,word');
$this->assertEqualValue(array('word1 word2', 'word'), $handler);
$this->assertEqual('and', $handler->operator);
$handler = HandlerBase::breakString('word1,word2 word');
$this->assertEqualValue(array('word1', 'word2 word'), $handler);
$this->assertEqual('and', $handler->operator);
$handler = HandlerBase::breakString('word-1,word-2,word');
$this->assertEqualValue(array('word-1', 'word-2', 'word'), $handler);
$this->assertEqual('and', $handler->operator);
$handler = HandlerBase::breakString('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::breakString('word');
$this->assertEqualValue(array('word'), $handler);
$this->assertEqual('and', $handler->operator);
$s1 = $this->randomMachineName();
// Generate three random numbers which can be used below;
$n1 = rand(0, 100);
$n2 = rand(0, 100);
$n3 = rand(0, 100);
// Test "or"s.
$handlerBase = HandlerBase::breakString("{$s1} {$n2}+{$n3}");
$this->assertEqualValue(array($s1, $n2, $n3), $handlerBase);
$this->assertEqual('or', $handlerBase->operator);
$handlerBase = HandlerBase::breakString("{$s1}+{$n2}+{$n3}");
$this->assertEqualValue(array($s1, $n2, $n3), $handlerBase);
$this->assertEqual('or', $handlerBase->operator);
$handlerBase = HandlerBase::breakString("{$s1} {$n2} {$n3}");
$this->assertEqualValue(array($s1, $n2, $n3), $handlerBase);
$this->assertEqual('or', $handlerBase->operator);
$handlerBase = HandlerBase::breakString("{$s1} {$n2}++{$n3}");
$this->assertEqualValue(array($s1, $n2, $n3), $handlerBase);
$this->assertEqual('or', $handlerBase->operator);
// Test "and"s.
$handlerBase = HandlerBase::breakString("{$s1},{$n2},{$n3}");
$this->assertEqualValue(array($s1, $n2, $n3), $handlerBase);
$this->assertEqual('and', $handlerBase->operator);
$handlerBase = HandlerBase::breakString("{$s1},,{$n2},{$n3}");
$this->assertEqualValue(array($s1, $n2, $n3), $handlerBase);
$this->assertEqual('and', $handlerBase->operator);
// Enforce int values.
$handlerBase = HandlerBase::breakString("{$n1},{$n2},{$n3}", TRUE);
$this->assertEqualValue(array($n1, $n2, $n3), $handlerBase);
$this->assertEqual('and', $handlerBase->operator);
$handlerBase = HandlerBase::breakString("{$n1}+{$n2}+{$n3}", TRUE);
$this->assertEqualValue(array($n1, $n2, $n3), $handlerBase);
$this->assertEqual('or', $handlerBase->operator);
$handlerBase = HandlerBase::breakString("{$s1},{$n2},{$n3}", TRUE);
$this->assertEqualValue(array((int) $s1, $n2, $n3), $handlerBase);
$this->assertEqual('and', $handlerBase->operator);
$handlerBase = HandlerBase::breakString("{$s1}+{$n2}+{$n3}", TRUE);
$this->assertEqualValue(array((int) $s1, $n2, $n3), $handlerBase);
$this->assertEqual('or', $handlerBase->operator);
// Generate three random decimals which can be used below;
$d1 = rand(0, 10) / 10;
$d2 = rand(0, 10) / 10;
$d3 = rand(0, 10) / 10;
// Test "or"s.
$handlerBase = HandlerBase::breakString("{$s1} {$d1}+{$d2}");
$this->assertEqualValue(array($s1, $d1, $d2), $handlerBase);
$this->assertEqual('or', $handlerBase->operator);
$handlerBase = HandlerBase::breakString("{$s1}+{$d1}+{$d3}");
$this->assertEqualValue(array($s1, $d1, $d3), $handlerBase);
$this->assertEqual('or', $handlerBase->operator);
$handlerBase = HandlerBase::breakString("{$s1} {$d2} {$d3}");
$this->assertEqualValue(array($s1, $d2, $d3), $handlerBase);
$this->assertEqual('or', $handlerBase->operator);
$handlerBase = HandlerBase::breakString("{$s1} {$d2}++{$d3}");
$this->assertEqualValue(array($s1, $d2, $d3), $handlerBase);
$this->assertEqual('or', $handlerBase->operator);
// Test "and"s.
$handlerBase = HandlerBase::breakString("{$s1},{$d2},{$d3}");
//.........这里部分代码省略.........