Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.chrome.browser.payments; | 5 package org.chromium.chrome.browser.payments; |
| 6 | 6 |
| 7 import org.junit.Assert; | 7 import org.junit.Assert; |
| 8 import org.junit.Test; | 8 import org.junit.Test; |
| 9 import org.junit.runner.RunWith; | 9 import org.junit.runner.RunWith; |
| 10 import org.junit.runners.Parameterized; | 10 import org.junit.runners.Parameterized; |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 26 | 26 |
| 27 private enum ExpectedValidity { | 27 private enum ExpectedValidity { |
| 28 VALID_AMOUNT, | 28 VALID_AMOUNT, |
| 29 INVALID_AMOUNT_CURRENCY_CODE, | 29 INVALID_AMOUNT_CURRENCY_CODE, |
| 30 INVALID_AMOUNT_VALUE, | 30 INVALID_AMOUNT_VALUE, |
| 31 }; | 31 }; |
| 32 | 32 |
| 33 @Parameters | 33 @Parameters |
| 34 public static Collection<Object[]> data() { | 34 public static Collection<Object[]> data() { |
| 35 return Arrays.asList(new Object[][] { | 35 return Arrays.asList(new Object[][] { |
| 36 {"55.00", "USD", "en-US", "$55.00", ExpectedValidity.VALID_AMOUNT}, | 36 {"55.00", "USD", "en-US", "USD $55.00", ExpectedValidity.VALID_AMOUN T}, |
| 37 {"55.00", "USD", "en-CA", "$55.00", ExpectedValidity.VALID_AMOUNT}, | 37 {"55.00", "USD", "en-CA", "USD $55.00", ExpectedValidity.VALID_AMOUN T}, |
| 38 {"55.00", "USD", "fr-CA", "$55,00", ExpectedValidity.VALID_AMOUNT}, | 38 {"55.00", "USD", "fr-CA", "USD $55,00", ExpectedValidity.VALID_AMOUN T}, |
| 39 {"55.00", "USD", "fr-FR", "$55,00", ExpectedValidity.VALID_AMOUNT}, | 39 {"55.00", "USD", "fr-FR", "USD $55,00", ExpectedValidity.VALID_AMOUN T}, |
| 40 | 40 |
| 41 {"55.00", "EUR", "en-US", "55.00", ExpectedValidity.VALID_AMOUNT}, | 41 {"55.00", "EUR", "en-US", "EUR 55.00", ExpectedValidity.VALID_AMOUNT }, |
| 42 {"55.00", "EUR", "en-CA", "55.00", ExpectedValidity.VALID_AMOUNT}, | 42 {"55.00", "EUR", "en-CA", "EUR 55.00", ExpectedValidity.VALID_AMOUNT }, |
| 43 {"55.00", "EUR", "fr-CA", "55,00", ExpectedValidity.VALID_AMOUNT}, | 43 {"55.00", "EUR", "fr-CA", "EUR 55,00", ExpectedValidity.VALID_AMOUNT }, |
| 44 {"55.00", "EUR", "fr-FR", "55,00", ExpectedValidity.VALID_AMOUNT}, | 44 {"55.00", "EUR", "fr-FR", "EUR 55,00", ExpectedValidity.VALID_AMOUNT }, |
| 45 | 45 |
| 46 {"55.00", "CAD", "en-US", "55.00", ExpectedValidity.VALID_AMOUNT}, | 46 {"55.00", "CAD", "en-US", "CAD 55.00", ExpectedValidity.VALID_AMOUNT }, |
| 47 {"55.00", "CAD", "en-CA", "55.00", ExpectedValidity.VALID_AMOUNT}, | 47 {"55.00", "CAD", "en-CA", "CAD 55.00", ExpectedValidity.VALID_AMOUNT }, |
| 48 {"55.00", "CAD", "fr-CA", "55,00", ExpectedValidity.VALID_AMOUNT}, | 48 {"55.00", "CAD", "fr-CA", "CAD 55,00", ExpectedValidity.VALID_AMOUNT }, |
| 49 {"55.00", "CAD", "fr-FR", "55,00", ExpectedValidity.VALID_AMOUNT}, | 49 {"55.00", "CAD", "fr-FR", "CAD 55,00", ExpectedValidity.VALID_AMOUNT }, |
| 50 | 50 |
| 51 {"55.12", "JPY", "ja-JP", "55.12", ExpectedValidity.VALID_AMOUNT}, | 51 {"55.12", "JPY", "ja-JP", "JPY 55.12", ExpectedValidity.VALID_AMOUNT }, |
| 52 {"55.00", "JPY", "ja-JP", "55.00", ExpectedValidity.VALID_AMOUNT}, | 52 {"55.00", "JPY", "ja-JP", "JPY 55.00", ExpectedValidity.VALID_AMOUNT }, |
| 53 {"55.0", "JPY", "ja-JP", "55.0", ExpectedValidity.VALID_AMOUNT}, | 53 {"55.0", "JPY", "ja-JP", "JPY 55.0", ExpectedValidity.VALID_AMOUNT}, |
| 54 {"55", "JPY", "ja-JP", "55", ExpectedValidity.VALID_AMOUNT}, | 54 {"55", "JPY", "ja-JP", "JPY 55", ExpectedValidity.VALID_AMOUNT}, |
| 55 | 55 |
| 56 // Unofficial ISO 4217 currency code. | 56 // Unofficial ISO 4217 currency code. |
| 57 {"55.00", "BTX", "en-US", "55.00", ExpectedValidity.VALID_AMOUNT}, | 57 {"55.00", "BTX", "en-US", "BTX 55.00", ExpectedValidity.VALID_AMOUNT }, |
| 58 {"-55.00", "BTX", "en-US", "-55.00", ExpectedValidity.VALID_AMOUNT}, | 58 {"-55.00", "BTX", "en-US", "BTX -55.00", ExpectedValidity.VALID_AMOU NT}, |
| 59 | 59 |
| 60 {"55.5", "USD", "en-US", "$55.50", ExpectedValidity.VALID_AMOUNT}, | 60 {"55.5", "USD", "en-US", "USD $55.50", ExpectedValidity.VALID_AMOUNT }, |
| 61 {"55", "USD", "en-US", "$55.00", ExpectedValidity.VALID_AMOUNT}, | 61 {"55", "USD", "en-US", "USD $55.00", ExpectedValidity.VALID_AMOUNT}, |
| 62 {"123", "USD", "en-US", "$123.00", ExpectedValidity.VALID_AMOUNT}, | 62 {"123", "USD", "en-US", "USD $123.00", ExpectedValidity.VALID_AMOUNT }, |
| 63 {"1234", "USD", "en-US", "$1,234.00", ExpectedValidity.VALID_AMOUNT} , | 63 {"1234", "USD", "en-US", "USD $1,234.00", ExpectedValidity.VALID_AMO UNT}, |
| 64 | 64 |
| 65 {"-123", "USD", "en-US", "-$123.00", ExpectedValidity.VALID_AMOUNT}, | 65 {"-123", "USD", "en-US", "USD -$123.00", ExpectedValidity.VALID_AMOU NT}, |
| 66 {"-1234", "USD", "en-US", "-$1,234.00", ExpectedValidity.VALID_AMOUN T}, | 66 {"-1234", "USD", "en-US", "USD -$1,234.00", ExpectedValidity.VALID_A MOUNT}, |
| 67 | 67 |
| 68 {"123456789012345678901234567890.123456789012345678901234567890", "U SD", "fr-FR", | 68 {"123456789012345678901234567890.123456789012345678901234567890", "U SD", "fr-FR", |
| 69 "$123" + SPACE + "456" + SPACE + "789" + SPACE + "012" + SPA CE + "345" | 69 "USD $123" + SPACE + "456" + SPACE + "789" + SPACE + "012" + SPACE + "345" |
| 70 + SPACE + "678" + SPACE + "901" + SPACE + "234" + SP ACE + "567" | 70 + SPACE + "678" + SPACE + "901" + SPACE + "234" + SP ACE + "567" |
| 71 + SPACE + "890,123456789012345678901234567890", | 71 + SPACE + "890,123456789012345678901234567890", |
| 72 ExpectedValidity.VALID_AMOUNT}, | 72 ExpectedValidity.VALID_AMOUNT}, |
| 73 {"123456789012345678901234567890.123456789012345678901234567890", "U SD", "en-US", | 73 {"123456789012345678901234567890.123456789012345678901234567890", "U SD", "en-US", |
| 74 "$123,456,789,012,345,678,901,234,567,890.123456789012345678 901234567890", | 74 "USD $123,456,789,012,345,678,901,234,567,890.12345678901234 5678901234567890", |
| 75 ExpectedValidity.VALID_AMOUNT}, | 75 ExpectedValidity.VALID_AMOUNT}, |
| 76 | 76 |
| 77 // Any string of at most 2048 characters can be valid amount currenc y codes. | 77 // Any string of at most 2048 characters can be valid amount currenc y codes. |
| 78 {"55.00", "", "en-US", "55.00", ExpectedValidity.VALID_AMOUNT}, | 78 {"55.00", "", "en-US", "55.00", ExpectedValidity.VALID_AMOUNT}, |
| 79 {"55.00", "ABCDEF", "en-US", "55.00", ExpectedValidity.VALID_AMOUNT} , | 79 {"55.00", "ABCDEF", "en-US", "ABCDEF 55.00", ExpectedValidity.VALID_ AMOUNT}, |
| 80 {"55.00", longStringOfLength(2048), "en-US", "55.00", ExpectedValidi ty.VALID_AMOUNT}, | 80 {"55.00", "ABCDEFG", "en-US", "ABCDE" + "\u2026" + " " + "55.00", |
| 81 ExpectedValidity.VALID_AMOUNT}, | |
| 82 {"55.00", longStringOfLength(2048), "en-US", "AAAAA" + "\u2026" + " " + "55.00", | |
| 83 ExpectedValidity.VALID_AMOUNT}, | |
| 81 | 84 |
| 82 // Invalid amount currency codes. | 85 // Invalid amount currency codes. |
| 83 {"55.00", longStringOfLength(2049), "en-US", null, | 86 {"55.00", longStringOfLength(2049), "en-US", null, |
| 84 ExpectedValidity.INVALID_AMOUNT_CURRENCY_CODE}, | 87 ExpectedValidity.INVALID_AMOUNT_CURRENCY_CODE}, |
| 85 | 88 |
| 86 // Invalid amount values. | 89 // Invalid amount values. |
| 87 {"", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, | 90 {"", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| 88 {"-", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, | 91 {"-", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE}, |
| 89 {"notdigits", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_ VALUE}, | 92 {"notdigits", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_ VALUE}, |
| 90 {"ALSONOTDIGITS", "USD", "en-US", null, ExpectedValidity.INVALID_AMO UNT_VALUE}, | 93 {"ALSONOTDIGITS", "USD", "en-US", null, ExpectedValidity.INVALID_AMO UNT_VALUE}, |
| 91 {"10.", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE} , | 94 {"10.", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE} , |
| 92 {".99", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE} , | 95 {".99", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE} , |
| 93 {"10-", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE} , | 96 {"10-", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE} , |
| 94 {"1-0", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE} , | 97 {"1-0", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE} , |
| 95 {"1.0.0", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALU E}, | 98 {"1.0.0", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALU E}, |
| 96 {"1/3", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE} , | 99 {"1/3", "USD", "en-US", null, ExpectedValidity.INVALID_AMOUNT_VALUE} , |
| 97 }); | 100 }); |
| 98 } | 101 } |
| 99 | 102 |
| 100 private final String mAmount; | 103 private final String mAmount; |
| 101 private final String mCurrency; | 104 private final String mCurrency; |
| 102 private final String mLanguageTag; | 105 private final String mLanguageTag; |
| 103 private final String mExpectedFormatting; | 106 private final String mExpectedFormatting; |
|
please use gerrit instead
2016/09/01 14:55:55
private final String mExpectedCurrencyFormatting;
pals
2016/09/02 11:51:15
Done.
| |
| 104 private final ExpectedValidity mExpectedValidity; | 107 private final ExpectedValidity mExpectedValidity; |
| 105 | 108 |
| 106 private static String longStringOfLength(int len) { | 109 private static String longStringOfLength(int len) { |
| 107 StringBuilder currency = new StringBuilder(); | 110 StringBuilder currency = new StringBuilder(); |
| 108 for (int i = 0; i < len; i++) { | 111 for (int i = 0; i < len; i++) { |
| 109 currency.append("A"); | 112 currency.append("A"); |
| 110 } | 113 } |
| 111 return currency.toString(); | 114 return currency.toString(); |
| 112 } | 115 } |
| 113 | 116 |
| 114 public CurrencyStringFormatterTest(String amount, String currency, String la nguageTag, | 117 public CurrencyStringFormatterTest(String amount, String currency, String la nguageTag, |
| 115 String expectedFormatting, ExpectedValidity expectedValidity) { | 118 String expectedFormatting, ExpectedValidity expectedValidity) { |
|
please use gerrit instead
2016/09/01 14:55:55
public CurrencyStringFormatterTest(String amount,
pals
2016/09/02 11:51:15
Done.
| |
| 116 mAmount = amount; | 119 mAmount = amount; |
| 117 mCurrency = currency; | 120 mCurrency = currency; |
| 118 mLanguageTag = languageTag; | 121 mLanguageTag = languageTag; |
| 119 mExpectedFormatting = expectedFormatting; | 122 mExpectedFormatting = expectedFormatting; |
| 120 mExpectedValidity = expectedValidity; | 123 mExpectedValidity = expectedValidity; |
| 121 } | 124 } |
| 122 | 125 |
| 123 @Test | 126 @Test |
| 124 public void test() { | 127 public void test() { |
| 125 CurrencyStringFormatter formatter = new CurrencyStringFormatter(mCurrenc y, | 128 CurrencyStringFormatter formatter = new CurrencyStringFormatter(mCurrenc y, |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 141 formatter.isValidAmountValue(mAmount)); | 144 formatter.isValidAmountValue(mAmount)); |
| 142 } | 145 } |
| 143 | 146 |
| 144 if (mExpectedValidity == ExpectedValidity.VALID_AMOUNT) { | 147 if (mExpectedValidity == ExpectedValidity.VALID_AMOUNT) { |
| 145 Assert.assertEquals("\"" + mCurrency + "\" \"" + mAmount + "\" (\"" + mLanguageTag | 148 Assert.assertEquals("\"" + mCurrency + "\" \"" + mAmount + "\" (\"" + mLanguageTag |
| 146 + "\" locale) should be formatted into \"" + mExpect edFormatting + "\"", | 149 + "\" locale) should be formatted into \"" + mExpect edFormatting + "\"", |
| 147 mExpectedFormatting, formatter.format(mAmount)); | 150 mExpectedFormatting, formatter.format(mAmount)); |
| 148 } | 151 } |
| 149 } | 152 } |
| 150 } | 153 } |
| OLD | NEW |