package com.google.zxing.qrcode.decoder;
-import com.google.zxing.ReaderException;
import com.google.zxing.common.BitSourceBuilder;
import junit.framework.TestCase;
/**
* Tests {@link com.google.zxing.qrcode.decoder.DecodedBitStreamParser}.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class DecodedBitStreamParserTestCase extends TestCase {
- public void testSimpleByteMode() throws ReaderException {
+ public void testSimpleByteMode() throws Exception {
+ BitSourceBuilder builder = new BitSourceBuilder();
+ builder.write(0x04, 4); // Byte mode
+ builder.write(0x03, 8); // 3 bytes
+ builder.write(0xF1, 8);
+ builder.write(0xF2, 8);
+ builder.write(0xF3, 8);
+ String result = DecodedBitStreamParser.decode(builder.toByteArray(),
+ Version.getVersionForNumber(1), null, null).getText();
+ assertEquals("\u00f1\u00f2\u00f3", result);
+ }
+
+ public void testSimpleSJIS() throws Exception {
BitSourceBuilder builder = new BitSourceBuilder();
builder.write(0x04, 4); // Byte mode
builder.write(0x03, 8); // 3 bytes
builder.write(0xA1, 8);
builder.write(0xA2, 8);
builder.write(0xA3, 8);
- String result = DecodedBitStreamParser.decode(builder.toByteArray(), Version.getVersionForNumber(1));
- assertEquals("\u00a1\u00a2\u00a3", result); // this should be "¡¢£" if your editor character encoding matches mine!
+ String result = DecodedBitStreamParser.decode(builder.toByteArray(),
+ Version.getVersionForNumber(1), null, null).getText();
+ assertEquals("\uff61\uff62\uff63", result);
}
- public void testECI() throws ReaderException {
+ public void testECI() throws Exception {
BitSourceBuilder builder = new BitSourceBuilder();
builder.write(0x07, 4); // ECI mode
builder.write(0x02, 8); // ECI 2 = CP437 encoding
builder.write(0xA1, 8);
builder.write(0xA2, 8);
builder.write(0xA3, 8);
- String result = DecodedBitStreamParser.decode(builder.toByteArray(), Version.getVersionForNumber(1));
- assertEquals("\u00ed\u00f3\u00fa", result); // should be like "íóú"
+ String result = DecodedBitStreamParser.decode(builder.toByteArray(),
+ Version.getVersionForNumber(1), null, null).getText();
+ assertEquals("\u00ed\u00f3\u00fa", result);
}
// TODO definitely need more tests here
-}
\ No newline at end of file
+}