Index: chrome/android/junit/src/org/chromium/chrome/browser/payments/CurrencyStringFormatterUnitTest.java |
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/payments/CurrencyStringFormatterUnitTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/payments/CurrencyStringFormatterUnitTest.java |
deleted file mode 100644 |
index 7a5e115b1227a0f6fa0bad6c641711fe333e1ef7..0000000000000000000000000000000000000000 |
--- a/chrome/android/junit/src/org/chromium/chrome/browser/payments/CurrencyStringFormatterUnitTest.java |
+++ /dev/null |
@@ -1,160 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-package org.chromium.chrome.browser.payments; |
- |
-import org.junit.Assert; |
-import org.junit.Test; |
-import org.junit.runner.RunWith; |
-import org.junit.runners.Parameterized; |
-import org.junit.runners.Parameterized.Parameters; |
- |
-import java.util.Arrays; |
-import java.util.Collection; |
-import java.util.Locale; |
- |
-/** |
- * Unit tests for the CurrencyStringFormatter class. |
- */ |
-@RunWith(Parameterized.class) |
-public class CurrencyStringFormatterUnitTest { |
- /** |
- * Unicode non-breaking space. |
- */ |
- private static final String SPACE = "\u00A0"; |
- |
- private enum ExpectedValidity { |
- VALID_AMOUNT, |
- INVALID_AMOUNT_CURRENCY_CODE, |
- INVALID_AMOUNT_VALUE, |
- }; |
- |
- @Parameters |
- public static Collection<Object[]> data() { |
- return Arrays.asList(new Object[][] { |
- {"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", "BTX", "55.00", ExpectedValidity.VALID_AMOUNT}, |
- {"-55.00", "BTX", "en-US", "BTX", "-55.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", "USD", "-$123.00", ExpectedValidity.VALID_AMOUNT}, |
- {"-1234", "USD", "en-US", "USD", "-$1,234.00", ExpectedValidity.VALID_AMOUNT}, |
- |
- {"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", "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", "ABCDEF", "55.00", ExpectedValidity.VALID_AMOUNT}, |
- // Currency code more than 6 character is formatted to first 5 characters and ellipsis. |
- // "\u2026" is unicode for ellipsis. |
- {"55.00", longStringOfLength(2048), "en-US", "AAAAA\u2026", "55.00", |
- ExpectedValidity.VALID_AMOUNT}, |
- |
- // Invalid amount currency codes. |
- {"55.00", longStringOfLength(2049), "en-US", null, null, |
- ExpectedValidity.INVALID_AMOUNT_CURRENCY_CODE}, |
- |
- // Invalid amount values. |
- {"", "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 mExpectedCurrencyFormatting; |
- private final String mExpectedAmountFormatting; |
- private final ExpectedValidity mExpectedValidity; |
- |
- private static String longStringOfLength(int len) { |
- StringBuilder currency = new StringBuilder(); |
- for (int i = 0; i < len; i++) { |
- currency.append("A"); |
- } |
- return currency.toString(); |
- } |
- |
- public CurrencyStringFormatterUnitTest(String amount, String currency, String languageTag, |
- String expectedCurrencyFormatting, String expectedAmountFormatting, |
- ExpectedValidity expectedValidity) { |
- mAmount = amount; |
- mCurrency = currency; |
- mLanguageTag = languageTag; |
- mExpectedCurrencyFormatting = expectedCurrencyFormatting; |
- mExpectedAmountFormatting = expectedAmountFormatting; |
- mExpectedValidity = expectedValidity; |
- } |
- |
- @Test |
- public void test() { |
- CurrencyStringFormatter formatter = new CurrencyStringFormatter(mCurrency, |
- Locale.forLanguageTag(mLanguageTag)); |
- |
- if (mExpectedValidity == ExpectedValidity.INVALID_AMOUNT_CURRENCY_CODE) { |
- Assert.assertFalse("\"" + mCurrency + "\" should be invalid currency code", |
- formatter.isValidAmountCurrencyCode(mCurrency)); |
- } else { |
- Assert.assertTrue("\"" + mCurrency + "\" should be valid currency code", |
- formatter.isValidAmountCurrencyCode(mCurrency)); |
- } |
- |
- if (mExpectedValidity == ExpectedValidity.INVALID_AMOUNT_VALUE) { |
- Assert.assertFalse("\"" + mAmount + "\" should be invalid amount value", |
- formatter.isValidAmountValue(mAmount)); |
- } else { |
- Assert.assertTrue("\"" + mAmount + "\" should be valid amount value", |
- formatter.isValidAmountValue(mAmount)); |
- } |
- |
- if (mExpectedValidity == ExpectedValidity.VALID_AMOUNT) { |
- Assert.assertEquals("\"" + mCurrency + "\" \"" + mAmount + "\" (\"" + mLanguageTag |
- + "\" locale) should be formatted into \"" |
- + mExpectedAmountFormatting + "\"", |
- mExpectedAmountFormatting, formatter.format(mAmount)); |
- Assert.assertEquals("\"" + mCurrency + "\"" + " should be formatted into \"" |
- + mExpectedCurrencyFormatting + "\"", |
- mExpectedCurrencyFormatting, formatter.getFormattedCurrencyCode()); |
- } |
- } |
-} |