BarcodeTest.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. class BarcodeTest extends PHPUnit_Framework_TestCase
  3. {
  4. /**
  5. * @test
  6. */
  7. public function png_barcode_generator_can_generate_code_128_barcode()
  8. {
  9. $generator = new Picqer\Barcode\BarcodeGeneratorPNG();
  10. $generated = $generator->getBarcode('081231723897', $generator::TYPE_CODE_128);
  11. $this->assertEquals('PNG', substr($generated, 1, 3));
  12. }
  13. /**
  14. * @test
  15. */
  16. public function svg_barcode_generator_can_generate_ean_13_barcode()
  17. {
  18. $generator = new Picqer\Barcode\BarcodeGeneratorSVG();
  19. $generated = $generator->getBarcode('081231723897', $generator::TYPE_EAN_13);
  20. $this->assertStringEqualsFile('tests/verified-files/081231723897-ean13.svg', $generated);
  21. }
  22. /**
  23. * @test
  24. */
  25. public function html_barcode_generator_can_generate_code_128_barcode()
  26. {
  27. $generator = new Picqer\Barcode\BarcodeGeneratorHTML();
  28. $generated = $generator->getBarcode('081231723897', $generator::TYPE_CODE_128);
  29. $this->assertStringEqualsFile('tests/verified-files/081231723897-code128.html', $generated);
  30. }
  31. /**
  32. * @test
  33. */
  34. public function jpg_barcode_generator_can_generate_code_128_barcode()
  35. {
  36. $generator = new Picqer\Barcode\BarcodeGeneratorJPG();
  37. $generator->getBarcode('081231723897', $generator::TYPE_CODE_128);
  38. }
  39. /**
  40. * @test
  41. * @expectedException \Picqer\Barcode\Exceptions\InvalidCharacterException
  42. */
  43. public function ean13_generator_throws_exception_if_invalid_chars_are_used()
  44. {
  45. $generator = new Picqer\Barcode\BarcodeGeneratorSVG();
  46. $generator->getBarcode('A123', $generator::TYPE_EAN_13);
  47. }
  48. /**
  49. * @test
  50. */
  51. public function ean13_generator_accepting_13_chars()
  52. {
  53. $generator = new Picqer\Barcode\BarcodeGeneratorSVG();
  54. $generated = $generator->getBarcode('0049000004632', $generator::TYPE_EAN_13);
  55. $this->assertStringEqualsFile('tests/verified-files/0049000004632-ean13.svg', $generated);
  56. }
  57. /**
  58. * @test
  59. */
  60. public function ean13_generator_accepting_12_chars_and_generates_13th_check_digit()
  61. {
  62. $generator = new Picqer\Barcode\BarcodeGeneratorSVG();
  63. $generated = $generator->getBarcode('004900000463', $generator::TYPE_EAN_13);
  64. $this->assertStringEqualsFile('tests/verified-files/0049000004632-ean13.svg', $generated);
  65. }
  66. /**
  67. * @test
  68. */
  69. public function ean13_generator_accepting_11_chars_and_generates_13th_check_digit_and_adds_leading_zero()
  70. {
  71. $generator = new Picqer\Barcode\BarcodeGeneratorSVG();
  72. $generated = $generator->getBarcode('04900000463', $generator::TYPE_EAN_13);
  73. $this->assertStringEqualsFile('tests/verified-files/0049000004632-ean13.svg', $generated);
  74. }
  75. /**
  76. * @test
  77. * @expectedException \Picqer\Barcode\Exceptions\InvalidCheckDigitException
  78. */
  79. public function ean13_generator_throws_exception_when_wrong_check_digit_is_given()
  80. {
  81. $generator = new Picqer\Barcode\BarcodeGeneratorSVG();
  82. $generator->getBarcode('0049000004633', $generator::TYPE_EAN_13);
  83. }
  84. /**
  85. * @test
  86. * @expectedException \Picqer\Barcode\Exceptions\UnknownTypeException
  87. */
  88. public function generator_throws_unknown_type_exceptions()
  89. {
  90. $generator = new Picqer\Barcode\BarcodeGeneratorSVG();
  91. $generator->getBarcode('0049000004633', 'vladimir');
  92. }
  93. }