示例#1
0
 /**
  * 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');
         }
     }
 }