コード例 #1
0
 /**
  * @expectedException RuntimeException
  */
 public function testFilterException()
 {
     $builder = new ProxyQuery(new QueryBuilder());
     $filter = new CallbackFilter();
     $filter->initialize('field_name', array());
     $filter->filter($builder, 'alias', 'field', 'myValue');
 }
コード例 #2
0
 public function testApplyMethod()
 {
     $builder = new ProxyQuery(new QueryBuilder());
     $filter = new CallbackFilter();
     $filter->initialize('field_name_test', array('callback' => function ($builder, $alias, $field, $value) {
         $builder->andWhere(sprintf('CUSTOM QUERY %s.%s', $alias, $field));
         $builder->setParameter('value', $value['value']);
         return true;
     }, 'field_name' => 'field_name_test'));
     $filter->apply($builder, array('value' => 'myValue'));
     $this->assertEquals(array('CUSTOM QUERY o.field_name_test'), $builder->query);
     $this->assertEquals(array('value' => 'myValue'), $builder->parameters);
     $this->assertEquals(true, $filter->isActive());
 }