tests: use getenv() to access environment variable
[m6w6/ext-http] / tests / skipif.inc
index 4844defba0ad07ea61918f1aa4c023d1ed9a95d5..76c3bd793576f73639a62860629055f7c79c6367 100644 (file)
@@ -1,7 +1,27 @@
 <?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() {
+       $locale = setlocale(LC_CTYPE, null);
+       if (stristr($locale, "utf") && substr($locale, -1) === "8") {
+               return true;
+       }
+       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,6 +40,12 @@ function skip_client_test($message = "skip need a client driver\n") {
        }
 }
 
+function skip_curl_test($version) {
+       if (!version_compare(http\Client\Curl\Versions\CURL, $version, ">=")) {
+               die("skip 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");
@@ -27,10 +53,10 @@ function skip_http2_test($message = "skip need http2 support") {
        if (!(http\Client\Curl\FEATURES & http\Client\Curl\Features\HTTP2)) {
                die("$message (FEATURES & HTTP2)\n");
        }
-       foreach (explode(":", $_ENV["PATH"]) as $path) {
+       foreach (explode(":", getenv("PATH")) as $path) {
                if (is_executable($path . "/nghttpd")) {
                        return;
                }
        }
        die("$message (nghttpd in PATH)\n");
-}
\ No newline at end of file
+}