This commit is contained in:
2022-11-25 21:21:30 +01:00
parent 2d6df0d5f0
commit 94deb06f52
132 changed files with 44887 additions and 41368 deletions

View File

@@ -1,4 +1,5 @@
<?php
/** DomFramework - Tests
* @package domframework
* @author Dominique Fournier <dominique@fournier38.fr>
@@ -12,143 +13,156 @@ use Domframework\Sse;
/** Test the domframework Server-Sent Events part */
class SseTest extends \PHPUnit_Framework_TestCase
{
public function test_loop_NOTDEFINED ()
{
$this->expectException ("Exception");
$sse = new Sse ();
$res = $sse->loop ();
}
public function test_loop_NOTDEFINED()
{
$this->expectException("Exception");
$sse = new Sse();
$res = $sse->loop();
}
public function test_loop_JUSTPING ()
{
$this->expectOutputString(str_repeat (": ping\n\n", 5));
$sse = new Sse ();
if (file_exists ("/tmp/dfwTestSSE1"))
unlink ("/tmp/dfwTestSSE1");
$sse->setBackendFiles ("/tmp/dfwTestSSE1")
public function test_loop_JUSTPING()
{
$this->expectOutputString(str_repeat(": ping\n\n", 5));
$sse = new Sse();
if (file_exists("/tmp/dfwTestSSE1")) {
unlink("/tmp/dfwTestSSE1");
}
$sse->setBackendFiles("/tmp/dfwTestSSE1")
->setPingTime(1);
$sse->loop ();
}
$sse->loop();
}
public function test_loop_SKIP_START ()
{
$this->expectOutputString(str_repeat (": ping\n\n", 5));
$sse = new Sse ();
if (file_exists ("/tmp/dfwTestSSE1"))
unlink ("/tmp/dfwTestSSE1");
file_put_contents ("/tmp/dfwTestSSE1", "NOT SEEN");
$sse->setBackendFiles ("/tmp/dfwTestSSE1")
public function test_loop_SKIP_START()
{
$this->expectOutputString(str_repeat(": ping\n\n", 5));
$sse = new Sse();
if (file_exists("/tmp/dfwTestSSE1")) {
unlink("/tmp/dfwTestSSE1");
}
file_put_contents("/tmp/dfwTestSSE1", "NOT SEEN");
$sse->setBackendFiles("/tmp/dfwTestSSE1")
->setPingTime(1);
$sse->loop ();
}
$sse->loop();
}
public function test_loop_DATA ()
{
$this->expectOutputString(str_repeat (": ping\n\n", 4).
"data: WILL BE SEEN\n\n: ping\n\n");
if (file_exists ("/tmp/dfwTestSSE1"))
unlink ("/tmp/dfwTestSSE1");
$sse = new Sse ();
pcntl_signal(SIGALRM, function () {
file_put_contents ("/tmp/dfwTestSSE1", "WILL BE SEEN\n");
}, false);
pcntl_alarm(3);
$sse->setBackendFiles ("/tmp/dfwTestSSE1")
public function test_loop_DATA()
{
$this->expectOutputString(str_repeat(": ping\n\n", 4) .
"data: WILL BE SEEN\n\n: ping\n\n");
if (file_exists("/tmp/dfwTestSSE1")) {
unlink("/tmp/dfwTestSSE1");
}
$sse = new Sse();
pcntl_signal(SIGALRM, function () {
file_put_contents("/tmp/dfwTestSSE1", "WILL BE SEEN\n");
}, false);
pcntl_alarm(3);
$sse->setBackendFiles("/tmp/dfwTestSSE1")
->setPingTime(1);
$sse->loop ();
}
$sse->loop();
}
public function test_loop_EVENTS ()
{
$this->expectOutputString(str_repeat (": ping\n\n", 4).
"event: event1\ndata: WILL BE SEEN 1\n\n".
"event: event2\ndata: WILL BE SEEN 2\n\n".
": ping\n\n");
if (file_exists ("/tmp/dfwTestSSE1"))
unlink ("/tmp/dfwTestSSE1");
if (file_exists ("/tmp/dfwTestSSE2"))
unlink ("/tmp/dfwTestSSE2");
$sse = new Sse ();
pcntl_signal(SIGALRM, function () {
file_put_contents ("/tmp/dfwTestSSE1", "WILL BE SEEN 1\n");
file_put_contents ("/tmp/dfwTestSSE2", "WILL BE SEEN 2\n");
}, false);
pcntl_alarm(3);
$sse->setBackendFiles (["event1" => "/tmp/dfwTestSSE1",
public function test_loop_EVENTS()
{
$this->expectOutputString(str_repeat(": ping\n\n", 4) .
"event: event1\ndata: WILL BE SEEN 1\n\n" .
"event: event2\ndata: WILL BE SEEN 2\n\n" .
": ping\n\n");
if (file_exists("/tmp/dfwTestSSE1")) {
unlink("/tmp/dfwTestSSE1");
}
if (file_exists("/tmp/dfwTestSSE2")) {
unlink("/tmp/dfwTestSSE2");
}
$sse = new Sse();
pcntl_signal(SIGALRM, function () {
file_put_contents("/tmp/dfwTestSSE1", "WILL BE SEEN 1\n");
file_put_contents("/tmp/dfwTestSSE2", "WILL BE SEEN 2\n");
}, false);
pcntl_alarm(3);
$sse->setBackendFiles(["event1" => "/tmp/dfwTestSSE1",
"event2" => "/tmp/dfwTestSSE2"])
->setPingTime(1);
$sse->loop ();
}
public function test_loop_HandlersEvent ()
{
$this->expectOutputString(str_repeat (": ping\n\n", 4).
"event: event1\ndata: will be seen 1\n\n".
"event: event2\ndata: WILL BE SEEN 2\n\n".
": ping\n\n");
if (file_exists ("/tmp/dfwTestSSE1"))
unlink ("/tmp/dfwTestSSE1");
if (file_exists ("/tmp/dfwTestSSE2"))
unlink ("/tmp/dfwTestSSE2");
$sse = new Sse ();
pcntl_signal(SIGALRM, function () {
file_put_contents ("/tmp/dfwTestSSE1", "WILL BE SEEN 1\n");
file_put_contents ("/tmp/dfwTestSSE2", "WILL BE SEEN 2\n");
}, false);
pcntl_alarm(3);
function lowerHandlersEvent ($val) {
return strtolower ($val);
$sse->loop();
}
$sse->setBackendFiles (["event1" => "/tmp/dfwTestSSE1",
public function test_loop_HandlersEvent()
{
$this->expectOutputString(str_repeat(": ping\n\n", 4) .
"event: event1\ndata: will be seen 1\n\n" .
"event: event2\ndata: WILL BE SEEN 2\n\n" .
": ping\n\n");
if (file_exists("/tmp/dfwTestSSE1")) {
unlink("/tmp/dfwTestSSE1");
}
if (file_exists("/tmp/dfwTestSSE2")) {
unlink("/tmp/dfwTestSSE2");
}
$sse = new Sse();
pcntl_signal(SIGALRM, function () {
file_put_contents("/tmp/dfwTestSSE1", "WILL BE SEEN 1\n");
file_put_contents("/tmp/dfwTestSSE2", "WILL BE SEEN 2\n");
}, false);
pcntl_alarm(3);
function lowerHandlersEvent($val)
{
return strtolower($val);
}
$sse->setBackendFiles(["event1" => "/tmp/dfwTestSSE1",
"event2" => "/tmp/dfwTestSSE2"])
->setHandlersEvent ([
"event1" => __NAMESPACE__."\\lowerHandlersEvent"])
->setHandlersEvent([
"event1" => __NAMESPACE__ . "\\lowerHandlersEvent"])
->setPingTime(1);
$sse->loop ();
}
public function test_loop_HandlerDataonly ()
{
$this->expectOutputString(str_repeat (": ping\n\n", 4).
"data: will be seen 1\n\n".
": ping\n\n");
if (file_exists ("/tmp/dfwTestSSE1"))
unlink ("/tmp/dfwTestSSE1");
$sse = new Sse ();
pcntl_signal(SIGALRM, function () {
file_put_contents ("/tmp/dfwTestSSE1", "WILL BE SEEN 1\n");
}, false);
pcntl_alarm(3);
function lowerHandlerDataonly ($val) {
return strtolower ($val);
$sse->loop();
}
$sse->setBackendFiles ("/tmp/dfwTestSSE1")
->setHandlerDataonly (__NAMESPACE__."\\lowerHandlerDataonly")
->setPingTime(1);
$sse->loop ();
}
public function test_loop_HandlerDataonlyWithParams ()
{
$this->expectOutputString(str_repeat (": ping\n\n", 4).
"data: PREwill be seen 1POST\n\n".
": ping\n\n");
if (file_exists ("/tmp/dfwTestSSE1"))
unlink ("/tmp/dfwTestSSE1");
$sse = new Sse ();
pcntl_signal(SIGALRM, function () {
file_put_contents ("/tmp/dfwTestSSE1", "WILL BE SEEN 1\n");
}, false);
pcntl_alarm(3);
function lowerHandlerDataonlyWithParams ($val, $param1, $param2) {
return $param1.strtolower ($val).$param2;
}
$sse->setBackendFiles ("/tmp/dfwTestSSE1")
->setHandlerDataonly (
__NAMESPACE__."\\lowerHandlerDataonlyWithParams", "PRE", "POST")
public function test_loop_HandlerDataonly()
{
$this->expectOutputString(str_repeat(": ping\n\n", 4) .
"data: will be seen 1\n\n" .
": ping\n\n");
if (file_exists("/tmp/dfwTestSSE1")) {
unlink("/tmp/dfwTestSSE1");
}
$sse = new Sse();
pcntl_signal(SIGALRM, function () {
file_put_contents("/tmp/dfwTestSSE1", "WILL BE SEEN 1\n");
}, false);
pcntl_alarm(3);
function lowerHandlerDataonly($val)
{
return strtolower($val);
}
$sse->setBackendFiles("/tmp/dfwTestSSE1")
->setHandlerDataonly(__NAMESPACE__ . "\\lowerHandlerDataonly")
->setPingTime(1);
$sse->loop ();
}
$sse->loop();
}
public function test_loop_HandlerDataonlyWithParams()
{
$this->expectOutputString(str_repeat(": ping\n\n", 4) .
"data: PREwill be seen 1POST\n\n" .
": ping\n\n");
if (file_exists("/tmp/dfwTestSSE1")) {
unlink("/tmp/dfwTestSSE1");
}
$sse = new Sse();
pcntl_signal(SIGALRM, function () {
file_put_contents("/tmp/dfwTestSSE1", "WILL BE SEEN 1\n");
}, false);
pcntl_alarm(3);
function lowerHandlerDataonlyWithParams($val, $param1, $param2)
{
return $param1 . strtolower($val) . $param2;
}
$sse->setBackendFiles("/tmp/dfwTestSSE1")
->setHandlerDataonly(
__NAMESPACE__ . "\\lowerHandlerDataonlyWithParams",
"PRE",
"POST"
)
->setPingTime(1);
$sse->loop();
}
}