Skip to content

Commit 4992416

Browse files
committed
Extra checks for EAN-13 length #1
1 parent b581607 commit 4992416

File tree

4 files changed

+85
-3
lines changed

4 files changed

+85
-3
lines changed

Readme.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
# PHP Barcode Generator
1+
# PHP Barcode Generator [![Build Status](https://travis-ci.org/picqer/php-barcode-generator.svg?branch=master)](https://travis-ci.org/picqer/php-barcode-generator) [![Total Downloads](https://poser.pugx.org/picqer/php-barcode-generator/downloads)](https://packagist.org/packages/picqer/php-barcode-generator)
22
This is an easy to use, non-bloated, framework independent, barcode generator in PHP.
33

4-
[![Build Status](https://travis-ci.org/picqer/php-barcode-generator.svg?branch=master)](https://travis-ci.org/picqer/php-barcode-generator)
5-
64
It creates SVG, PNG, JPG and HTML images, from the most used 1D barcode standards.
75

86
*The codebase is largely from the [TCPDF barcode generator](https://github.com/tecnickcom/TCPDF) by Nicola Asuni. This code is therefor licensed under LGPLv3. It is still a bit of a mess, bit I will clean it in the future. I do not expect the interface of this class will change during the clean ups.*

generate-verified-files.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,6 @@
1111

1212
$generatorHTML = new Picqer\Barcode\BarcodeGeneratorHTML();
1313
file_put_contents('tests/verified-files/081231723897-code128.html', $generatorHTML->getBarcode('081231723897', $generatorHTML::TYPE_CODE_128));
14+
15+
$generatorSVG = new Picqer\Barcode\BarcodeGeneratorSVG();
16+
file_put_contents('tests/verified-files/0049000004632-ean13.svg', $generatorSVG->getBarcode('0049000004632', $generatorSVG::TYPE_EAN_13));

tests/BarcodeTest.php

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,48 @@ public function ean13_generator_throws_exception_if_invalid_chars_are_used()
5353
$generator = new Picqer\Barcode\BarcodeGeneratorSVG();
5454
$generator->getBarcode('A123', $generator::TYPE_EAN_13);
5555
}
56+
57+
/**
58+
* @test
59+
*/
60+
public function ean13_generator_accepting_13_chars()
61+
{
62+
$generator = new Picqer\Barcode\BarcodeGeneratorSVG();
63+
$generated = $generator->getBarcode('0049000004632', $generator::TYPE_EAN_13);
64+
65+
$this->assertStringEqualsFile('tests/verified-files/0049000004632-ean13.svg', $generated);
66+
}
67+
68+
/**
69+
* @test
70+
*/
71+
public function ean13_generator_accepting_12_chars_and_generates_13th_check_digit()
72+
{
73+
$generator = new Picqer\Barcode\BarcodeGeneratorSVG();
74+
$generated = $generator->getBarcode('004900000463', $generator::TYPE_EAN_13);
75+
76+
$this->assertStringEqualsFile('tests/verified-files/0049000004632-ean13.svg', $generated);
77+
}
78+
79+
/**
80+
* @test
81+
*/
82+
public function ean13_generator_accepting_11_chars_and_generates_13th_check_digit_and_adds_leading_zero()
83+
{
84+
$generator = new Picqer\Barcode\BarcodeGeneratorSVG();
85+
$generated = $generator->getBarcode('04900000463', $generator::TYPE_EAN_13);
86+
87+
$this->assertStringEqualsFile('tests/verified-files/0049000004632-ean13.svg', $generated);
88+
}
89+
90+
91+
/**
92+
* @test
93+
* @expectedException \Picqer\Barcode\Exceptions\InvalidCheckDigitException
94+
*/
95+
public function ean13_generator_throws_exception_when_wrong_check_digit_is_given()
96+
{
97+
$generator = new Picqer\Barcode\BarcodeGeneratorSVG();
98+
$generator->getBarcode('0049000004633', $generator::TYPE_EAN_13);
99+
}
56100
}
Lines changed: 37 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)