當前位置: 首頁>>代碼示例>>PHP>>正文


PHP HandlerBase::breakString方法代碼示例

本文整理匯總了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}");
//.........這裏部分代碼省略.........
開發者ID:sojo,項目名稱:d8_friendsofsilence,代碼行數:101,代碼來源:HandlerTest.php


注:本文中的Drupal\views\Plugin\views\HandlerBase::breakString方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。