',
$html
);
-
+
$this->assertContains(
$url_query,
$html
);
-
+
$this->assertContains(
PMA_URL_getHiddenInputs($GLOBALS['db'], $GLOBALS['table']),
$html
);
-
+
$item = sprintf(
__('Create version %1$s of %2$s'),
($last_version + 1),
@@ -129,20 +145,20 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
$item,
$html
);
-
+
$item = '
';
$this->assertContains(
$item,
$html
);
-
+
$this->assertContains(
__('Create version'),
$html
);
}
-
+
/**
* Tests for PMA_getHtmlForActivateTracking() method.
*
@@ -159,12 +175,12 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
'
',
$html
);
-
+
$this->assertContains(
$url_query,
$html
);
-
+
$item = sprintf(
__('Activate tracking for %s'),
htmlspecialchars($GLOBALS['db'] . '.' . $GLOBALS['table'])
@@ -173,18 +189,18 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
$item,
$html
);
-
+
$this->assertContains(
$last_version,
$html
);
-
+
$this->assertContains(
__('Activate now'),
$html
);
}
-
+
/**
* Tests for PMA_getHtmlForDeactivateTracking() method.
*
@@ -201,12 +217,12 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
'
',
$html
);
-
+
$this->assertContains(
$url_query,
$html
);
-
+
$item = sprintf(
__('Deactivate tracking for %s'),
htmlspecialchars($GLOBALS['db'] . '.' . $GLOBALS['table'])
@@ -215,18 +231,18 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
$item,
$html
);
-
+
$this->assertContains(
$last_version,
$html
);
-
+
$this->assertContains(
__('Deactivate now'),
$html
);
}
-
+
/**
* Tests for PMA_getTableLastVersionNumber() method.
*
@@ -243,7 +259,23 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
$last_version
);
}
-
+
+ /**
+ * Tests for PMA_getSQLResultForSelectableTables() method.
+ *
+ * @return void
+ * @test
+ */
+ public function testPMAGetSQLResultForSelectableTables()
+ {
+ $ret = PMA_getSQLResultForSelectableTables();
+
+ $this->assertEquals(
+ true,
+ $ret
+ );
+ }
+
/**
* Tests for PMA_getHtmlForColumns() method.
*
@@ -254,27 +286,27 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
{
$columns = array(
array(
- 'Field'=>'Field1',
- 'Type'=>'Type1',
- 'Collation'=>'Collation1',
- "Null"=>'YES',
- 'Extra'=>'Extra1',
+ 'Field'=>'Field1',
+ 'Type'=>'Type1',
+ 'Collation'=>'Collation1',
+ "Null"=>'YES',
+ 'Extra'=>'Extra1',
'Key'=>'PRI',
- 'Comment'=>'Comment1'
+ 'Comment'=>'Comment1'
),
array(
- 'Field'=>'Field2',
- 'Type'=>'Type2',
- 'Collation'=>'Collation2',
- "Null"=>'No',
- 'Extra'=>'Extra2',
+ 'Field'=>'Field2',
+ 'Type'=>'Type2',
+ 'Collation'=>'Collation2',
+ "Null"=>'No',
+ 'Extra'=>'Extra2',
'Key'=>'Key2',
- 'Comment'=>'Comment2'
+ 'Comment'=>'Comment2'
),
);
-
+
$html = PMA_getHtmlForColumns($columns);
-
+
$this->assertContains(
__('Column'),
$html
@@ -295,7 +327,7 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
__('Comment'),
$html
);
-
+
//column1
$item1= $columns[0];
$this->assertContains(
@@ -318,7 +350,7 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
htmlspecialchars($item1['Comment']),
$html
);
-
+
//column2
$item1= $columns[1];
$this->assertContains(
@@ -342,6 +374,353 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
$html
);
}
+
+ /**
+ * Tests for PMA_getListOfVersionsOfTable() method.
+ *
+ * @return void
+ * @test
+ */
+ public function testPMAGetListOfVersionsOfTable()
+ {
+ $ret = PMA_getListOfVersionsOfTable();
+
+ $this->assertEquals(
+ true,
+ $ret
+ );
+ }
+
+ /**
+ * Tests for PMA_getHtmlForTableVersionDetails() method.
+ *
+ * @return void
+ * @test
+ */
+ public function testPMAGetHtmlForTableVersionDetails()
+ {
+ $sql_result = true;
+ $last_version = "10";
+ $url_params = array();
+ $url_query = "select * from PMA";
+
+ $dbi_old = $GLOBALS['dbi'];
+ $dbi = $this->getMockBuilder('PMA_DatabaseInterface')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $fetchArray = array(
+ 'tracking_active' => 1,
+ 'version' => "10",
+ 'db_name' => 'db_name',
+ 'table_name' => 'table_name',
+ 'date_created' => 'date_created',
+ 'date_updated' => 'date_updated'
+ );
+ $dbi->expects($this->at(0))
+ ->method('fetchArray')
+ ->will($this->returnValue($fetchArray));
+ $dbi->expects($this->at(1))
+ ->method('fetchArray')
+ ->will($this->returnValue($fetchArray));
+ $dbi->expects($this->at(2))
+ ->method('fetchArray')
+ ->will($this->returnValue(false));
+
+ $GLOBALS['dbi'] = $dbi;
+
+ $ret = PMA_getHtmlForTableVersionDetails(
+ $sql_result, $last_version, $url_params, $url_query
+ );
+
+ $this->assertContains(
+ __('Database'),
+ $ret
+ );
+ $this->assertContains(
+ __('Table'),
+ $ret
+ );
+ $this->assertContains(
+ __('Version'),
+ $ret
+ );
+ $this->assertContains(
+ __('Created'),
+ $ret
+ );
+ $this->assertContains(
+ __('Updated'),
+ $ret
+ );
+ $this->assertContains(
+ __('Status'),
+ $ret
+ );
+ $this->assertContains(
+ __('Show'),
+ $ret
+ );
+ $this->assertContains(
+ $fetchArray['db_name'],
+ $ret
+ );
+ $this->assertContains(
+ $fetchArray['table_name'],
+ $ret
+ );
+ $this->assertContains(
+ $fetchArray['version'],
+ $ret
+ );
+ $this->assertContains(
+ $fetchArray['date_created'],
+ $ret
+ );
+ $this->assertContains(
+ $fetchArray['date_updated'],
+ $ret
+ );
+ $this->assertContains(
+ __('Tracking report'),
+ $ret
+ );
+ $this->assertContains(
+ __('Structure snapshot'),
+ $ret
+ );
+ $html = sprintf(
+ __('Deactivate tracking for %s'),
+ htmlspecialchars($GLOBALS['db'] . '.' . $GLOBALS['table'])
+ );
+ $this->assertContains(
+ $html,
+ $ret
+ );
+
+ //restore DBI
+ $GLOBALS['dbi'] = $dbi_old;
+ }
+
+ /**
+ * Tests for PMA_getHtmlForSelectableTables() method.
+ *
+ * @return void
+ * @test
+ */
+ public function testPMAGetHtmlForSelectableTables()
+ {
+ $selectable_tables_sql_result = true;
+ $url_query = "select * from PMA";
+
+ $dbi_old = $GLOBALS['dbi'];
+ $dbi = $this->getMockBuilder('PMA_DatabaseInterface')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $fetchArray = array(
+ 'tracking_active' => 1,
+ 'version' => "10",
+ 'db_name' => 'db_name',
+ 'table_name' => 'table_name',
+ 'date_created' => 'date_created',
+ 'date_updated' => 'date_updated'
+ );
+ $dbi->expects($this->at(0))
+ ->method('fetchArray')
+ ->will($this->returnValue($fetchArray));
+ $dbi->expects($this->at(1))
+ ->method('fetchArray')
+ ->will($this->returnValue($fetchArray));
+ $dbi->expects($this->at(2))
+ ->method('fetchArray')
+ ->will($this->returnValue(false));
+
+ $GLOBALS['dbi'] = $dbi;
+
+ $ret = PMA_getHtmlForSelectableTables(
+ $selectable_tables_sql_result, $url_query
+ );
+
+ $this->assertContains(
+ htmlspecialchars($fetchArray['table_name']),
+ $ret
+ );
+ $this->assertContains(
+ htmlspecialchars($fetchArray['db_name']),
+ $ret
+ );
+ $this->assertContains(
+ __('Show versions'),
+ $ret
+ );
+
+ //restore DBI
+ $GLOBALS['dbi'] = $dbi_old;
+ }
+
+ /**
+ * Tests for PMA_getHtmlForTrackingReport() method.
+ *
+ * @return void
+ * @test
+ */
+ public function testPMAGetHtmlForTrackingReportr()
+ {
+ $_REQUEST['version'] = 10;
+ $_REQUEST['date_from'] = "date_from";
+ $_REQUEST['date_to'] = "date_to";
+ $_REQUEST['users'] = "users";
+ $_REQUEST['logtype'] = 'logtype';
+ $url_query = "select * from PMA";
+ $data = array(
+ 'tracking'=>'tracking',
+ 'ddlog' => array('ddlog'),
+ 'dmlog' => array('dmlog')
+ );
+ $url_params = array();
+ $selection_schema = array();
+ $selection_data = array();
+ $selection_both = array();
+ $filter_ts_to = array();
+ $filter_ts_from = array();
+ $filter_users = array();
+
+ $html = PMA_getHtmlForTrackingReport(
+ $url_query, $data, $url_params,
+ $selection_schema, $selection_data,
+ $selection_both, $filter_ts_to,
+ $filter_ts_from, $filter_users
+ );
+
+ $this->assertContains(
+ __('Tracking report'),
+ $html
+ );
+
+ $this->assertContains(
+ $url_query,
+ $html
+ );
+
+ $this->assertContains(
+ __('Tracking statements'),
+ $html
+ );
+
+ $this->assertContains(
+ $data['tracking'],
+ $html
+ );
+
+ $version = '