mpdf = new mPDF();
}
/**
* Verify what types of variables are accepted to $mpdf->WriteHTML()
*
* @dataProvider providerCastType
*
* @param boolean $exception Whether we expect an exception or not
* @param mixed $html The variable to test
*/
public function testCastType($exception, $html)
{
$thrown = '';
try {
$this->mpdf->WriteHTML($html);
} catch (MpdfException $e) {
$thrown = $e->getMessage();
}
if ($exception) {
$this->assertEquals('WriteHTML() requires $html be an integer, float, string, boolean or an object with the __toString() magic method.', $thrown);
} else {
$this->assertEquals('', $thrown);
}
}
/**
* @return array
*/
public function providerCastType()
{
return array(
array(false, 'This is my string'),
array(false, 20),
array(false, 125.52),
array(false, false),
array(true, array('item', 'item2')),
array(true, new WriteHtmlClass()),
array(false, new WriteHtmlStringClass()),
array(true, null),
array(false, ''),
);
}
}
class WriteHtmlClass
{
}
class WriteHtmlStringClass
{
public function __toString()
{
return 'special';
}
}