public function testSimple() { $callback = function () { return true; }; $patterns = new Patterns(['/blog' => new Patterns(['/' => ['name' => 'index', 'callback' => $callback]], 'blog'), '' => new Patterns(['forum' => ['name' => 'index', 'callback' => $callback]], 'forum'), '/page' => new Patterns(['/' => ['name' => 'index', 'callback' => $callback]], 'page')]); $c = $patterns->getRouteCollector(); $this->assertEquals('/blog/', $c->reverse('blog:index')); $this->assertEquals('/forum', $c->reverse('forum:index')); $this->assertEquals('/page/', $c->reverse('page:index')); $d = new CustomDispatcher($c); $this->assertNotNull($d->dispatch('GET', '/blog/')); $this->assertEquals(301, $d->dispatch('GET', '/blog')); $this->assertNotNull($d->dispatch('GET', '/page/')); $this->assertEquals(301, $d->dispatch('GET', '/page')); }
public function addPattern($prefix, Patterns $patterns) { $patterns->parse($this->collector, $patterns->getPatterns(), $prefix); }