BrowscapTest\Generator\BuildCustomFileGeneratorTest::testBuild PHP Method

testBuild() public method

tests running a build
public testBuild ( )
    public function testBuild()
    {
        $division = $this->getMockBuilder(\Browscap\Data\Division::class)->disableOriginalConstructor()->setMethods(['getUserAgents', 'getVersions'])->getMock();
        $division->expects(self::exactly(4))->method('getUserAgents')->will(self::returnValue([0 => ['properties' => ['Parent' => 'DefaultProperties', 'Browser' => 'xyz', 'Version' => '1.0', 'MajorBer' => '1'], 'userAgent' => 'abc']]));
        $division->expects(self::once())->method('getVersions')->will(self::returnValue([2]));
        $collection = $this->getMockBuilder(\Browscap\Data\DataCollection::class)->disableOriginalConstructor()->setMethods(['getGenerationDate', 'getDefaultProperties', 'getDefaultBrowser', 'getDivisions', 'checkProperty'])->getMock();
        $collection->expects(self::once())->method('getGenerationDate')->will(self::returnValue(new \DateTime()));
        $collection->expects(self::exactly(2))->method('getDefaultProperties')->will(self::returnValue($division));
        $collection->expects(self::once())->method('getDefaultBrowser')->will(self::returnValue($division));
        $collection->expects(self::once())->method('getDivisions')->will(self::returnValue([$division]));
        $collection->expects(self::once())->method('checkProperty')->will(self::returnValue(true));
        $mockCreator = $this->getMockBuilder(\Browscap\Helper\CollectionCreator::class)->disableOriginalConstructor()->setMethods(['createDataCollection'])->getMock();
        $mockCreator->expects(self::any())->method('createDataCollection')->will(self::returnValue($collection));
        $writerCollection = $this->getMockBuilder(\Browscap\Writer\WriterCollection::class)->disableOriginalConstructor()->setMethods(['fileStart', 'renderHeader', 'renderAllDivisionsHeader', 'renderSectionHeader', 'renderSectionBody', 'fileEnd'])->getMock();
        $writerCollection->expects(self::once())->method('fileStart')->will(self::returnSelf());
        $writerCollection->expects(self::once())->method('renderHeader')->will(self::returnSelf());
        $writerCollection->expects(self::once())->method('renderAllDivisionsHeader')->will(self::returnSelf());
        $writerCollection->expects(self::exactly(3))->method('renderSectionHeader')->will(self::returnSelf());
        $writerCollection->expects(self::exactly(3))->method('renderSectionBody')->will(self::returnSelf());
        $writerCollection->expects(self::once())->method('fileEnd')->will(self::returnSelf());
        // First, generate the INI files
        $resourceFolder = __DIR__ . '/../../../resources/';
        $buildFolder = __DIR__ . '/../../../build/browscap-ua-test-' . time();
        @mkdir($buildFolder, 0777, true);
        $generator = new BuildCustomFileGenerator($resourceFolder, $buildFolder);
        self::assertSame($generator, $generator->setLogger($this->logger));
        self::assertSame($generator, $generator->setCollectionCreator($mockCreator));
        self::assertSame($generator, $generator->setWriterCollection($writerCollection));
        $generator->run('test');
    }