rosavox/lib/alveolata/http/test.spec.php

60 lines
1.5 KiB
PHP
Raw Normal View History

2025-05-23 07:33:29 +00:00
<?php
// require_once(DIR_ALVEOLATA . '/definitions.php');
require_once(DIR_ALVEOLATA . '/http/functions.php');
\alveolata\test\add(
[
'name' => 'alveolata',
'sections' => [
[
'name' => 'http',
'sections' => [
[
'name' => 'request_decode',
'cases' => [
[
'name' => 'test1',
'procedure' => function ($assert, &$environment) {
$input = 'OPTIONS /server/index.php/session HTTP/1.1
Host: localhost:1919
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: http://localhost:8888/
Origin: http://localhost:8888
Connection: keep-alive
foo
bar
';
// execution
{
$request = \alveolata\http\request_decode($input);
}
// assertions
{
$assert->equal($request->protocol, 'HTTP/1.1');
$assert->equal($request->method, 'OPTIONS');
$assert->equal($request->target, '/server/index.php/session');
$assert->equal($request->headers['Host'], 'localhost:1919');
$assert->equal($request->headers['User-Agent'], 'Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0');
$assert->equal($request->headers['Accept'], '*/*');
$assert->equal($request->body, "foo\nbar");
}
},
],
]
],
]
]
]
]
);
?>