Annotation of embedaddon/php/sapi/cli/tests/bug61977.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #61977 test CLI web-server support for Mime Type File extensions mapping
        !             3: --SKIPIF--
        !             4: <?php
        !             5: include "skipif.inc"; 
        !             6: ?>
        !             7: --FILE--
        !             8: <?php
        !             9: include "php_cli_server.inc";
        !            10: php_cli_server_start('<?php ?>', true);
        !            11: 
        !            12: /*
        !            13:  * If a Mime Type is added in php_cli_server.c, add it to this array and update
        !            14:  * the EXPECTF section accordingly
        !            15:  */
        !            16: $mimetypes = ['html', 'htm', 'svg', 'css', 'js', 'png', 'webm', 'ogv', 'ogg'];
        !            17: 
        !            18: function test_mimetypes($mimetypes) {
        !            19:     foreach ($mimetypes as $mimetype) {
        !            20:         list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
        !            21:         $port = intval($port) ? : 80;
        !            22:         $fp   = fsockopen($host, $port, $errno, $errstr, 0.5);
        !            23:         if (!$fp) die('Connect failed');
        !            24:         file_put_contents(__DIR__ . "/foo.{$mimetype}", '');
        !            25:         $header = <<<HEADER
        !            26: GET /foo.{$mimetype} HTTP/1.1
        !            27: Host: {$host}
        !            28: 
        !            29: 
        !            30: HEADER;
        !            31:         if (fwrite($fp, $header)) {
        !            32:             while (!feof($fp)) {
        !            33:                 $text = fgets($fp);
        !            34:                 if (strncasecmp("Content-type:", $text, 13) == 0) {
        !            35:                     echo "foo.{$mimetype} => ", $text;
        !            36:                 }
        !            37:             }
        !            38:             @unlink(__DIR__ . "/foo.{$mimetype}");
        !            39:             fclose($fp);
        !            40:         }
        !            41:     }
        !            42: }
        !            43: 
        !            44: test_mimetypes($mimetypes);
        !            45: ?>
        !            46: --EXPECTF--
        !            47: foo.html => Content-Type: text/html; charset=UTF-8
        !            48: foo.htm => Content-Type: text/html; charset=UTF-8
        !            49: foo.svg => Content-Type: image/svg+xml
        !            50: foo.css => Content-Type: text/css; charset=UTF-8
        !            51: foo.js => Content-Type: text/javascript; charset=UTF-8
        !            52: foo.png => Content-Type: image/png
        !            53: foo.webm => Content-Type: video/webm
        !            54: foo.ogv => Content-Type: video/ogg
        !            55: foo.ogg => Content-Type: audio/ogg

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>