1
0
mirror of https://github.com/danog/amp.git synced 2024-12-04 18:38:17 +01:00
amp/test/RegistryTest.php
2016-05-26 10:05:17 -05:00

68 lines
1.3 KiB
PHP

<?php
namespace Interop\Async\Loop;
class RegistryTest extends \PHPUnit_Framework_TestCase
{
use Registry;
protected function setUp()
{
self::$registry = null;
}
/**
* @test
* @expectedException \RuntimeException
*/
public function fetchfailsOutsideOfLoop()
{
self::fetchState("foobar");
}
/**
* @test
* @expectedException \RuntimeException
*/
public function storefailsOutsideOfLoop()
{
self::fetchState("store");
}
/** @test */
public function defaultsToNull()
{
// emulate we're in an event loop…
self::$registry = [];
$this->assertNull(self::fetchState("foobar"));
}
/**
* @test
* @dataProvider provideValues
*/
public function fetchesStoredValue($value)
{
// emulate we're in an event loop…
self::$registry = [];
$this->assertNull(self::fetchState("foobar"));
self::storeState("foobar", $value);
$this->assertSame($value, self::fetchState("foobar"));
}
public function provideValues()
{
return [
["string"],
[42],
[1.001],
[true],
[false],
[null],
[new \StdClass],
];
}
}