* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class FilterFactoryTest extends TestCase { public function testFactory() { $factory = new FilterFactory(); $factory->addFilter('foo', new RegxpFilter('^/foo')); $factory->addFilter('bar', new RegxpFilter('^/bar')); $this->assertInstanceOf(FilterInterface::class, $factory->getFilter('foo')); $this->assertEquals('c9d9bfae', $factory->getFilter('foo')->getId()); $this->assertInstanceOf(FilterInterface::class, $factory->getFilter('bar')); $this->assertEquals('a1841e70', $factory->getFilter('bar')->getId()); $this->assertNull($factory->getFilter('baz')); } public function testFactoryDefault() { $factory = new FilterFactory(); $factory->addFilter('foo', new RegxpFilter('^/foo')); $factory->addFilter('bar', new RegxpFilter('^/bar')); $factory->setDefault('bar'); $this->assertInstanceOf(FilterInterface::class, $factory->getFilter('foo')); $this->assertEquals('c9d9bfae', $factory->getFilter('foo')->getId()); $this->assertInstanceOf(FilterInterface::class, $factory->getFilter('bar')); $this->assertEquals('a1841e70', $factory->getFilter('bar')->getId()); $this->assertInstanceOf(FilterInterface::class, $factory->getFilter('baz')); $this->assertEquals('a1841e70', $factory->getFilter('baz')->getId()); } public function testFactoryEmpty() { $factory = new FilterFactory(); $this->assertNull($factory->getFilter('')); $this->assertNull($factory->getFilter('foo')); } } __halt_compiler();----SIGNATURE:----SakuaRHqbIX3+BVfLwpRPbcSuK7bUhaZsG111RFtFt+6aR8Vvl7UmhpFb1b1T5XnRSYz7v5/PVj8/VQ8Wek+phHQdcoiyJh7DPBajQnIRz5mmdAbHHlzBpxxF4qx3WTKOGo0tqjMcWSxuAIfAzJYoh9875y9rHs7OIEGJpZzsHHIfGhn7S3RJpvGEow4AKu6aVCXexb4kSRnUSKoguz4uoSR9gJW7WHojP6yQGzSNYH2mtpkQZt//+QSLShAVspqrP8+HpfogP9pKGKnlp08jKH89v2eb9JbEDAX/BA9Y453o7veRMDqdxgC4gvp8yS2vf4w8ZL8cRI8kw0d78Iwjm103GCMQSLbUW/fNCmpIxGzDu4UjjuD/TO3ZQwwbz2ohUBlgBVT1OVjUZtKRHrFwOystNLseP9Rq9KCXnASKSZtzpPNv+IAdKEWqpDrdiDcHBVjoqlFmJZFb6NH2XCTjxosMS9LyLY/tPUiTUd0ywz787mHa7cXIk4xFJg5R0f4OFj6CVkCHthJGKFtI3V9U1CplyScYbEIIi7ExCi3r6pStzcPsQz6sP8VdR1bIugMadYv+VIe79s3hmw1Varlu5olkEN8+5d5yBOxNWuO8WMyWhEr0SAPyIOSeCnOy9aKKK5aRL8bLTx8YvVKvh4AnS7TMwpgfnHDrEDwG+JbmZw=----ATTACHMENT:----MTczMTQyMDQyNTIwNDE0NiAzMjY3MTkwODIzNzE4ODcgODI1NTMxMzA5Mjc1NTQwOQ==