assertNull($pdf->getJavaScript()); } public function testSetAndGetJavasriptArray() { // getting JavaScript after setting it returns array $pdf = new Zend_Pdf(); $pdf->setJavaScript('print();'); $this->assertTrue(is_array($pdf->getJavaScript())); } public function testSetJavaScriptString() { // setting string value is possible $pdf = new Zend_Pdf(); $javaScriptString = 'print();'; $pdf->setJavaScript($javaScriptString); $javaScript = $pdf->getJavaScript(); $this->assertEquals($javaScriptString, $javaScript[0]); } public function testSetJavaScriptArray() { // setting string value is possible $pdf = new Zend_Pdf(); $javaScriptArray = array('print();', 'alert();'); $pdf->setJavaScript($javaScriptArray); $this->assertEquals($javaScriptArray, $pdf->getJavaScript()); } public function testResetJavaScript() { // reset removes the added JavaScript $pdf = new Zend_Pdf(); $pdf->setJavaScript('print();'); $pdf->resetJavaScript(); $this->assertNull($pdf->getJavaScript()); } public function testAddJavaScript() { // adding JavaScript appends previously added JavaScript $pdf = new Zend_Pdf(); $javaScriptArray = array('print();', 'alert();'); $pdf->addJavaScript($javaScriptArray[0]); $pdf->addJavaScript($javaScriptArray[1]); $this->assertEquals($javaScriptArray, $pdf->getJavaScript()); } public function testSetJavaScriptEmptyString() { // setting empty JavaScript string throws exception $pdf = new Zend_Pdf(); try { $pdf->setJavaScript(''); $this->fail('Expected exception when trying to set empty string.'); } catch (Zend_Pdf_Exception $e) { $this->assertContains('JavaScript must be a non empty string or array of strings', $e->getMessage()); } } public function testSetJavaScriptEmptyArray() { // setting empty JavaScript string throws exception $pdf = new Zend_Pdf(); try { $pdf->setJavaScript(array()); $this->fail('Expected exception when trying to set empty array.'); } catch (Zend_Pdf_Exception $e) { $this->assertContains('JavaScript must be a non empty string or array of strings', $e->getMessage()); } } public function testSetAndSaveLoadAndGetJavaScript() { $tempFile = tempnam(sys_get_temp_dir(), 'PdfUnitFile'); $javaScript = array('print();', 'alert();'); $pdf = new Zend_Pdf(); $pdf->setJavaScript($javaScript); $pdf->save($tempFile); unset($pdf); $pdf = Zend_Pdf::load($tempFile); unlink($tempFile); $this->assertEquals($javaScript, $pdf->getJavaScript()); } public function testSetAndSaveLoadAndResetAndSaveLoadAndGetJavaScript() { $tempFile = tempnam(sys_get_temp_dir(), 'PdfUnitFile'); $javaScript = array('print();', 'alert();'); $pdf = new Zend_Pdf(); $pdf->setJavaScript($javaScript); $pdf->save($tempFile); unset($pdf); $pdf = Zend_Pdf::load($tempFile); unlink($tempFile); $pdf->resetJavaScript(); $pdf->save($tempFile); unset($pdf); $pdf = Zend_Pdf::load($tempFile); unlink($tempFile); $this->assertNull($pdf->getJavaScript()); } }