Hi,


On Tue, Jun 3, 2014 at 12:15 PM, Dhananjay Nakrani <dhananjaynakrani@gmail.com> wrote:
Hello everyone,

I'm trying to fix the failing tests for the code I developed. I need a little help from the community in it.

I am providing appropriate new data in the data provider in 'PMA_Error_Handler_Test::providerForTestHandleError()' [0]. That data contains a string with empty single quotes ('') in it (see, Line#98 [1] ). So, I escaped it with backslash (\) and passed it as (\'\'). But that gives a very weird behavior. See Line#342  [2] of the log where it starts repeating the string again in itself. It seems to be going in recursion somewhere. 

Am I doing anything wrong Or is it just a bug in PHPUnit? 
Is there anyway I can fix this??




Thanks,
Dhananjay Nakrani.


I don't think its a bug in PHPUnit. Its happening because of backtrace information part in error handler due to which whatever parameters you are passing to testGetDispErrorsForDisplayFalse() will reappear in $output in backtrace section. Moreover, the parameters will be converted using htmlspecialchars(). As the 6th parameter ($output_hide) of the function contains html tags it will get converted by htmlspecialchars and then added to the $output (this is the thing that appears at L342 of [2] you mentioned before). So, you have to change your 6th parameter of data set #0 so that it does not contain html tags. Note that you cannot even replace your parameter with htmlspecialchars() equivalent string like string containing &lt; or &gt; because each '&' of that string will again be replaced by &amp; again and again. Hence, change your test data accordingly.

--
Regards,
Chirayu Chiripal
phpMyAdmin Intern - Google Summer of Code 2014
https://chirayuchiripal.wordpress.com/