<?php namespace React\Tests\EventLoop; use React\EventLoop\SignalsHandler; final class SignalsHandlerTest extends TestCase { public function testEmittedEventsAndCallHandling() { $callCount = 0; $func = function () use (&$callCount) { $callCount++; }; $signals = new SignalsHandler(); $this->assertSame(0, $callCount); $signals->add(SIGUSR1, $func); $this->assertSame(0, $callCount); $signals->add(SIGUSR1, $func); $this->assertSame(0, $callCount); $signals->add(SIGUSR1, $func); $this->assertSame(0, $callCount); $signals->call(SIGUSR1); $this->assertSame(1, $callCount); $signals->add(SIGUSR2, $func); $this->assertSame(1, $callCount); $signals->add(SIGUSR2, $func); $this->assertSame(1, $callCount); $signals->call(SIGUSR2); $this->assertSame(2, $callCount); $signals->remove(SIGUSR2, $func); $this->assertSame(2, $callCount); $signals->remove(SIGUSR2, $func); $this->assertSame(2, $callCount); $signals->call(SIGUSR2); $this->assertSame(2, $callCount); $signals->remove(SIGUSR1, $func); $this->assertSame(2, $callCount); $signals->call(SIGUSR1); $this->assertSame(2, $callCount); } }