* @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:----OvHl8Xv7505xqZ42ca1MgnZChTZUW5Qgcsk3hzKbjcC/W0oeg/J9CH8T/BXPCZgvfxrn/joaCnoYsLeE9V5e1trtOwz9wd/RAXyv6q55tYxqxFEMtbSpleL6IjkGAygTBiIqAZKnw9s1Ih3AzYAlxLNCGZ++dPVIDv8FJqwYJpPoZZidND+eSWBGmc3RPihGzcQx4zBHEYoNlrHKb4PCebsf3Oeuf7oMNt5xmOH1S1InS9CR8YrpsInvbijoxxnjYwJyGwP1OzNxjceIOeCunenvu+wFucSpSlZeM2+Spq+eqejpsuxlo/sZlGU4d4Z6pcfq0Doj8SMzX5Uz1Oz8AE2OptC5bY6q53Mqi7b7ujsMg4GIPmIp0+GtO9cenf5fSWqz+qEMavQGMHzigRwF7XuXFsiRDP1ijX6nak4VQjHf4HRumzsJv7eE/8AXTd2+7ZdhhO5egtcK1VQkYCWamrUIrWyAEg50ELhc21RNLOCs7A+rsKFaesxijPjatIKWVzkPnHAfpvBGUzg0NEFpqrtfOP4DhZ15yKxkREZ7ir0DAiHG0zRgYBCYpPRfENvLZxxqJQtOo6pmUOrTV47zvVatbue/Nnhu8VAHDoyl6rx7EoXT5B8w4HuysVcgmbozcemluciRHuS7T+ggwYX941+7wDiwr+yWrVHodhk1Jf8=----ATTACHMENT:----MTU2MjIxOTQ2NjI2OTE2MyA3NTM0MzUwMzgxMDQ5MDYyIDQ0NjczNTc3NzkwMjE3ODY=