From bb47d1e41e43acb1ee65443bd08d2b4db28a8b04 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 16 Jun 2017 00:09:31 +0200 Subject: [PATCH] better report failing plurals tests --- .../java/org/fdroid/fdroid/LocalizationTest.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/app/src/androidTest/java/org/fdroid/fdroid/LocalizationTest.java b/app/src/androidTest/java/org/fdroid/fdroid/LocalizationTest.java index 562b970ff..c447e463e 100644 --- a/app/src/androidTest/java/org/fdroid/fdroid/LocalizationTest.java +++ b/app/src/androidTest/java/org/fdroid/fdroid/LocalizationTest.java @@ -99,13 +99,14 @@ public class LocalizationTest { // Resources() requires DisplayMetrics, but they are only needed for drawables resources = new Resources(assets, new DisplayMetrics(), config); for (Field field : fields) { - int resId = field.getInt(int.class); - for (int quantity = 0; quantity < 22; quantity++) { - resources.getQuantityString(resId, quantity); - } - - String formats = haveFormats.get(field.getName()); + String formats = null; try { + int resId = field.getInt(int.class); + for (int quantity = 0; quantity < 22; quantity++) { + resources.getQuantityString(resId, quantity); + } + + formats = haveFormats.get(field.getName()); switch (formats) { case "d": resources.getQuantityString(resId, 1, 1); @@ -121,7 +122,7 @@ public class LocalizationTest { throw new IllegalStateException("Pattern not included in tests: " + formats); } } - } catch (IllegalFormatException e) { + } catch (IllegalFormatException | Resources.NotFoundException e) { Log.i(TAG, locale + " " + field.getName()); throw new IllegalArgumentException("Bad '" + formats + "' format in " + locale + " " + field.getName() + ": " + e.getMessage());