Esempio n. 1
0
 /**
  * Initialize Accessor.
  *
  * @param   string      $id         element identifier (if null - "0" will be used)
  * @param   array       $relations  relations array array('near' => accessor, 'under' => accessor)
  * @param   Connection  $con        Sahi connection
  */
 public function __construct($id, array $relations, Connection $con)
 {
     parent::__construct($con);
     foreach ($relations as $relation => $accessor) {
         $this->{$relation}($accessor);
     }
     $this->id = $id;
 }
    protected function assertRelations(Accessor\AbstractRelationalAccessor $accessor, $selectorStart)
    {
        $con = $accessor->getConnection();

        $accessor1 = new Accessor\ByClassNameAccessor('some_class1', 'p', array(), $con);
        $accessor2 = new Accessor\ByClassNameAccessor('some_class2', 'span', array(), $con);
        $accessor3 = new Accessor\ByClassNameAccessor('some_class3', 'div', array(), $con);
        $accessor->near($accessor1)->in($accessor3)->under($accessor2);

        $this->assertEquals(
            $selectorStart .
                '_sahi._near(_sahi._byClassName("some_class1", "p")), ' .
                '_sahi._in(_sahi._byClassName("some_class3", "div")), ' .
                '_sahi._under(_sahi._byClassName("some_class2", "span")))',
            $accessor->getAccessor()
        );
    }
Esempio n. 3
0
 /**
  * Initialize Accessor.
  *
  * @param   string      $class      tag class name
  * @param   string      $tag        tag name
  * @param   array       $relations  relations
  * @param   Connection  $con        Sahi connection
  */
 public function __construct($class, $tag, array $relations, Connection $con)
 {
     parent::__construct($con);
     foreach ($relations as $relation => $accessor) {
         $this->{$relation}($accessor);
     }
     $this->class = $class;
     $this->tag = $tag;
 }
    /**
     * Initialize Accessor.
     *
     * @param string     $xpath     XPath expression
     * @param array      $relations Relations
     * @param Connection $con       Sahi connection
     */
    public function __construct($xpath, array $relations, Connection $con)
    {
        parent::__construct($con);

        foreach ($relations as $relation => $accessor) {
            $this->$relation($accessor);
        }

        $this->xpath = $xpath;
    }