public function testOnDocuments() { $documents = array(); for ($i = 1; $i <= 20; ++$i) { $document = new Document(null, null, Document::TYPE_POST); $document->setTitle('Post #' . $i); $document->setTags('Tag #' . $i % 5); $documents[] = $document; } for ($i = 1; $i <= 20; ++$i) { $document = new Document(null, null, Document::TYPE_PAGE); $document->setTitle('Post #' . $i); $document->setTags('Tag #' . $i % 5); $documents[] = $document; } $processor = new Processor(); $globals = $processor->processGlobals($documents); $event = new CarewEvent($documents, array('globals' => $globals)); $tagFeed = new TagsFeed(); $tagFeed->onDocuments($event); $documents = $event->getSubject(); // 20 posts, 20 pages, 5 tags index $this->assertCount(45, $documents); $this->assertSame('tags/tag-1/feed/atom.xml', $documents['tags/Tag #1/feed/atom']->getPath()); }