@@ -41,13 +41,10 @@ public function testThrowIfNotExistBinaryFileGiven()
41
41
new MaxMindBinary ('not_exist.dat ' );
42
42
}
43
43
44
- /**
45
- * @dataProvider provideIps
46
- */
47
- public function testLocationResultContainsExpectedFields ($ ip )
44
+ public function testLocationResultContainsExpectedFieldsForAnAmericanIp ()
48
45
{
49
46
$ provider = new MaxMindBinary ($ this ->binaryFile );
50
- $ results = $ provider ->geocode ($ ip );
47
+ $ results = $ provider ->geocode (' 24.24.24.24 ' );
51
48
52
49
$ this ->assertInternalType ('array ' , $ results );
53
50
$ this ->assertCount (1 , $ results );
@@ -56,20 +53,49 @@ public function testLocationResultContainsExpectedFields($ip)
56
53
$ result = $ results [0 ];
57
54
$ this ->assertInstanceOf ('\Geocoder\Model\Address ' , $ result );
58
55
59
- $ this ->assertNull ( $ result ->getLatitude ());
60
- $ this ->assertNull ( $ result ->getLongitude ());
56
+ $ this ->assertEquals ( ' 43.089200000000005 ' , $ result ->getLatitude (), '' , 0.001 );
57
+ $ this ->assertEquals ( ' -76.025000000000006 ' , $ result ->getLongitude (), '' , 0.001 );
61
58
$ this ->assertFalse ($ result ->getBounds ()->isDefined ());
62
59
$ this ->assertNull ($ result ->getStreetNumber ());
63
60
$ this ->assertNull ($ result ->getStreetName ());
64
61
$ this ->assertNull ($ result ->getPostalCode ());
65
- $ this ->assertNotNull ( $ result ->getLocality ());
62
+ $ this ->assertEquals ( ' East Syracuse ' , $ result ->getLocality ());
66
63
$ this ->assertNull ($ result ->getSubLocality ());
67
64
$ this ->assertNull ($ result ->getCounty ()->getName ());
68
65
$ this ->assertNull ($ result ->getCounty ()->getCode ());
69
- $ this ->assertNull ( $ result ->getRegion ()->getName ());
66
+ $ this ->assertEquals ( ' NY ' , $ result ->getRegion ()->getName ());
70
67
$ this ->assertNull ($ result ->getRegion ()->getCode ());
71
- $ this ->assertNotNull ($ result ->getCountry ()->getName ());
72
- $ this ->assertNull ($ result ->getCountry ()->getCode ());
68
+ $ this ->assertEquals ('United States ' , $ result ->getCountry ()->getName ());
69
+ $ this ->assertEquals ('US ' , $ result ->getCountry ()->getCode ());
70
+ $ this ->assertNull ($ result ->getTimezone ());
71
+ }
72
+
73
+ public function testLocationResultContainsExpectedFieldsForASpanishIp ()
74
+ {
75
+ $ provider = new MaxMindBinary ($ this ->binaryFile );
76
+ $ results = $ provider ->geocode ('80.24.24.24 ' );
77
+
78
+ $ this ->assertInternalType ('array ' , $ results );
79
+ $ this ->assertCount (1 , $ results );
80
+
81
+ /** @var \Geocoder\Model\Address $result */
82
+ $ result = $ results [0 ];
83
+ $ this ->assertInstanceOf ('\Geocoder\Model\Address ' , $ result );
84
+
85
+ $ this ->assertEquals ('41.543299999999988 ' , $ result ->getLatitude (), '' , 0.001 );
86
+ $ this ->assertEquals ('2.1093999999999937 ' , $ result ->getLongitude (), '' , 0.001 );
87
+ $ this ->assertFalse ($ result ->getBounds ()->isDefined ());
88
+ $ this ->assertNull ($ result ->getStreetNumber ());
89
+ $ this ->assertNull ($ result ->getStreetName ());
90
+ $ this ->assertNull ($ result ->getPostalCode ());
91
+ $ this ->assertEquals ('Sabadell ' , $ result ->getLocality ());
92
+ $ this ->assertNull ($ result ->getSubLocality ());
93
+ $ this ->assertNull ($ result ->getCounty ()->getName ());
94
+ $ this ->assertNull ($ result ->getCounty ()->getCode ());
95
+ $ this ->assertEquals ('56 ' , $ result ->getRegion ()->getName ());
96
+ $ this ->assertNull ($ result ->getRegion ()->getCode ());
97
+ $ this ->assertEquals ('Spain ' , $ result ->getCountry ()->getName ());
98
+ $ this ->assertEquals ('ES ' , $ result ->getCountry ()->getCode ());
73
99
$ this ->assertNull ($ result ->getTimezone ());
74
100
}
75
101
@@ -122,7 +148,18 @@ public function testThrowIfIpAddressCouldNotBeLocated()
122
148
123
149
/**
124
150
* @expectedException \Geocoder\Exception\UnsupportedOperation
125
- * @expectedExceptionMessage The MaxMindBinary does not support street addresses.
151
+ * @expectedExceptionMessage The MaxMindBinary provider does not support IPv6 addresses.
152
+ */
153
+ public function testThrowIfIpAddressIsNotIpV4 ()
154
+ {
155
+ $ provider = new MaxMindBinary ($ this ->binaryFile );
156
+
157
+ $ provider ->geocode ('2002:5018:1818:0:0:0:0:0 ' );
158
+ }
159
+
160
+ /**
161
+ * @expectedException \Geocoder\Exception\UnsupportedOperation
162
+ * @expectedExceptionMessage The MaxMindBinary provider does not support street addresses.
126
163
*/
127
164
public function testThrowIfInvalidIpAddressGiven ()
128
165
{
0 commit comments