diff --git a/src/Common/Model/Address.php b/src/Common/Model/Address.php index 665b4dff4..126b0352f 100644 --- a/src/Common/Model/Address.php +++ b/src/Common/Model/Address.php @@ -193,6 +193,7 @@ public function toArray() $adminLevels[$adminLevel->getLevel()] = [ 'name' => $adminLevel->getName(), 'code' => $adminLevel->getCode(), + 'level' => $adminLevel->getLevel(), ]; } diff --git a/src/Common/Tests/Model/AddressTest.php b/src/Common/Tests/Model/AddressTest.php index 0c3519931..9863e3466 100644 --- a/src/Common/Tests/Model/AddressTest.php +++ b/src/Common/Tests/Model/AddressTest.php @@ -11,7 +11,11 @@ namespace Geocoder\Tests\Model; use Geocoder\Model\Address; +use Geocoder\Model\LocationFactory; +/** + * @author Antoine Lemaire + */ class AddressTest extends \PHPUnit_Framework_TestCase { public function testDumpEmptyAddress() @@ -39,4 +43,31 @@ public function testDumpEmptyAddress() $address = new Address(); $this->assertEquals($address->toArray(), $expected); } + + public function testToArray() + { + $data = [ + 'latitude' => 48.8631507, + 'longitude' => 2.3889114, + 'bounds' => [ + 'south' => 48.8631507, + 'west' => 2.3889114, + 'north' => 48.8631507, + 'east' => 2.388911, + ], + 'streetNumber' => '10', + 'streetName' => 'Avenue Gambetta', + 'postalCode' => '75020', + 'locality' => 'Paris', + 'subLocality' => '20e Arrondissement', + 'adminLevels' => [1 => ['name' => 'Ile-de-France', 'code' => 'Ile-de-France', 'level' => 1]], + 'country' => 'France', + 'countryCode' => 'FR', + 'timezone' => null, + ]; + + $address = LocationFactory::createLocation($data); + + $this->assertSame($data, $address->toArray()); + } }