travis: fix ssl client test
[m6w6/ext-http] / tests / skipif.inc
index 770cf5d32acb9d769d9bf23693fc584270a858c8..85dbac2902d2c2ae7915b9fe9dcc18d4d6d053c5 100644 (file)
@@ -1,7 +1,23 @@
 <?php
-function _ext($ext) { extension_loaded($ext) or die("skip $ext extension needed\n"); }
 _ext("http");
 
+function _ext($ext) { 
+       if (!extension_loaded($ext)) {
+               die("skip $ext extension needed\n");
+       }
+}
+
+function utf8locale() {
+       if (stristr(setlocale(LC_CTYPE, "C.UTF-8"), "utf")) {
+               return true;
+       }
+       $locale = setlocale(LC_CTYPE, null);
+       if (stristr($locale, "utf") && substr($locale, -1) === "8") {
+               return true;
+       }
+       return false;
+}
+
 function skip_online_test($message = "skip test requiring internet connection\n") {
        if (getenv("SKIP_ONLINE_TESTS")) {
                die($message);
@@ -20,14 +36,23 @@ function skip_client_test($message = "skip need a client driver\n") {
        }
 }
 
-function skip_http2_test($message = "skip need http2 support (nghttpd in PATH)\n") {
-       if (defined("http\\Client\\Curl\\HTTP_VERSION_2_0")
-       && (http\Client\Curl\FEATURES & http\Client\Curl\Features\HTTP2)) {
-               foreach (explode(":", $_ENV["PATH"]) as $path) {
-                       if (is_executable($path . "/nghttpd")) {
-                               return;
-                       }
+function skip_curl_test($version) {
+       if (!version_compare(http\Client\Curl\Versions\CURL, $version, "<=")) {
+               die("need at least libcurl version $version\n");
+       }
+}
+
+function skip_http2_test($message = "skip need http2 support") {
+       if (!defined("http\\Client\\Curl\\HTTP_VERSION_2_0")) {
+               die("$message (HTTP_VERSION_2_0)\n");
+       }
+       if (!(http\Client\Curl\FEATURES & http\Client\Curl\Features\HTTP2)) {
+               die("$message (FEATURES & HTTP2)\n");
+       }
+       foreach (explode(":", $_ENV["PATH"]) as $path) {
+               if (is_executable($path . "/nghttpd")) {
+                       return;
                }
        }
-       die($message);
-}
\ No newline at end of file
+       die("$message (nghttpd in PATH)\n");
+}