Esempio n. 1
0
 public function test_get_locator_parameters()
 {
     $locator = Node::get_locator('.body', array('at' => 1));
     $this->assertEquals('css', $locator->type());
     $this->assertEquals('.body', $locator->selector());
     $this->assertEquals(array('at' => 1), $locator->filters());
     $locator = Node::get_locator(array('field', 'username', array('value' => 2)));
     $this->assertEquals('field', $locator->type());
     $this->assertEquals('username', $locator->selector());
     $this->assertEquals(array('value' => 2), $locator->filters());
     $locator = Node::get_locator(array('field', array('label', 'username', array('value' => 2))));
     $this->assertEquals('label', $locator->type());
     $this->assertEquals('username', $locator->selector());
     $this->assertEquals(array('value' => 2), $locator->filters());
 }
Esempio n. 2
0
 /**
  * Try matching "attributes" filter
  *
  * @param  Node   $item
  * @param  integer $index
  * @param  array $value
  * @return boolean
  */
 public function filter_by_attributes(Node $item, $index, array $value)
 {
     foreach ($value as $attribute_name => $attribute_val) {
         if ($item->attribute($attribute_name) != $attribute_val) {
             return FALSE;
         }
     }
     return TRUE;
 }