Carew\Tests\ProcessorTest::testProcessGlobals PHP Method

testProcessGlobals() public method

public testProcessGlobals ( )
    public function testProcessGlobals()
    {
        $documents = array(new Document(), new Document(), new Document(), new Document(null, null, Document::TYPE_POST), new Document(null, null, Document::TYPE_POST), new Document(null, null, Document::TYPE_POST), new Document(null, null, Document::TYPE_POST), new Document(null, null, Document::TYPE_POST), new Document(null, null, Document::TYPE_POST));
        $documents[0]->setFilePath('a');
        $documents[0]->setTags('tag1');
        $documents[1]->setFilePath('b');
        $documents[1]->setTags('tag2');
        $documents[2]->setFilePath('c');
        $documents[2]->setTags('tag2');
        $documents[3]->setFilePath('d');
        $documents[3]->setNavigations('nav1');
        $documents[3]->setMetadata('date', new \DateTime('2000-01-01'));
        $documents[4]->setFilePath('e');
        $documents[4]->setNavigations('nav1');
        $documents[4]->setMetadata('date', new \DateTime('2000-01-10'));
        $documents[5]->setFilePath('f');
        $documents[6]->setFilePath('g');
        $documents[6]->setMetadata('date', new \DateTime('2000-01-10'));
        $documents[7]->setFilePath('h');
        $documents[8]->setFilePath('i');
        $documents[8]->setMetadata('date', new \DateTime('2000-01-01'));
        $globalVars = $this->processor->processGlobals($documents);
        $this->assertCount(9, $globalVars->documents);
        $this->assertSame($documents, $globalVars->documents);
        $this->assertCount(2, $globalVars->tags);
        $this->assertCount(1, $globalVars->tags['tag1']);
        $this->assertContains($documents[0], $globalVars->tags['tag1']);
        $this->assertCount(2, $globalVars->tags['tag2']);
        $this->assertContains($documents[1], $globalVars->tags['tag2']);
        $this->assertContains($documents[2], $globalVars->tags['tag2']);
        $this->assertCount(1, $globalVars->navigations);
        $this->assertCount(2, $globalVars->navigations['nav1']);
        $this->assertContains($documents[3], $globalVars->navigations['nav1']);
        $this->assertContains($documents[4], $globalVars->navigations['nav1']);
        $this->assertCount(3, $globalVars->unknowns);
        $this->assertContains($documents[0], $globalVars->unknowns);
        $this->assertContains($documents[1], $globalVars->unknowns);
        $this->assertContains($documents[2], $globalVars->unknowns);
        $this->assertCount(6, $globalVars->posts);
        $this->assertContains($documents[3], $globalVars->posts);
        $this->assertContains($documents[4], $globalVars->posts);
        $this->assertContains($documents[5], $globalVars->posts);
        $this->assertContains($documents[6], $globalVars->posts);
        $this->assertEquals(array('f', 'h', 'd', 'i', 'e', 'g'), array_keys($globalVars->posts));
    }