|
|
@@ -22,6 +22,46 @@ class QRMatrixTest extends QRTestAbstract{
|
|
|
|
|
|
protected $version = 7;
|
|
|
|
|
|
+ /**
|
|
|
+ * @link http://www.thonky.com/qr-code-tutorial/format-version-tables
|
|
|
+ */
|
|
|
+ const VERSION_REF = [
|
|
|
+ 7 => '000111110010010100',
|
|
|
+ 8 => '001000010110111100',
|
|
|
+ 9 => '001001101010011001',
|
|
|
+ 10 => '001010010011010011',
|
|
|
+ 11 => '001011101111110110',
|
|
|
+ 12 => '001100011101100010',
|
|
|
+ 13 => '001101100001000111',
|
|
|
+ 14 => '001110011000001101',
|
|
|
+ 15 => '001111100100101000',
|
|
|
+ 16 => '010000101101111000',
|
|
|
+ 17 => '010001010001011101',
|
|
|
+ 18 => '010010101000010111',
|
|
|
+ 19 => '010011010100110010',
|
|
|
+ 20 => '010100100110100110',
|
|
|
+ 21 => '010101011010000011',
|
|
|
+ 22 => '010110100011001001',
|
|
|
+ 23 => '010111011111101100',
|
|
|
+ 24 => '011000111011000100',
|
|
|
+ 25 => '011001000111100001',
|
|
|
+ 26 => '011010111110101011',
|
|
|
+ 27 => '011011000010001110',
|
|
|
+ 28 => '011100110000011010',
|
|
|
+ 29 => '011101001100111111',
|
|
|
+ 30 => '011110110101110101',
|
|
|
+ 31 => '011111001001010000',
|
|
|
+ 32 => '100000100111010101',
|
|
|
+ 33 => '100001011011110000',
|
|
|
+ 34 => '100010100010111010',
|
|
|
+ 35 => '100011011110011111',
|
|
|
+ 36 => '100100101100001011',
|
|
|
+ 37 => '100101010000101110',
|
|
|
+ 38 => '100110101001100100',
|
|
|
+ 39 => '100111010101000001',
|
|
|
+ 40 => '101000110001101001'
|
|
|
+ ];
|
|
|
+
|
|
|
/**
|
|
|
* @var \chillerlan\QRCode\Data\QRMatrix
|
|
|
*/
|
|
|
@@ -61,6 +101,15 @@ class QRMatrixTest extends QRTestAbstract{
|
|
|
$this->assertSame($this->version, $this->matrix->version());
|
|
|
}
|
|
|
|
|
|
+ public function testVersionPattern() {
|
|
|
+ foreach (self::VERSION_REF as $version => $mask) {
|
|
|
+ $hexRef = base_convert(self::VERSION_REF[$version],2 ,16);
|
|
|
+ $hexImpl = dechex(QRMatrix::versionPattern[$version]);
|
|
|
+
|
|
|
+ $this->assertEquals($hexRef, $hexImpl);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public function testECC(){
|
|
|
$this->assertSame(QRCode::ECC_L, $this->matrix->eccLevel());
|
|
|
}
|