public function testConstructor()
 {
     $logger = new Mustache_Logger_StreamLogger(tmpfile());
     $loader = new Mustache_Loader_StringLoader();
     $partialsLoader = new Mustache_Loader_ArrayLoader();
     $mustache = new Mustache_Engine(array('template_class_prefix' => '__whot__', 'cache' => self::$tempDir, 'cache_file_mode' => 777, 'logger' => $logger, 'loader' => $loader, 'partials_loader' => $partialsLoader, 'partials' => array('foo' => '{{ foo }}'), 'helpers' => array('foo' => array($this, 'getFoo'), 'bar' => 'BAR'), 'escape' => 'strtoupper', 'entity_flags' => ENT_QUOTES, 'charset' => 'ISO-8859-1', 'pragmas' => array(Mustache_Engine::PRAGMA_FILTERS)));
     $this->assertSame($logger, $mustache->getLogger());
     $this->assertSame($loader, $mustache->getLoader());
     $this->assertSame($partialsLoader, $mustache->getPartialsLoader());
     $this->assertEquals('{{ foo }}', $partialsLoader->load('foo'));
     $this->assertContains('__whot__', $mustache->getTemplateClassName('{{ foo }}'));
     $this->assertEquals('strtoupper', $mustache->getEscape());
     $this->assertEquals(ENT_QUOTES, $mustache->getEntityFlags());
     $this->assertEquals('ISO-8859-1', $mustache->getCharset());
     $this->assertTrue($mustache->hasHelper('foo'));
     $this->assertTrue($mustache->hasHelper('bar'));
     $this->assertFalse($mustache->hasHelper('baz'));
     $this->assertInstanceOf('Mustache_Cache_FilesystemCache', $mustache->getCache());
     $this->assertEquals(array(Mustache_Engine::PRAGMA_FILTERS), $mustache->getPragmas());
 }