SSE : Add params support for Handlers.

SSE : Split Handlers in Event and Dataonly


git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@6073 bf3deb0d-5f1a-0410-827f-c0cc1f45334c
This commit is contained in:
2020-09-03 08:10:04 +00:00
parent c136fb4a40
commit f9214b0c0e
2 changed files with 98 additions and 10 deletions

View File

@@ -70,7 +70,7 @@ class sseTest extends PHPUnit_Framework_TestCase
$sse->loop ();
}
public function test_loop_Handler ()
public function test_loop_HandlersEvent ()
{
$this->expectOutputString(str_repeat (": ping\n\n", 4).
"event: event1\ndata: will be seen 1\n\n".
@@ -80,16 +80,56 @@ class sseTest extends PHPUnit_Framework_TestCase
@unlink ("/tmp/dfwTestSSE2");
$sse = new sse ();
pcntl_signal(SIGALRM, function () {
file_put_contents ("/tmp/dfwTestSSE1", "will be seen 1\n");
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 lower ($val) {
function lowerHandlersEvent ($val) {
return strtolower ($val);
}
$sse->setBackendFiles (["event1" => "/tmp/dfwTestSSE1",
"event2" => "/tmp/dfwTestSSE2"])
->setHandlers (["event1" => "lower"])
->setHandlersEvent (["event1" => "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");
@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 ("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");
@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, $param1, $param2) {
return $param1.strtolower ($val).$param2;
}
$sse->setBackendFiles ("/tmp/dfwTestSSE1")
->setHandlerDataonly ("lowerHandlerDataonly", "PRE", "POST")
->setPingTime(1);
$sse->loop ();
}