Example #1
0
 /**
  * @dataProvider userAgentDataProvider
  * @coversNothing
  *
  * @param string $userAgent
  * @param array  $expectedProperties
  * @param bool   $lite
  * @param bool   $standard
  *
  * @throws \Exception
  * @throws \BrowscapPHP\Exception
  *
  * @group intergration
  * @group useragenttest
  * @group lite
  */
 public function testUserAgentsLite($userAgent, $expectedProperties, $lite = true, $standard = true)
 {
     if (!is_array($expectedProperties) || !count($expectedProperties)) {
         self::markTestSkipped('Could not run test - no properties were defined to test');
     }
     if (!$lite) {
         self::markTestSkipped('Test skipped - Browser/Platform/Version not defined for Lite Mode');
     }
     static $updatedLiteCache = false;
     if (!$updatedLiteCache) {
         self::$browscap->convertFile(self::$buildFolder . '/lite_php_browscap.ini');
         $updatedLiteCache = true;
     }
     $actualProps = (array) self::$browscap->getBrowser($userAgent);
     foreach ($expectedProperties as $propName => $propValue) {
         if (!self::$propertyHolder->isOutputProperty($propName)) {
             continue;
         }
         if (!self::$propertyHolder->isLiteModeProperty($propName)) {
             continue;
         }
         $propName = strtolower($propName);
         self::assertArrayHasKey($propName, $actualProps, 'Actual properties did not have "' . $propName . '" property');
         self::assertSame($propValue, $actualProps[$propName], 'Expected actual "' . $propName . '" to be "' . $propValue . '" (was "' . $actualProps[$propName] . '"; used pattern: ' . $actualProps['browser_name_pattern'] . ')');
     }
 }
use BrowscapPHP\Helper\IniLoader;
use WurflCache\Adapter\File;
/*
 * Browscap cache init
 */
include 'bootstrap.php';
/*
 * Full
 */
echo '.';
$cache = new File([File::DIR => '../myCache/.tmp/browscap/full']);
$bc = new Browscap();
$bc->setCache($cache);
$bc->convertFile('data/full_php_browscap.ini');
/*
 * Lite
 */
echo '.';
$cache = new File([File::DIR => '../myCache/.tmp/browscap/lite']);
$bc = new Browscap();
$bc->setCache($cache);
$bc->convertFile('data/lite_php_browscap.ini');
/*
 * PHP
 */
echo '.';
$cache = new File([File::DIR => '../myCache/.tmp/browscap/php']);
$bc = new Browscap();
$bc->setCache($cache);
$bc->convertFile('data/php_browscap.ini');
Example #3
0
 /**
  * Generate a build for build number specified
  *
  * @param string                   $buildNumber
  * @param \Composer\IO\IOInterface $io
  * @param bool                     $debug
  */
 public static function createBuild($buildNumber, IOInterface $io = null, $debug = false)
 {
     $buildFolder = 'build/build-' . $buildNumber . '/';
     $resourceFolder = 'vendor/browscap/browscap/resources/';
     if (!file_exists($buildFolder)) {
         if ($io) {
             $io->write('  - Creating build folder');
         }
         mkdir($buildFolder, 0775, true);
     }
     // Create a logger
     if ($io) {
         $io->write('  - Setting up logging');
     }
     $loggerHelper = new LoggerHelper();
     $logger = $loggerHelper->create($debug);
     $collectionCreator = new CollectionCreator();
     if ($io) {
         $io->write('  - Creating writer collection');
     }
     $writerCollectionFactory = new FullCollectionFactory();
     $writerCollection = $writerCollectionFactory->createCollection($logger, $buildFolder);
     // Generate the actual browscap.ini files
     if ($io) {
         $io->write('  - Creating actual build');
     }
     $buildGenerator = new BuildGenerator($resourceFolder, $buildFolder);
     $buildGenerator->setLogger($logger);
     $buildGenerator->setCollectionCreator($collectionCreator);
     $buildGenerator->setWriterCollection($writerCollection);
     $buildGenerator->run($buildNumber, false);
     if ($io) {
         $io->write('  - Creating cache');
     }
     $iniFile = $buildFolder . 'full_php_browscap.ini';
     $cache = new File(array(File::DIR => 'cache/'));
     $browscap = new Browscap();
     $browscap->setCache($cache)->setLogger($logger);
     $browscap->convertFile($iniFile);
 }
Example #4
0
    /**
     *
     */
    public function testConvertFile()
    {
        $content = ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Browscap Version

[GJK_Browscap_Version]
Version=5031
Released=Mon, 30 Jun 2014 17:55:58 +0200
Format=ASP
Type=

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DefaultProperties

[DefaultProperties]

Comment=DefaultProperties
Browser=DefaultProperties
Version=0.0
MajorVer=0
MinorVer=0
Platform=unknown
Platform_Version=unknown
Alpha=false
Beta=false
Win16=false
Win32=false
Win64=false
Frames=false
IFrames=false
Tables=false
Cookies=false
BackgroundSounds=false
JavaScript=false
VBScript=false
JavaApplets=false
ActiveXControls=false
isMobileDevice=false
isTablet=false
isSyndicationReader=false
Crawler=false
CssVersion=0
AolVersion=0

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Ask

[Ask]

Parent=DefaultProperties
Comment=Ask
Browser=Ask
Frames=1
IFrames=1
Tables=1
Crawler=1
Version=0.0
MajorVer=0
MinorVer=0
Platform=unknown
Platform_Version=unknown
Alpha=
Beta=
Win16=
Win32=
Win64=
Cookies=
BackgroundSounds=
JavaScript=
VBScript=
JavaApplets=
ActiveXControls=
isMobileDevice=
isTablet=
isSyndicationReader=
CssVersion=0
AolVersion=0

[Mozilla/?.0 (compatible; Ask Jeeves/Teoma*)]

Parent=Ask
Browser=Teoma
Comment=Ask
Version=0.0
MajorVer=0
MinorVer=0
Platform=unknown
Platform_Version=unknown
Alpha=
Beta=
Win16=
Win32=
Win64=
Frames=1
IFrames=1
Tables=1
Cookies=
BackgroundSounds=
JavaScript=
VBScript=
JavaApplets=
ActiveXControls=
isMobileDevice=
isTablet=
isSyndicationReader=
Crawler=1
CssVersion=0
AolVersion=0
';
        $structure = array('test.ini' => $content);
        vfsStream::setup(self::STORAGE_DIR, null, $structure);
        $cache = $this->getMock('\\WurflCache\\Adapter\\Memory', array(), array(), '', false);
        $this->object->setCache($cache);
        self::assertNull($this->object->convertFile(vfsStream::url(self::STORAGE_DIR . DIRECTORY_SEPARATOR . 'test.ini')));
    }