Example #1
0
 public function testWithCache()
 {
     $this->assertFileNotExists($this->tmpDir);
     $this->assertSame($this->builder, $this->builder->setCacheDir($this->tmpDir));
     $serializer = $this->builder->build();
     $this->assertFileExists($this->tmpDir);
     $this->assertFileExists($this->tmpDir . '/annotations');
     $this->assertFileExists($this->tmpDir . '/metadata');
     $factory = $this->getField($serializer, 'factory');
     $this->assertAttributeSame(false, 'debug', $factory);
     $this->assertAttributeNotSame(null, 'cache', $factory);
 }
 /**
  * @param array $config
  * @param bool  $debug
  *
  * @return Serializer
  */
 protected function createSerializer(array $config, $debug)
 {
     $builder = new SerializerBuilder();
     if (isset($config['cache_dir'])) {
         $builder->setCacheDir($config['cache_dir']);
     }
     if (isset($config['default_handlers'])) {
         $builder->addDefaultHandlers();
     }
     if (isset($config['handlers'])) {
         foreach ($config['handlers'] as $handler) {
             $builder->configureHandlers($handler);
         }
     }
     if (isset($config['event_listeners'])) {
         foreach ($config['event_listeners'] as $handler) {
             $builder->configureListeners($handler);
         }
     }
     $builder->addMetadataDirs(array_get($config, 'paths', [base_path('app')]));
     $builder->setDebug($debug);
     return $builder->build();
 }