public function testIdentifyVersion() { $browser = new Browser(); $browser->identifyVersion('/Chrome\\/([0-9\\.]+)/u', 'Chrome/47.0.2526.73', ['details' => 1]); $this->assertEquals('47', $browser->getVersion()); $browser->reset(); $browser->identifyVersion('/Mozilla\\/([0-9\\.]+)/u', 'Mozilla/2.03', ['type' => 'legacy']); $this->assertEquals('2.0.3', $browser->getVersion()); $browser->reset(); $browser->identifyVersion('/Safari\\/([0-9\\.]+)/u', 'Chrome\\/47.0.2526.73'); $this->assertEquals('', $browser->getVersion()); }
/** * * @param Model\Browser $browser * @param \WhichBrowser\Model\Browser $browserRaw */ private function hydrateBrowser(Model\Browser $browser, \WhichBrowser\Model\Browser $browserRaw) { if ($this->isRealResult($browserRaw->getName(), 'browser', 'name') === true) { $browser->setName($browserRaw->getName()); $browser->getVersion()->setComplete($this->getRealResult($browserRaw->getVersion())); return; } if (isset($browserRaw->using) && $browserRaw->using instanceof \WhichBrowser\Model\Using) { /* @var $usingRaw \WhichBrowser\Model\Using */ $usingRaw = $browserRaw->using; if ($this->isRealResult($usingRaw->getName()) === true) { $browser->setName($usingRaw->getName()); $browser->getVersion()->setComplete($this->getRealResult($usingRaw->getVersion())); } } }