Chromium Code Reviews| Index: chrome/android/junit/src/org/chromium/chrome/browser/payments/CurrencyStringFormatterTest.java |
| diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/payments/CurrencyStringFormatterTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/payments/CurrencyStringFormatterTest.java |
| index b13d45d048425a495f9b4d20f81227d7647e7c44..da34ab0ad9d0fd30f2c00abf7f02ad4eed66fa93 100644 |
| --- a/chrome/android/junit/src/org/chromium/chrome/browser/payments/CurrencyStringFormatterTest.java |
| +++ b/chrome/android/junit/src/org/chromium/chrome/browser/payments/CurrencyStringFormatterTest.java |
| @@ -24,7 +24,13 @@ public class CurrencyStringFormatterTest { |
| */ |
| private static final String SPACE = "\u00A0"; |
| + /** |
| + * Unicode for ellipsis. |
| + */ |
| + private static final String ELLIPSIS = "\u2026"; |
| + |
| private enum ExpectedValidity { |
| + VALID_CURRENCY, |
|
please use gerrit instead
2016/09/02 17:30:55
This enum covers the three states of validation th
pals
2016/09/06 06:09:00
Done.
|
| VALID_AMOUNT, |
| INVALID_AMOUNT_CURRENCY_CODE, |
| INVALID_AMOUNT_VALUE, |
| @@ -33,74 +39,76 @@ public class CurrencyStringFormatterTest { |
| @Parameters |
| public static Collection<Object[]> data() { |
| return Arrays.asList(new Object[][] { |
| - {"55.00", "USD", "en-US", "$55.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"55.00", "USD", "en-CA", "$55.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"55.00", "USD", "fr-CA", "$55,00", ExpectedValidity.VALID_AMOUNT}, |
| - {"55.00", "USD", "fr-FR", "$55,00", ExpectedValidity.VALID_AMOUNT}, |
| - |
| - {"55.00", "EUR", "en-US", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"55.00", "EUR", "en-CA", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"55.00", "EUR", "fr-CA", "55,00", ExpectedValidity.VALID_AMOUNT}, |
| - {"55.00", "EUR", "fr-FR", "55,00", ExpectedValidity.VALID_AMOUNT}, |
| - |
| - {"55.00", "CAD", "en-US", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"55.00", "CAD", "en-CA", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"55.00", "CAD", "fr-CA", "55,00", ExpectedValidity.VALID_AMOUNT}, |
| - {"55.00", "CAD", "fr-FR", "55,00", ExpectedValidity.VALID_AMOUNT}, |
| - |
| - {"55.12", "JPY", "ja-JP", "55.12", ExpectedValidity.VALID_AMOUNT}, |
| - {"55.00", "JPY", "ja-JP", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"55.0", "JPY", "ja-JP", "55.0", ExpectedValidity.VALID_AMOUNT}, |
| - {"55", "JPY", "ja-JP", "55", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.00", "USD", "en-US", "USD", "$55.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.00", "USD", "en-CA", "USD", "$55.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.00", "USD", "fr-CA", "USD", "$55,00", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.00", "USD", "fr-FR", "USD", "$55,00", ExpectedValidity.VALID_AMOUNT}, |
| + |
| + {"55.00", "EUR", "en-US", "EUR", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.00", "EUR", "en-CA", "EUR", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.00", "EUR", "fr-CA", "EUR", "55,00", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.00", "EUR", "fr-FR", "EUR", "55,00", ExpectedValidity.VALID_AMOUNT}, |
| + |
| + {"55.00", "CAD", "en-US", "CAD", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.00", "CAD", "en-CA", "CAD", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.00", "CAD", "fr-CA", "CAD", "55,00", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.00", "CAD", "fr-FR", "CAD", "55,00", ExpectedValidity.VALID_AMOUNT}, |
| + |
| + {"55.12", "JPY", "ja-JP", "JPY", "55.12", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.00", "JPY", "ja-JP", "JPY", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.0", "JPY", "ja-JP", "JPY", "55.0", ExpectedValidity.VALID_AMOUNT}, |
| + {"55", "JPY", "ja-JP", "JPY", "55", ExpectedValidity.VALID_AMOUNT}, |
| // Unofficial ISO 4217 currency code. |
| - {"55.00", "BTX", "en-US", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"-55.00", "BTX", "en-US", "-55.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.00", "BTX", "en-US", "BTX", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"-55.00", "BTX", "en-US", "BTX", "-55.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"55.5", "USD", "en-US", "$55.50", ExpectedValidity.VALID_AMOUNT}, |
| - {"55", "USD", "en-US", "$55.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"123", "USD", "en-US", "$123.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"1234", "USD", "en-US", "$1,234.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.5", "USD", "en-US", "USD", "$55.50", ExpectedValidity.VALID_AMOUNT}, |
| + {"55", "USD", "en-US", "USD", "$55.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"123", "USD", "en-US", "USD", "$123.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"1234", "USD", "en-US", "USD", "$1,234.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"-123", "USD", "en-US", "-$123.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"-1234", "USD", "en-US", "-$1,234.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"-123", "USD", "en-US", "USD", "-$123.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"-1234", "USD", "en-US", "USD", "-$1,234.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"123456789012345678901234567890.123456789012345678901234567890", "USD", "fr-FR", |
| + {"123456789012345678901234567890.123456789012345678901234567890", "USD", "fr-FR", "USD", |
| "$123" + SPACE + "456" + SPACE + "789" + SPACE + "012" + SPACE + "345" |
| + SPACE + "678" + SPACE + "901" + SPACE + "234" + SPACE + "567" |
| + SPACE + "890,123456789012345678901234567890", |
| ExpectedValidity.VALID_AMOUNT}, |
| - {"123456789012345678901234567890.123456789012345678901234567890", "USD", "en-US", |
| + {"123456789012345678901234567890.123456789012345678901234567890", "USD", "en-US", "USD", |
| "$123,456,789,012,345,678,901,234,567,890.123456789012345678901234567890", |
| ExpectedValidity.VALID_AMOUNT}, |
| // Any string of at most 2048 characters can be valid amount currency codes. |
| - {"55.00", "", "en-US", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"55.00", "ABCDEF", "en-US", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| - {"55.00", longStringOfLength(2048), "en-US", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| + {"55.00", "", "en-US", "", "55.00", ExpectedValidity.VALID_CURRENCY}, |
| + {"55.00", "ABCDEF", "en-US", "ABCDEF", "55.00", ExpectedValidity.VALID_CURRENCY}, |
| + {"55.00", longStringOfLength(2048), "en-US", "AAAAA" + ELLIPSIS, "55.00", |
|
please use gerrit instead
2016/09/02 17:30:55
ELLIPSIS is used only once, so it's easier to just
pals
2016/09/06 06:09:00
Done.
|
| + ExpectedValidity.VALID_CURRENCY}, |
| // Invalid amount currency codes. |
| - {"55.00", longStringOfLength(2049), "en-US", null, |
| + {"55.00", longStringOfLength(2049), "en-US", null, null, |
| ExpectedValidity.INVALID_AMOUNT_CURRENCY_CODE}, |
| // Invalid amount values. |
| - {"", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| - {"-", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| - {"notdigits", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| - {"ALSONOTDIGITS", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| - {"10.", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| - {".99", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| - {"10-", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| - {"1-0", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| - {"1.0.0", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| - {"1/3", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| + {"", "USD", "en-US", "USD", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| + {"-", "USD", "en-US", "USD", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| + {"notdigits", "USD", "en-US", "USD", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| + {"ALSONOTDIGITS", "USD", "en-US", "USD", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| + {"10.", "USD", "en-US", "USD", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| + {".99", "USD", "en-US", "USD", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| + {"10-", "USD", "en-US", "USD", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| + {"1-0", "USD", "en-US", "USD", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| + {"1.0.0", "USD", "en-US", "USD", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| + {"1/3", "USD", "en-US", "USD", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| }); |
| } |
| private final String mAmount; |
| private final String mCurrency; |
| private final String mLanguageTag; |
| - private final String mExpectedFormatting; |
| + private final String mExpectedCurrencyFormatting; |
| + private final String mExpectedAmountFormatting; |
| private final ExpectedValidity mExpectedValidity; |
| private static String longStringOfLength(int len) { |
| @@ -112,11 +120,13 @@ public class CurrencyStringFormatterTest { |
| } |
| public CurrencyStringFormatterTest(String amount, String currency, String languageTag, |
| - String expectedFormatting, ExpectedValidity expectedValidity) { |
| + String expectedCurrencyFormatting, String expectedAmountFormatting, |
| + ExpectedValidity expectedValidity) { |
| mAmount = amount; |
| mCurrency = currency; |
| mLanguageTag = languageTag; |
| - mExpectedFormatting = expectedFormatting; |
| + mExpectedCurrencyFormatting = expectedCurrencyFormatting; |
| + mExpectedAmountFormatting = expectedAmountFormatting; |
| mExpectedValidity = expectedValidity; |
| } |
| @@ -141,10 +151,17 @@ public class CurrencyStringFormatterTest { |
| formatter.isValidAmountValue(mAmount)); |
| } |
| + if (mExpectedValidity == ExpectedValidity.VALID_CURRENCY) { |
| + Assert.assertEquals("\"" + mCurrency + "\"" + " should be formatted into \"" |
| + + mExpectedCurrencyFormatting + "\"", |
| + mExpectedCurrencyFormatting, formatter.formatCurrency(mCurrency)); |
|
please use gerrit instead
2016/09/02 17:30:55
Move lines 155-157 between lines 164 and 65 below.
pals
2016/09/06 06:09:00
Done.
|
| + } |
| + |
| if (mExpectedValidity == ExpectedValidity.VALID_AMOUNT) { |
| Assert.assertEquals("\"" + mCurrency + "\" \"" + mAmount + "\" (\"" + mLanguageTag |
| - + "\" locale) should be formatted into \"" + mExpectedFormatting + "\"", |
| - mExpectedFormatting, formatter.format(mAmount)); |
| + + "\" locale) should be formatted into \"" |
| + + mExpectedAmountFormatting + "\"", |
| + mExpectedAmountFormatting, formatter.format(mAmount)); |
| } |
| } |
| } |