1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
<?php
declare(strict_types=1);
use DeviceDetector\DeviceDetector;
use DeviceDetector\Parser\AbstractParser;
include __DIR__ . '/../vendor/autoload.php';
AbstractParser::setVersionTruncation(AbstractParser::VERSION_TRUNCATION_NONE);
$fixtureFiles = array_merge(
glob(__DIR__ . '/../Tests/fixtures/*.yml'),
glob(__DIR__ . '/../Tests/Parser/Client/fixtures/*.yml'),
glob(__DIR__ . '/../Tests/Parser/Device/fixtures/*.yml'),
glob(__DIR__ . '/../Tests/Parser/fixtures/oss.yml')
);
$overwrite = !empty($argv[1]) && '--f' === $argv[1];
foreach ($fixtureFiles as $file) {
$fileFixtures = Spyc::YAMLLoad(file_get_contents($file));
$data = [];
foreach ($fileFixtures as $i => $fixture) {
$keys = array_flip(array_keys($fixture));
if ($overwrite) {
$fixture = DeviceDetector::getInfoFromUserAgent($fixture['user_agent']);
}
$data[$i] = array_intersect_key($fixture, $keys);
}
$content = Spyc::YAMLDump($data, 2, 0);
$content = str_replace(": ON\n", ": 'ON'\n", $content);
$content = str_replace(": NO\n", ": 'NO'\n", $content);
file_put_contents($file, $content);
shell_exec("sed -i -e 's/version: \\([^\"].*\\)/version: \"\\1\"/g' " . $file);
}
echo "done.\n";
|