public function testFilterAutoload() { $jade = new Jade(); $this->assertFalse($jade->hasFilter('foo-bar')); spl_autoload_register(function ($name) { $name = explode('\\', $name); $file = __DIR__ . '/../lib/' . end($name) . 'Filter.php'; if (file_exists($file)) { include_once $file; } }); $jade->setOption('filterAutoLoad', false); $this->assertFalse($jade->hasFilter('foo-bar')); $this->assertSame($jade->getFilter('foo-bar'), null); $jade->setOption('filterAutoLoad', true); $this->assertTrue($jade->hasFilter('foo-bar')); $this->assertSame($jade->getFilter('foo-bar'), 'Jade\\Filter\\FooBar'); $actual = $jade->render(' div p :foo-bar I\'m so small :( '); $expected = '<div><p>I\'M SO TALL :)</p></div>'; $this->assertSame(preg_replace('`\\s`', '', $expected), preg_replace('`\\s`', '', $actual), 'Autoloaded filter'); }