annotate vendor/jcalderonzumba/gastonjs/src/Exception/JavascriptError.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Zumba\GastonJS\Exception;
Chris@0 4
Chris@0 5
Chris@0 6 /**
Chris@0 7 * Class JavascriptError
Chris@0 8 * @package Zumba\GastonJS\Exception
Chris@0 9 */
Chris@0 10 class JavascriptError extends ClientError {
Chris@0 11
Chris@0 12 /**
Chris@0 13 * @param array $response
Chris@0 14 */
Chris@0 15 public function __construct($response) {
Chris@0 16 parent::__construct($response);
Chris@0 17 $this->message = $this->message();
Chris@0 18 }
Chris@0 19
Chris@0 20 /**
Chris@0 21 * Get the javascript errors found during the use of the phantomjs
Chris@0 22 * @return array
Chris@0 23 */
Chris@0 24 public function javascriptErrors() {
Chris@0 25 $jsErrors = array();
Chris@0 26 $errors = $this->response["error"]["args"][0];
Chris@0 27 foreach ($errors as $error) {
Chris@0 28 $jsErrors[] = new JSErrorItem($error["message"], $error["stack"]);
Chris@0 29 }
Chris@0 30 return $jsErrors;
Chris@0 31 }
Chris@0 32
Chris@0 33 /**
Chris@0 34 * Returns the javascript errors found
Chris@0 35 * @return string
Chris@0 36 */
Chris@0 37 public function message() {
Chris@0 38 $error = "One or more errors were raised in the Javascript code on the page.
Chris@0 39 If you don't care about these errors, you can ignore them by
Chris@0 40 setting js_errors: false in your Poltergeist configuration (see documentation for details).";
Chris@0 41 //TODO: add javascript errors
Chris@0 42 $jsErrors = $this->javascriptErrors();
Chris@0 43 foreach($jsErrors as $jsError){
Chris@0 44 $error = "$error\n$jsError";
Chris@0 45 }
Chris@0 46 return $error;
Chris@0 47 }
Chris@0 48 }