diff options
author | Thomas Steur <thomas.steur@googlemail.com> | 2014-11-13 06:13:48 +0300 |
---|---|---|
committer | Thomas Steur <thomas.steur@googlemail.com> | 2014-11-13 06:13:48 +0300 |
commit | fd9478a0499d4fb851b07cf7971750d550592237 (patch) | |
tree | 58eaad2660c4fd3c51791286e7703985ff8845e6 /tests/PHPUnit/Framework/Constraint | |
parent | be899f7a6a562cc2d670e610c7bfbbf0f6f73148 (diff) |
refs #6577 Return HTTP 204 instead of GIF for JavaScript tracking.
added a new url parameter send_image=0 to disable sending an
image and instead response with a 204 code
Diffstat (limited to 'tests/PHPUnit/Framework/Constraint')
-rw-r--r-- | tests/PHPUnit/Framework/Constraint/ResponseCode.php | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/tests/PHPUnit/Framework/Constraint/ResponseCode.php b/tests/PHPUnit/Framework/Constraint/ResponseCode.php new file mode 100644 index 0000000000..b934ea008f --- /dev/null +++ b/tests/PHPUnit/Framework/Constraint/ResponseCode.php @@ -0,0 +1,56 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Tests\Framework\Constraint; + +class ResponseCode extends \PHPUnit_Framework_Constraint +{ + + /** + * @param integer $value Expected response code + */ + public function __construct($value) + { + parent::__construct(); + $this->value = $value; + } + + /** + * Evaluates the constraint for parameter $other. Returns TRUE if the + * constraint is met, FALSE otherwise. + * + * @param mixed $other Value or object to evaluate. + * @return bool + */ + public function matches($other) + { + $options = array( + CURLOPT_URL => $other, + CURLOPT_HEADER => true, + CURLOPT_TIMEOUT => 1, + CURLOPT_RETURNTRANSFER => true + ); + + $ch = curl_init(); + curl_setopt_array($ch, $options); + @curl_exec($ch); + $responseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); + + return $this->value === (int) $responseCode; + } + + /** + * Returns a string representation of the constraint. + * + * @return string + */ + public function toString() + { + return 'does not return response code ' . $this->exporter->export($this->value); + } +}?>
\ No newline at end of file |