/** * test for CheckGd2 * * @return void */ public function testCheckGd2() { $prevIsGb2Val = $this->object->get('PMA_IS_GD2'); $this->object->set('GD2Available', 'yes'); $this->object->checkGd2(); $this->assertEquals(1, $this->object->get('PMA_IS_GD2')); $this->object->set('GD2Available', 'no'); $this->object->checkGd2(); $this->assertEquals(0, $this->object->get('PMA_IS_GD2')); $this->object->set('GD2Available', $prevIsGb2Val); if (!@function_exists('imagecreatetruecolor')) { $this->object->checkGd2(); $this->assertEquals(0, $this->object->get('PMA_IS_GD2'), 'imagecreatetruecolor does not exist, PMA_IS_GD2 should be 0'); } if (@function_exists('gd_info')) { $this->object->checkGd2(); $gd_nfo = gd_info(); if (mb_strstr($gd_nfo["GD Version"], '2.')) { $this->assertEquals(1, $this->object->get('PMA_IS_GD2'), 'GD Version >= 2, PMA_IS_GD2 should be 1'); } else { $this->assertEquals(0, $this->object->get('PMA_IS_GD2'), 'GD Version < 2, PMA_IS_GD2 should be 0'); } } /* Get GD version string from phpinfo output */ ob_start(); phpinfo(INFO_MODULES); /* Only modules */ $a = strip_tags(ob_get_contents()); ob_end_clean(); if (preg_match('@GD Version[[:space:]]*\\(.*\\)@', $a, $v)) { if (mb_strstr($v, '2.')) { $this->assertEquals(1, $this->object->get('PMA_IS_GD2'), 'PMA_IS_GD2 should be 1'); } else { $this->assertEquals(0, $this->object->get('PMA_IS_GD2'), 'PMA_IS_GD2 should be 0'); } } }