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