Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(395)

Side by Side Diff: chrome/android/junit/src/org/chromium/chrome/browser/payments/CurrencyStringFormatterTest.java

Issue 2281913002: Currency code exceeding 6 chars will be ellipsized. (Closed)
Patch Set: Rebased Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698