public setLogger ( Psr\Log\LoggerInterface $logger ) : Browscap\Writer\WriterInterface | ||
$logger | Psr\Log\LoggerInterface | |
return | Browscap\Writer\WriterInterface |
/** * @param \Psr\Log\LoggerInterface $logger * @param string $buildFolder * * @return \Browscap\Writer\WriterCollection */ public function createCollection(LoggerInterface $logger, $buildFolder) { $writerCollection = new WriterCollection(); $fullFilter = new FullFilter(); $stdFilter = new StandardFilter(); $liteFilter = new LiteFilter(); $fullAspWriter = new IniWriter($buildFolder . '/full_asp_browscap.ini'); $formatter = new AspFormatter(); $fullAspWriter->setLogger($logger)->setFormatter($formatter->setFilter($fullFilter))->setFilter($fullFilter); $writerCollection->addWriter($fullAspWriter); $fullPhpWriter = new IniWriter($buildFolder . '/full_php_browscap.ini'); $formatter = new PhpFormatter(); $fullPhpWriter->setLogger($logger)->setFormatter($formatter->setFilter($fullFilter))->setFilter($fullFilter); $writerCollection->addWriter($fullPhpWriter); $stdAspWriter = new IniWriter($buildFolder . '/browscap.ini'); $formatter = new AspFormatter(); $stdAspWriter->setLogger($logger)->setFormatter($formatter->setFilter($stdFilter))->setFilter($stdFilter); $writerCollection->addWriter($stdAspWriter); $stdPhpWriter = new IniWriter($buildFolder . '/php_browscap.ini'); $formatter = new PhpFormatter(); $stdPhpWriter->setLogger($logger)->setFormatter($formatter->setFilter($stdFilter))->setFilter($stdFilter); $writerCollection->addWriter($stdPhpWriter); $liteAspWriter = new IniWriter($buildFolder . '/lite_asp_browscap.ini'); $formatter = new AspFormatter(); $liteAspWriter->setLogger($logger)->setFormatter($formatter->setFilter($liteFilter))->setFilter($liteFilter); $writerCollection->addWriter($liteAspWriter); $litePhpWriter = new IniWriter($buildFolder . '/lite_php_browscap.ini'); $formatter = new PhpFormatter(); $litePhpWriter->setLogger($logger)->setFormatter($formatter->setFilter($liteFilter))->setFilter($liteFilter); $writerCollection->addWriter($litePhpWriter); $csvWriter = new CsvWriter($buildFolder . '/browscap.csv'); $formatter = new CsvFormatter(); $csvWriter->setLogger($logger)->setFormatter($formatter->setFilter($fullFilter))->setFilter($fullFilter); $writerCollection->addWriter($csvWriter); $xmlWriter = new XmlWriter($buildFolder . '/browscap.xml'); $formatter = new XmlFormatter(); $xmlWriter->setLogger($logger)->setFormatter($formatter->setFilter($stdFilter))->setFilter($stdFilter); $writerCollection->addWriter($xmlWriter); $jsonWriter = new JsonWriter($buildFolder . '/browscap.json'); $formatter = new JsonFormatter(); $jsonWriter->setLogger($logger)->setFormatter($formatter->setFilter($fullFilter))->setFilter($fullFilter); $writerCollection->addWriter($jsonWriter); $liteJsonWriter = new JsonWriter($buildFolder . '/lite_browscap.json'); $formatter = new JsonFormatter(); $liteJsonWriter->setLogger($logger)->setFormatter($formatter->setFilter($liteFilter))->setFilter($liteFilter); $writerCollection->addWriter($liteJsonWriter); return $writerCollection; }
/** * tests rendering the body of one section * * @group writer * @group sourcetest */ public function testRenderSectionBodyIfNotSilent() { $this->object->setSilent(false); $section = ['Test' => 1, 'isTest' => true, 'abc' => 'bcd']; $expectedAgents = [0 => ['properties' => ['Test' => 'abc', 'abc' => true, 'alpha' => true]]]; $division = $this->getMockBuilder(\Browscap\Data\Division::class)->disableOriginalConstructor()->setMethods(['getUserAgents'])->getMock(); $division->expects(self::once())->method('getUserAgents')->will(self::returnValue($expectedAgents)); $collection = $this->getMockBuilder(\Browscap\Data\DataCollection::class)->disableOriginalConstructor()->setMethods(['getDefaultProperties'])->getMock(); $collection->expects(self::once())->method('getDefaultProperties')->will(self::returnValue($division)); $mockFormatter = $this->getMockBuilder(\Browscap\Formatter\CsvFormatter::class)->disableOriginalConstructor()->setMethods(['formatPropertyValue'])->getMock(); $mockFormatter->expects(self::exactly(3))->method('formatPropertyValue')->will(self::returnArgument(0)); self::assertSame($this->object, $this->object->setFormatter($mockFormatter)); $mockFilter = $this->getMockBuilder(\Browscap\Filter\FullFilter::class)->disableOriginalConstructor()->setMethods(['isOutputProperty'])->getMock(); $map = [['Test', $this->object, true], ['isTest', $this->object, false], ['abc', $this->object, true], ['alpha', $this->object, true]]; $mockFilter->expects(self::exactly(7))->method('isOutputProperty')->will(self::returnValueMap($map)); self::assertSame($this->object, $this->object->setFilter($mockFilter)); $logger = $this->createMock(\Monolog\Logger::class); $this->object->setLogger($logger); self::assertSame($this->object, $this->object->renderSectionBody($section, $collection)); self::assertSame('1,bcd,' . PHP_EOL, file_get_contents($this->file)); }
/** * tests rendering the body of one section * * @group writer * @group sourcetest */ public function testRenderSectionBodyIfNotSilent() { $this->object->setSilent(false); $section = array('Test' => 1, 'isTest' => true, 'abc' => 'bcd'); $expectedAgents = array(0 => array('properties' => array('Test' => 'abc', 'abc' => true, 'alpha' => true))); $mockDivision = $this->getMock('\\Browscap\\Data\\Division', array('getUserAgents'), array(), '', false); $mockDivision->expects(self::once())->method('getUserAgents')->will(self::returnValue($expectedAgents)); $mockCollection = $this->getMock('\\Browscap\\Data\\DataCollection', array('getDefaultProperties'), array(), '', false); $mockCollection->expects(self::once())->method('getDefaultProperties')->will(self::returnValue($mockDivision)); $mockFormatter = $this->getMock('\\Browscap\\Formatter\\CsvFormatter', array('formatPropertyValue'), array(), '', false); $mockFormatter->expects(self::exactly(3))->method('formatPropertyValue')->will(self::returnArgument(0)); self::assertSame($this->object, $this->object->setFormatter($mockFormatter)); $mockFilter = $this->getMock('\\Browscap\\Filter\\FullFilter', array('isOutputProperty'), array(), '', false); $map = array(array('Test', $this->object, true), array('isTest', $this->object, false), array('abc', $this->object, true), array('alpha', $this->object, true)); $mockFilter->expects(self::exactly(7))->method('isOutputProperty')->will(self::returnValueMap($map)); self::assertSame($this->object, $this->object->setFilter($mockFilter)); $mockLogger = $this->getMock('\\Monolog\\Logger', array(), array(), '', false); $this->object->setLogger($mockLogger); self::assertSame($this->object, $this->object->renderSectionBody($section, $mockCollection)); self::assertSame('1,bcd,' . PHP_EOL, file_get_contents($this->file)); }