| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /*
- * Copyright 2017 Huy Cuong Nguyen
- * Copyright 2008 ZXing authors
- */
- // SPDX-License-Identifier: Apache-2.0
- #include "BitMatrix.h"
- #include "BitMatrixIO.h"
- #include "ByteArray.h"
- #include "qrcode/QRBitMatrixParser.h"
- #include "qrcode/QRFormatInformation.h"
- #include "qrcode/QRVersion.h"
- #include "gtest/gtest.h"
- using namespace ZXing;
- using namespace ZXing::QRCode;
- TEST(QRBitMatrixParserTest, MQRCodeM3L)
- {
- const auto bitMatrix = ParseBitMatrix("XXXXXXX X X X X\n"
- "X X X X \n"
- "X XXX X XXXXXXX\n"
- "X XXX X X X XX\n"
- "X XXX X X XX\n"
- "X X X X X X\n"
- "XXXXXXX X XX \n"
- " X X X\n"
- "XXXXXX X X X\n"
- " X XX XXX\n"
- "XXX XX XXXX XXX\n"
- " X X XXX X \n"
- "X XXXXX XXX X X\n"
- " X X X XXX \n"
- "XXX XX X X XXXX\n",
- 88, false);
- const auto format = ReadFormatInformation(bitMatrix);
- const auto version = ReadVersion(bitMatrix, format.type());
- EXPECT_EQ(3, version->versionNumber());
- const auto codewords = ReadCodewords(bitMatrix, *version, format);
- EXPECT_EQ(17, codewords.size());
- EXPECT_EQ(0x0, codewords[10]);
- EXPECT_EQ(0xd1, codewords[11]);
- }
- TEST(QRBitMatrixParserTest, MQRCodeM3M)
- {
- const auto bitMatrix = ParseBitMatrix("XXXXXXX X X X X\n"
- "X X XX\n"
- "X XXX X X XX XX\n"
- "X XXX X X X \n"
- "X XXX X XX XXXX\n"
- "X X XX \n"
- "XXXXXXX X XXXX\n"
- " X XXX \n"
- "X XX XX X X\n"
- " X X XX \n"
- "XX XX XXXXXXX\n"
- " X X X\n"
- "XX X X X \n"
- " X X X \n"
- "X X XXXX XXX\n",
- 88, false);
- const auto format = ReadFormatInformation(bitMatrix);
- const auto version = ReadVersion(bitMatrix, format.type());
- EXPECT_EQ(3, version->versionNumber());
- const auto codewords = ReadCodewords(bitMatrix, *version, format);
- EXPECT_EQ(17, codewords.size());
- EXPECT_EQ(0x0, codewords[8]);
- EXPECT_EQ(0x89, codewords[9]);
- }
|