ObjectTest.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <?php
  2. /**
  3. * @package Zend_Pdf
  4. * @subpackage UnitTests
  5. */
  6. /** Zend_Pdf_Element_Object */
  7. require_once 'Zend/Pdf/Element/Object.php';
  8. /** Zend_Pdf_Element_Numeric */
  9. require_once 'Zend/Pdf/Element/Numeric.php';
  10. /** PHPUnit Test Case */
  11. require_once 'PHPUnit/Framework/TestCase.php';
  12. /**
  13. * @package Zend_Pdf
  14. * @subpackage UnitTests
  15. */
  16. class Zend_Pdf_Element_ObjectTest extends PHPUnit_Framework_TestCase
  17. {
  18. public function testPDFObject()
  19. {
  20. $intObj = new Zend_Pdf_Element_Numeric(100);
  21. $obj = new Zend_Pdf_Element_Object($intObj, 1, 0, new Zend_Pdf_ElementFactory(1));
  22. $this->assertTrue($obj instanceof Zend_Pdf_Element_Object);
  23. }
  24. public function testPDFObjectBadObjectType1()
  25. {
  26. $intObj = new Zend_Pdf_Element_Numeric(100);
  27. $obj1 = new Zend_Pdf_Element_Object($intObj, 1, 0, new Zend_Pdf_ElementFactory(1));
  28. try {
  29. $obj2 = new Zend_Pdf_Element_Object($obj1, 1, 0, new Zend_Pdf_ElementFactory(1));
  30. } catch (Zend_Pdf_Exception $e) {
  31. $this->assertRegExp('/must not be an instance of Zend_Pdf_Element_Object/i', $e->getMessage());
  32. return;
  33. }
  34. $this->fail('Expected Zend_Pdf_Exception to be thrown');
  35. }
  36. public function testPDFObjectBadGenNumber1()
  37. {
  38. try {
  39. $intObj = new Zend_Pdf_Element_Numeric(100);
  40. $obj = new Zend_Pdf_Element_Object($intObj, 1, -1, new Zend_Pdf_ElementFactory(1));
  41. } catch (Zend_Pdf_Exception $e) {
  42. $this->assertRegExp('/non-negative integer/i', $e->getMessage());
  43. return;
  44. }
  45. $this->fail('Expected Zend_Pdf_Exception to be thrown');
  46. }
  47. public function testPDFObjectBadGenNumber2()
  48. {
  49. try {
  50. $intObj = new Zend_Pdf_Element_Numeric(100);
  51. $obj = new Zend_Pdf_Element_Object($intObj, 1, 1.2, new Zend_Pdf_ElementFactory(1));
  52. } catch (Zend_Pdf_Exception $e) {
  53. $this->assertRegExp('/non-negative integer/i', $e->getMessage());
  54. return;
  55. }
  56. $this->fail('Expected Zend_Pdf_Exception to be thrown');
  57. }
  58. public function testPDFObjectBadObjectNumber1()
  59. {
  60. try {
  61. $intObj = new Zend_Pdf_Element_Numeric(100);
  62. $obj = new Zend_Pdf_Element_Object($intObj, 0, 0, new Zend_Pdf_ElementFactory(1));
  63. } catch (Zend_Pdf_Exception $e) {
  64. $this->assertRegExp('/positive integer/i', $e->getMessage());
  65. return;
  66. }
  67. $this->fail('Expected Zend_Pdf_Exception to be thrown');
  68. }
  69. public function testPDFObjectBadObjectNumber2()
  70. {
  71. try {
  72. $intObj = new Zend_Pdf_Element_Numeric(100);
  73. $obj = new Zend_Pdf_Element_Object($intObj, -1, 0, new Zend_Pdf_ElementFactory(1));
  74. } catch (Zend_Pdf_Exception $e) {
  75. $this->assertRegExp('/positive integer/i', $e->getMessage());
  76. return;
  77. }
  78. $this->fail('Expected Zend_Pdf_Exception to be thrown');
  79. }
  80. public function testPDFObjectBadObjectNumber3()
  81. {
  82. try {
  83. $intObj = new Zend_Pdf_Element_Numeric(100);
  84. $obj = new Zend_Pdf_Element_Object($intObj, 1.2, 0, new Zend_Pdf_ElementFactory(1));
  85. } catch (Zend_Pdf_Exception $e) {
  86. $this->assertRegExp('/positive integer/i', $e->getMessage());
  87. return;
  88. }
  89. $this->fail('Expected Zend_Pdf_Exception to be thrown');
  90. }
  91. public function testGetType()
  92. {
  93. $intObj = new Zend_Pdf_Element_Numeric(100);
  94. $obj = new Zend_Pdf_Element_Object($intObj, 1, 0, new Zend_Pdf_ElementFactory(1));
  95. $this->assertEquals($obj->getType(), $intObj->getType());
  96. }
  97. public function testToString()
  98. {
  99. $intObj = new Zend_Pdf_Element_Numeric(100);
  100. $obj = new Zend_Pdf_Element_Object($intObj, 55, 3, new Zend_Pdf_ElementFactory(1));
  101. $this->assertEquals($obj->toString(), '55 3 R');
  102. }
  103. public function testDump()
  104. {
  105. $factory = new Zend_Pdf_ElementFactory(1);
  106. $intObj = new Zend_Pdf_Element_Numeric(100);
  107. $obj = new Zend_Pdf_Element_Object($intObj, 55, 3, $factory);
  108. $this->assertEquals($obj->dump($factory), "55 3 obj \n100\nendobj\n");
  109. }
  110. }