Exemplo n.º 1
0
 public function testParser() {
     $strings[] = "toto";
     $assert[] = array('*' => array('toto'));
     $strings[] = "toto titi";
     $assert[] = array('*' => array('toto', 'titi'));
     $strings[] = "name:toto";
     $assert[] = array('name' => array('toto'));
     $strings[] = "name:toto:";
     $assert[] = array('name' => array('toto:'));
     $strings[] = "toto:";
     $assert[] = array('*' => array('toto:'));
     $strings[] = "name:toto lname:titi";
     $assert[] = array('name' => array('toto'), 'lname' => array('titi'));
     $strings[] = '"toto titi"';
     $assert[] = array('*' =>  array('toto titi'));
     $strings[] = "name:\"toto titi\"";
     $assert[] = array('name' => array('toto titi'));
     $strings[] = "name:\"toto titi\" lname:\"titi toto\"";
     $assert[] = array('name' => array('toto titi'), 'lname' => array('titi toto'));
     $strings[] = "(toto titi)";
     $assert[] = array('*' => array('toto', 'titi'));
     $strings[] = "name:(toto titi)";
     $assert[] = array('name' =>  array('toto', 'titi'));
     $strings[] = "name:(toto titi) lname:(titi toto)";
     $assert[] = array('name' => array('toto', 'titi'), 'lname' =>  array('titi', 'toto'));
     $strings[] = "toto titi lname:tutu";
     $assert[] = array('*' => array('toto', 'titi'), 'lname' => array('tutu'));
     $strings[] = "name:toto titi lname:tutu";
     $assert[] = array('name' => array('toto'), '*' => array('titi'), 'lname' => array('tutu'));
     $strings[] = "txtx name:toto titi lname:(tutu tata) tyty name:\"test de\"";
     $assert[] = array('*' => array('txtx', 'titi', 'tyty'), 'name' => array('toto','test de'), 'lname' => array('tutu', 'tata'));
     foreach($strings as $index => $string) {
       $result = OBM_Search::parse($string);
       $this->assertEquals($assert[$index], $result);
     }
 }