summaryrefslogtreecommitdiff
path: root/core/src/test/java
diff options
context:
space:
mode:
authorSean Owen <srowen@gmail.com>2016-09-05 23:00:59 +0300
committerSean Owen <srowen@gmail.com>2016-09-05 23:00:59 +0300
commitb639d5748d4a65aaa545160edf9cfdead9f0633e (patch)
tree83a77ce0f7b523da0ad84bb2266f87d120b4038a /core/src/test/java
parent0895b3cefa8f38ae80d9f2d53dce9deb42240678 (diff)
downloadzxing-b639d5748d4a65aaa545160edf9cfdead9f0633e.tar.xz
Deprecate MonochromeRectangleDetector and more coverage-related improvements
Diffstat (limited to 'core/src/test/java')
-rw-r--r--core/src/test/java/com/google/zxing/PlanarYUVLuminanceSourceTestCase.java20
-rw-r--r--core/src/test/java/com/google/zxing/client/result/GeoParsedResultTestCase.java16
-rw-r--r--core/src/test/java/com/google/zxing/client/result/SMSMMSParsedResultTestCase.java32
-rw-r--r--core/src/test/java/com/google/zxing/common/AbstractBlackBoxTestCase.java15
4 files changed, 56 insertions, 27 deletions
diff --git a/core/src/test/java/com/google/zxing/PlanarYUVLuminanceSourceTestCase.java b/core/src/test/java/com/google/zxing/PlanarYUVLuminanceSourceTestCase.java
index ec7e1e50a..5325af090 100644
--- a/core/src/test/java/com/google/zxing/PlanarYUVLuminanceSourceTestCase.java
+++ b/core/src/test/java/com/google/zxing/PlanarYUVLuminanceSourceTestCase.java
@@ -49,10 +49,24 @@ public final class PlanarYUVLuminanceSourceTestCase extends Assert {
@Test
public void testCrop() {
PlanarYUVLuminanceSource source =
- new PlanarYUVLuminanceSource(YUV, COLS, ROWS, 1, 1, COLS-2, ROWS-2, false);
- for (int r = 0; r < ROWS-2; r++) {
- assertEquals(Y, (r + 1) * COLS + 1, source.getRow(r, null), 0, COLS-2);
+ new PlanarYUVLuminanceSource(YUV, COLS, ROWS, 1, 1, COLS - 2, ROWS - 2, false);
+ assertTrue(source.isCropSupported());
+ byte[] cropMatrix = source.getMatrix();
+ for (int r = 0; r < ROWS - 2; r++) {
+ assertEquals(Y, (r + 1) * COLS + 1, cropMatrix, r * (COLS - 2), COLS - 2);
}
+ for (int r = 0; r < ROWS - 2; r++) {
+ assertEquals(Y, (r + 1) * COLS + 1, source.getRow(r, null), 0, COLS - 2);
+ }
+ }
+
+ @Test
+ public void testThumbnail() {
+ PlanarYUVLuminanceSource source =
+ new PlanarYUVLuminanceSource(YUV, COLS, ROWS, 0, 0, COLS, ROWS, false);
+ assertArrayEquals(
+ new int[] { 0xFF000000, 0xFF010101, 0xFF030303, 0xFF000000, 0xFFFFFFFF, 0xFFFDFDFD },
+ source.renderThumbnail());
}
private static void assertEquals(byte[] expected, int expectedFrom,
diff --git a/core/src/test/java/com/google/zxing/client/result/GeoParsedResultTestCase.java b/core/src/test/java/com/google/zxing/client/result/GeoParsedResultTestCase.java
index 677b1bca5..5280f4c79 100644
--- a/core/src/test/java/com/google/zxing/client/result/GeoParsedResultTestCase.java
+++ b/core/src/test/java/com/google/zxing/client/result/GeoParsedResultTestCase.java
@@ -16,6 +16,8 @@
package com.google.zxing.client.result;
+import java.util.Locale;
+
import com.google.zxing.BarcodeFormat;
import com.google.zxing.Result;
import org.junit.Assert;
@@ -32,18 +34,19 @@ public final class GeoParsedResultTestCase extends Assert {
@Test
public void testGeo() {
- doTest("geo:1,2", 1.0, 2.0, 0.0, null);
- doTest("geo:80.33,-32.3344,3.35", 80.33, -32.3344, 3.35, null);
- doTest("geo:-20.33,132.3344,0.01", -20.33, 132.3344, 0.01, null);
- doTest("geo:-20.33,132.3344,0.01?q=foobar", -20.33, 132.3344, 0.01, "q=foobar");
- doTest("GEO:-20.33,132.3344,0.01?q=foobar", -20.33, 132.3344, 0.01, "q=foobar");
+ doTest("geo:1,2", 1.0, 2.0, 0.0, null, "geo:1.0,2.0");
+ doTest("geo:80.33,-32.3344,3.35", 80.33, -32.3344, 3.35, null, null);
+ doTest("geo:-20.33,132.3344,0.01", -20.33, 132.3344, 0.01, null, null);
+ doTest("geo:-20.33,132.3344,0.01?q=foobar", -20.33, 132.3344, 0.01, "q=foobar", null);
+ doTest("GEO:-20.33,132.3344,0.01?q=foobar", -20.33, 132.3344, 0.01, "q=foobar", null);
}
private static void doTest(String contents,
double latitude,
double longitude,
double altitude,
- String query) {
+ String query,
+ String uri) {
Result fakeResult = new Result(contents, null, null, BarcodeFormat.QR_CODE);
ParsedResult result = ResultParser.parseResult(fakeResult);
assertSame(ParsedResultType.GEO, result.getType());
@@ -52,6 +55,7 @@ public final class GeoParsedResultTestCase extends Assert {
assertEquals(longitude, geoResult.getLongitude(), EPSILON);
assertEquals(altitude, geoResult.getAltitude(), EPSILON);
assertEquals(query, geoResult.getQuery());
+ assertEquals(uri == null ? contents.toLowerCase(Locale.ENGLISH) : uri, geoResult.getGeoURI());
}
} \ No newline at end of file
diff --git a/core/src/test/java/com/google/zxing/client/result/SMSMMSParsedResultTestCase.java b/core/src/test/java/com/google/zxing/client/result/SMSMMSParsedResultTestCase.java
index 30746b9d1..34354b15e 100644
--- a/core/src/test/java/com/google/zxing/client/result/SMSMMSParsedResultTestCase.java
+++ b/core/src/test/java/com/google/zxing/client/result/SMSMMSParsedResultTestCase.java
@@ -30,39 +30,37 @@ public final class SMSMMSParsedResultTestCase extends Assert {
@Test
public void testSMS() {
- doTest("sms:+15551212", "+15551212", null, null, null);
- doTest("sms:+15551212?subject=foo&body=bar", "+15551212", "foo", "bar", null);
- doTest("sms:+15551212;via=999333", "+15551212", null, null, "999333");
+ doTest("sms:+15551212", "+15551212", null, null, null, "sms:+15551212");
+ doTest("sms:+15551212?subject=foo&body=bar", "+15551212", "foo", "bar", null,
+ "sms:+15551212?body=bar&subject=foo");
+ doTest("sms:+15551212;via=999333", "+15551212", null, null, "999333",
+ "sms:+15551212;via=999333");
}
@Test
public void testMMS() {
- doTest("mms:+15551212", "+15551212", null, null, null);
- doTest("mms:+15551212?subject=foo&body=bar", "+15551212", "foo", "bar", null);
- doTest("mms:+15551212;via=999333", "+15551212", null, null, "999333");
+ doTest("mms:+15551212", "+15551212", null, null, null, "sms:+15551212");
+ doTest("mms:+15551212?subject=foo&body=bar", "+15551212", "foo", "bar", null,
+ "sms:+15551212?body=bar&subject=foo");
+ doTest("mms:+15551212;via=999333", "+15551212", null, null, "999333",
+ "sms:+15551212;via=999333");
}
private static void doTest(String contents,
String number,
String subject,
String body,
- String via) {
- doTest(contents, new String[] {number}, subject, body, new String[] {via});
- }
-
- private static void doTest(String contents,
- String[] numbers,
- String subject,
- String body,
- String[] vias) {
+ String via,
+ String parsedURI) {
Result fakeResult = new Result(contents, null, null, BarcodeFormat.QR_CODE);
ParsedResult result = ResultParser.parseResult(fakeResult);
assertSame(ParsedResultType.SMS, result.getType());
SMSParsedResult smsResult = (SMSParsedResult) result;
- assertArrayEquals(numbers, smsResult.getNumbers());
+ assertArrayEquals(new String[] { number }, smsResult.getNumbers());
assertEquals(subject, smsResult.getSubject());
assertEquals(body, smsResult.getBody());
- assertArrayEquals(vias, smsResult.getVias());
+ assertArrayEquals(new String[] { via }, smsResult.getVias());
+ assertEquals(parsedURI, smsResult.getSMSURI());
}
}
diff --git a/core/src/test/java/com/google/zxing/common/AbstractBlackBoxTestCase.java b/core/src/test/java/com/google/zxing/common/AbstractBlackBoxTestCase.java
index da37c8d93..5cc526627 100644
--- a/core/src/test/java/com/google/zxing/common/AbstractBlackBoxTestCase.java
+++ b/core/src/test/java/com/google/zxing/common/AbstractBlackBoxTestCase.java
@@ -261,7 +261,20 @@ public abstract class AbstractBlackBoxTestCase extends Assert {
hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE);
}
- Result result = barcodeReader.decode(source, hints);
+ // Try in 'pure' mode mostly to exercise PURE_BARCODE code paths for exceptions;
+ // not expected to pass, generally
+ Result result = null;
+ try {
+ Map<DecodeHintType,Object> pureHints = new EnumMap<>(hints);
+ pureHints.put(DecodeHintType.PURE_BARCODE, Boolean.TRUE);
+ result = barcodeReader.decode(source, pureHints);
+ } catch (ReaderException re) {
+ // continue
+ }
+
+ if (result == null) {
+ result = barcodeReader.decode(source, hints);
+ }
if (expectedFormat != result.getBarcodeFormat()) {
log.info(String.format("Format mismatch: expected '%s' but got '%s'%s",