Inheritance: extends WhichBrowser\Model\Primitive\NameVersion
Exemple #1
0
 public function testToArray()
 {
     $os = new Os();
     $this->assertEquals([], $os->toArray());
     $os->set(['name' => '']);
     $this->assertEquals([], $os->toArray());
     $os->reset(['name' => 'iOS', 'version' => new Version(['value' => '8.0'])]);
     $this->assertEquals(['name' => 'iOS', 'version' => '8.0'], $os->toArray());
     $os->reset(['name' => 'iOS', 'alias' => 'iPhone OS', 'version' => new Version(['value' => '3.0'])]);
     $this->assertEquals(['name' => 'iOS', 'alias' => 'iPhone OS', 'version' => '3.0'], $os->toArray());
     $os->reset(['name' => 'OS X', 'version' => new Version(['value' => '10.11', 'nickname' => 'El Capitan'])]);
     $this->assertEquals(['name' => 'OS X', 'version' => ['value' => '10.11', 'nickname' => 'El Capitan']], $os->toArray());
     $os->reset(['name' => 'Windows', 'version' => new Version(['value' => '5.1', 'alias' => 'XP'])]);
     $this->assertEquals(['name' => 'Windows', 'version' => ['value' => '5.1', 'alias' => 'XP']], $os->toArray());
     $os->reset(['name' => 'Windows Phone', 'alias' => 'Windows', 'edition' => 'Mobile', 'version' => new Version(['value' => '10.0', 'alias' => '10'])]);
     $this->assertEquals(['name' => 'Windows Phone', 'alias' => 'Windows', 'edition' => 'Mobile', 'version' => ['value' => '10.0', 'alias' => '10']], $os->toArray());
     $os->reset(['name' => 'FireOS', 'family' => new Family(['name' => 'Android'])]);
     $this->assertEquals(['name' => 'FireOS', 'family' => 'Android'], $os->toArray());
 }
Exemple #2
0
 /**
  * Get an array of all defined properties
  *
  * @return array
  */
 public function toArray()
 {
     $result = ['browser' => $this->browser->toArray(), 'engine' => $this->engine->toArray(), 'os' => $this->os->toArray(), 'device' => $this->device->toArray()];
     if (!count($result['browser'])) {
         unset($result['browser']);
     }
     if (!count($result['engine'])) {
         unset($result['engine']);
     }
     if (!count($result['os'])) {
         unset($result['os']);
     }
     if (!count($result['device'])) {
         unset($result['device']);
     }
     if ($this->camouflage) {
         $result['camouflage'] = true;
     }
     return $result;
 }
 /**
  *
  * @param Model\OperatingSystem  $os
  * @param \WhichBrowser\Model\Os $osRaw
  */
 private function hydrateOperatingSystem(Model\OperatingSystem $os, \WhichBrowser\Model\Os $osRaw)
 {
     $os->setName($this->getRealResult($osRaw->getName()));
     $os->getVersion()->setComplete($this->getRealResult($osRaw->getVersion()));
 }