Merge branch 'github-master'
This commit is contained in:
commit
cdd6296749
@ -11,4 +11,5 @@ matrix:
|
||||
- php: hhvm
|
||||
|
||||
before_script:
|
||||
- sh -c 'if [ "$TRAVIS_PHP_VERSION" != "hhvm" ]; then echo "session.serialize_handler = php" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi;'
|
||||
- composer install --dev --prefer-source
|
||||
|
@ -56,14 +56,7 @@ class SessionProvider implements MessageComponentInterface, WsServerInterface {
|
||||
$this->setOptions($options);
|
||||
|
||||
if (null === $serializer) {
|
||||
// Temporarily fixing HHVM issue w/ reading ini values
|
||||
$handler_name = ini_get('session.serialize_handler');
|
||||
if ('' === $handler_name) {
|
||||
trigger_error('ini value session.seralize_handler was empty, assuming "php" - tmp hack/fix, bad things might happen', E_USER_WARNING);
|
||||
$handler_name = 'php';
|
||||
}
|
||||
|
||||
$serialClass = __NAMESPACE__ . "\\Serialize\\{$this->toClassCase($handler_name)}Handler"; // awesome/terrible hack, eh?
|
||||
$serialClass = __NAMESPACE__ . "\\Serialize\\{$this->toClassCase(ini_get('session.serialize_handler'))}Handler"; // awesome/terrible hack, eh?
|
||||
if (!class_exists($serialClass)) {
|
||||
throw new \RuntimeException('Unable to parse session serialize handler');
|
||||
}
|
||||
|
@ -77,8 +77,11 @@ class TopicManager implements WsServerInterface, WampServerInterface {
|
||||
public function onClose(ConnectionInterface $conn) {
|
||||
$this->app->onClose($conn);
|
||||
|
||||
foreach ($this->topicLookup as $topic) {
|
||||
$topic->remove($conn);
|
||||
foreach ($this->topicLookup as $topic => $storage) {
|
||||
$storage->remove($conn);
|
||||
if (0 === $storage->count()) {
|
||||
unset($this->topicLookup[$topic]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -166,12 +166,19 @@ class TopicManagerTest extends \PHPUnit_Framework_TestCase {
|
||||
$method = $class->getMethod('getTopic');
|
||||
$method->setAccessible(true);
|
||||
|
||||
$attribute = $class->getProperty('topicLookup');
|
||||
$attribute->setAccessible(true);
|
||||
|
||||
$topic = $method->invokeArgs($this->mngr, array($name));
|
||||
|
||||
$this->assertCount(1, $attribute->getValue($this->mngr));
|
||||
|
||||
$this->mngr->onSubscribe($this->conn, $name);
|
||||
$this->mngr->onClose($this->conn);
|
||||
|
||||
$this->assertFalse($topic->has($this->conn));
|
||||
|
||||
$this->assertCount(0, $attribute->getValue($this->mngr));
|
||||
}
|
||||
|
||||
public function testOnErrorBubbles() {
|
||||
|
Loading…
Reference in New Issue
Block a user