xref: /dokuwiki/_test/core/TestResponse.php (revision f8369d7d6e37248d6523fdac6e1d760fca4f1b52)
1*f8369d7dSTobias Sarnowski<?php
2*f8369d7dSTobias Sarnowski/**
3*f8369d7dSTobias Sarnowski * holds a copy of all produced outputs of a TestRequest
4*f8369d7dSTobias Sarnowski */
5*f8369d7dSTobias Sarnowskiclass TestResponse {
6*f8369d7dSTobias Sarnowski    /**
7*f8369d7dSTobias Sarnowski     * @var string
8*f8369d7dSTobias Sarnowski     */
9*f8369d7dSTobias Sarnowski    private $content;
10*f8369d7dSTobias Sarnowski
11*f8369d7dSTobias Sarnowski    /**
12*f8369d7dSTobias Sarnowski     * @var array
13*f8369d7dSTobias Sarnowski     */
14*f8369d7dSTobias Sarnowski    private $headers;
15*f8369d7dSTobias Sarnowski
16*f8369d7dSTobias Sarnowski    /**
17*f8369d7dSTobias Sarnowski     * @var phpQueryObject
18*f8369d7dSTobias Sarnowski     */
19*f8369d7dSTobias Sarnowski    private $pq = null;
20*f8369d7dSTobias Sarnowski
21*f8369d7dSTobias Sarnowski    /**
22*f8369d7dSTobias Sarnowski     * @param $content string
23*f8369d7dSTobias Sarnowski     * @param $headers array
24*f8369d7dSTobias Sarnowski     */
25*f8369d7dSTobias Sarnowski    function __construct($content, $headers) {
26*f8369d7dSTobias Sarnowski        $this->content = $content;
27*f8369d7dSTobias Sarnowski        $this->headers = $headers;
28*f8369d7dSTobias Sarnowski    }
29*f8369d7dSTobias Sarnowski
30*f8369d7dSTobias Sarnowski    /**
31*f8369d7dSTobias Sarnowski     * @return string
32*f8369d7dSTobias Sarnowski     */
33*f8369d7dSTobias Sarnowski    public function getContent() {
34*f8369d7dSTobias Sarnowski        return $this->content;
35*f8369d7dSTobias Sarnowski    }
36*f8369d7dSTobias Sarnowski
37*f8369d7dSTobias Sarnowski    /**
38*f8369d7dSTobias Sarnowski     * @return array
39*f8369d7dSTobias Sarnowski     */
40*f8369d7dSTobias Sarnowski    public function getHeaders() {
41*f8369d7dSTobias Sarnowski        return $this->headers;
42*f8369d7dSTobias Sarnowski    }
43*f8369d7dSTobias Sarnowski
44*f8369d7dSTobias Sarnowski    /**
45*f8369d7dSTobias Sarnowski     * Query the response for a JQuery compatible CSS selector
46*f8369d7dSTobias Sarnowski     *
47*f8369d7dSTobias Sarnowski     * @link https://code.google.com/p/phpquery/wiki/Selectors
48*f8369d7dSTobias Sarnowski     * @param $selector string
49*f8369d7dSTobias Sarnowski     * @return phpQueryObject
50*f8369d7dSTobias Sarnowski     */
51*f8369d7dSTobias Sarnowski    public function queryHTML($selector){
52*f8369d7dSTobias Sarnowski        if(is_null($this->pq)) $this->pq = phpQuery::newDocument($this->content);
53*f8369d7dSTobias Sarnowski        return $this->pq->find($selector);
54*f8369d7dSTobias Sarnowski    }
55*f8369d7dSTobias Sarnowski}
56