diff options
Diffstat (limited to 'vendor/github.com/skip2/go-qrcode/version_test.go')
| -rw-r--r-- | vendor/github.com/skip2/go-qrcode/version_test.go | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/vendor/github.com/skip2/go-qrcode/version_test.go b/vendor/github.com/skip2/go-qrcode/version_test.go new file mode 100644 index 0000000..5640226 --- /dev/null +++ b/vendor/github.com/skip2/go-qrcode/version_test.go @@ -0,0 +1,158 @@ +// go-qrcode +// Copyright 2014 Tom Harwood + +package qrcode + +import ( + "testing" + + bitset "github.com/skip2/go-qrcode/bitset" +) + +func TestFormatInfo(t *testing.T) { + tests := []struct { + level RecoveryLevel + maskPattern int + + expected uint32 + }{ + { // L=01 M=00 Q=11 H=10 + Low, + 1, + 0x72f3, + }, + { + Medium, + 2, + 0x5e7c, + }, + { + High, + 3, + 0x3a06, + }, + { + Highest, + 4, + 0x0762, + }, + { + Low, + 5, + 0x6318, + }, + { + Medium, + 6, + 0x4f97, + }, + { + High, + 7, + 0x2bed, + }, + } + + for i, test := range tests { + v := getQRCodeVersion(test.level, 1) + + result := v.formatInfo(test.maskPattern) + + expected := bitset.New() + expected.AppendUint32(test.expected, formatInfoLengthBits) + + if !expected.Equals(result) { + t.Errorf("formatInfo test #%d got %s, expected %s", i, result.String(), + expected.String()) + } + } +} + +func TestVersionInfo(t *testing.T) { + tests := []struct { + version int + expected uint32 + }{ + { + 7, + 0x007c94, + }, + { + 10, + 0x00a4d3, + }, + { + 20, + 0x0149a6, + }, + { + 30, + 0x01ed75, + }, + { + 40, + 0x028c69, + }, + } + + for i, test := range tests { + var v *qrCodeVersion + + v = getQRCodeVersion(Low, test.version) + + result := v.versionInfo() + + expected := bitset.New() + expected.AppendUint32(test.expected, versionInfoLengthBits) + + if !expected.Equals(result) { + t.Errorf("versionInfo test #%d got %s, expected %s", i, result.String(), + expected.String()) + } + } +} + +func TestNumBitsToPadToCodeoword(t *testing.T) { + tests := []struct { + level RecoveryLevel + version int + + numDataBits int + expected int + }{ + { + Low, + 1, + 0, + 0, + }, { + Low, + 1, + 1, + 7, + }, { + Low, + 1, + 7, + 1, + }, { + Low, + 1, + 8, + 0, + }, + } + + for i, test := range tests { + var v *qrCodeVersion + + v = getQRCodeVersion(test.level, test.version) + + result := v.numBitsToPadToCodeword(test.numDataBits) + + if result != test.expected { + t.Errorf("numBitsToPadToCodeword test %d (version=%d numDataBits=%d), got %d, expected %d", + i, test.version, test.numDataBits, result, test.expected) + } + } +} |
