a9e161ab48722e20c0e57741fb1226effab20101
[m6w6/ext-http] / tests / skipif.inc
1 <?php
2 _ext("http");
3
4 function _ext($ext) {
5 if (!extension_loaded($ext)) {
6 die("skip $ext extension needed\n");
7 }
8 }
9
10 function utf8locale() {
11 if (stristr(setlocale(LC_CTYPE, "C.UTF-8"), "utf")) {
12 return true;
13 }
14 $locale = setlocale(LC_CTYPE, null);
15 if (stristr($locale, "utf") && substr($locale, -1) === "8") {
16 return true;
17 }
18 return false;
19 }
20
21 function skip_online_test($message = "skip test requiring internet connection\n") {
22 if (getenv("SKIP_ONLINE_TESTS")) {
23 die($message);
24 }
25 }
26
27 function skip_slow_test($message = "skip slow test\n") {
28 if (getenv("SKIP_SLOW_TESTS")) {
29 die($message);
30 }
31 }
32
33 function skip_client_test($message = "skip need a client driver\n") {
34 if (!http\Client::getAvailableDrivers()) {
35 die($message);
36 }
37 }
38
39 function skip_http2_test($message = "skip need http2 support") {
40 if (!defined("http\\Client\\Curl\\HTTP_VERSION_2_0")) {
41 die("$message (HTTP_VERSION_2_0)\n");
42 }
43 if (!(http\Client\Curl\FEATURES & http\Client\Curl\Features\HTTP2)) {
44 die("$message (FEATURES & HTTP2)\n");
45 }
46 foreach (explode(":", $_ENV["PATH"]) as $path) {
47 if (is_executable($path . "/nghttpd")) {
48 return;
49 }
50 }
51 die("$message (nghttpd in PATH)\n");
52 }