Exemple #1
0
 /**
  * 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 = $this->container->get('plugin.manager.views.argument')->getHandler($item);
     $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);
 }