public function ReaderTest::testDecoder in Smart IP 7.2
Same name and namespace in other branches
- 6.2 includes/vendor/maxmind-db/reader/tests/MaxMind/Db/Test/ReaderTest.php \MaxMind\Db\Test\Reader\ReaderTest::testDecoder()
File
- includes/
vendor/ maxmind-db/ reader/ tests/ MaxMind/ Db/ Test/ ReaderTest.php, line 28
Class
Namespace
MaxMind\Db\Test\ReaderCode
public function testDecoder() {
$reader = new Reader('tests/data/test-data/MaxMind-DB-test-decoder.mmdb');
$record = $reader
->get('::1.1.1.0');
$this
->assertEquals(true, $record['boolean']);
$this
->assertEquals(pack('N', 42), $record['bytes']);
$this
->assertEquals('unicode! ☯ - ♫', $record['utf8_string']);
$this
->assertEquals(array(
1,
2,
3,
), $record['array']);
$this
->assertEquals(array(
'mapX' => array(
'arrayX' => array(
7,
8,
9,
),
'utf8_stringX' => 'hello',
),
), $record['map']);
$this
->assertEquals(42.123456, $record['double']);
$this
->assertEquals(1.1, $record['float'], 'float', 1.0E-6);
$this
->assertEquals(-268435456, $record['int32']);
$this
->assertEquals(100, $record['uint16']);
$this
->assertEquals(268435456, $record['uint32']);
$this
->assertEquals('1152921504606846976', $record['uint64']);
$uint128 = $record['uint128'];
// For the C extension, which returns a hexadecimal
if (extension_loaded('gmp')) {
$uint128 = gmp_strval($uint128);
}
else {
$this
->markTestIncomplete('Requires gmp extension to check value of uint128');
}
$this
->assertEquals('1329227995784915872903807060280344576', $uint128);
}