Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@googlemail.com>2014-11-13 06:13:48 +0300
committerThomas Steur <thomas.steur@googlemail.com>2014-11-13 06:13:48 +0300
commitfd9478a0499d4fb851b07cf7971750d550592237 (patch)
tree58eaad2660c4fd3c51791286e7703985ff8845e6 /tests/PHPUnit/Framework/Constraint
parentbe899f7a6a562cc2d670e610c7bfbbf0f6f73148 (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.php56
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