Commit Graph

3157 Commits

Author SHA1 Message Date
Frank Tang
4104d33501 ICU-20355 Fixing Java currency long name field.
- Adds test in ICU4C and ICU4J.
2019-01-24 17:33:27 -08:00
Shane Carr
e10bdb96a7 ICU-20283 Updating docs of old FormattedNumber field position methods.
Most users can use the new method, but these methods may still be useful when needing to interact with the FieldPosition-based APIs.
2019-01-24 16:47:42 -08:00
Shane Carr
7507f5322f ICU-13657 Adding NumberFormatter skeleton factory method with UParseError.
- Includes small fixes to StringSegment and to tests.
2019-01-24 16:33:00 -08:00
Shane Carr
c31fec6b14 ICU-13746 Removing number formatting APIs deprecated in ICU 62.
Includes both ICU4C and ICU4J.
2019-01-24 14:50:03 -08:00
Shane Carr
1f7d8ababe ICU-20358 Clean up grouping resolution in DecimalFormat#toPattern(). 2019-01-18 17:40:49 -08:00
Shane F. Carr
ac359112a1 ICU-20348 Fixing DecimalFormat set affix currency behavior.
- Includes minor changes to tests.
2019-01-17 11:32:38 -08:00
Shane Carr
e7645ff25c ICU-13701 Removing obsolete logKnownIssue since bug is fixed. 2019-01-11 18:45:39 -06:00
Shane Carr
01bd502a95 ICU-13701 Use exact string-to-double conversion in Java. 2019-01-11 15:50:39 -06:00
Shane Carr
768b577e6a ICU-20138 Adding FormattedValue APIs in C, C++, and Java.
- Wires up FormattedNumber[Range] in applicable languages.
- Adds new header files and tests, with minor cleanup to old tests.
- Adds code to guarantee terminating NUL in FormattedNumber[Range].
- Cleanup of API docs for inherited methods in FormattedNumber[Range].
2019-01-10 17:02:49 -06:00
Markus Scherer
4840a9cedd ICU-20329 XLocaleMatcher new test data format, parameterized test, more test cases 2019-01-09 14:20:27 -08:00
Yoshito Umaoka
6cc883775b ICU-20331 time zone data updates for tzdata2018i 2019-01-03 14:37:58 -05:00
Andy Heninger
58786f5cbe ICU-12079 Full width digits become numeric for word break. 2018-12-18 16:36:06 -08:00
Markus Scherer
471d834efc ICU-20305 XLikelySubtags avoid illegal type conversion, fix some linter warnings 2018-12-14 12:25:56 -08:00
Mihai Nita
2666d18e54 ICU-9622 Adding support for date/time skeletons 2018-12-13 13:20:33 -08:00
Markus Scherer
3b16ae86c6 ICU-20292 u_charFromName() prevent code point integer overflow, and limit to at most 8 hex digits 2018-12-12 14:08:37 -08:00
Victor Chang
6caa276083 ICU-20295 Fix wrong java doc of "{#link" in TimeZoneFormat 2018-12-12 06:45:37 -08:00
Shane Carr
bb2b390b87 ICU-20186 Adding test for leading and trailing spaces in DecimalFormat. 2018-12-05 15:37:38 -08:00
Andy Heninger
e1e5f363a0 ICU-20288 add line_cj.txt to RBBI Monkey test. 2018-11-30 10:57:21 -08:00
Andy Heninger
11da8d646d ICU-11919 OlsonTimeZone, fix for Thread Sanitizer failure in cloneAsThawed(). 2018-11-29 11:09:50 -08:00
Markus Scherer
ea7c030961 ICU-20203 update ICU to Unicode 12 beta
- data as of 2018-nov-26
- API constants for new blocks & scripts
- sync RBBIMonkeyTest.java test data with C++
2018-11-28 23:13:07 +01:00
Shane Carr
1e4a8d3c29 ICU-20186 Adding test for semicolon behavior and spacing in DecimalFormat. 2018-11-26 18:49:32 -06:00
Shane Carr
c0799c141b ICU-20230 Implementing COMPACT field.
Adds some plumbing to allow MutablePatternModifier to set fields, and otherwise builds upon the infrastructure from the previous commit to add the MEASURE_UNIT field.
2018-11-19 16:21:36 -07:00
Shane Carr
74bbf9e381 ICU-13267 Implementing MEASURE_UNIT field.
Adds plumbing to trim whitespace near the FormattedNumber API boundary.
That plumbing requires a change to dependencies.txt.
2018-11-15 21:37:32 -07:00
Markus Scherer
98f9170004 ICU-20250 make UnicodeSet(intprop=value) faster
- fastpath for UnicodeSet.add(new last range)
- fewer UnicodeSet memory allocations:
  initial internal list array, exponential array growth,
  allocate strings list/set only when first one is added
- faster CodePointTrie.getRange(): fewer calls to filter function
- revert UnicodeSet(intprop=value) from trie ranges to range starts + lookup
- cache per-int-prop range starts: fewer lookups
2018-11-12 16:05:57 -08:00
Shane Carr
11a559f319 ICU-13267 Refactoring field position testing logic into helper function.
Makes future field position logic easier to test.
2018-11-08 17:13:29 -07:00
Shane Carr
ba21ff79c4 ICU-13701 Syncs C and J increment rounding. Checks for nickel sooner. 2018-11-08 17:13:17 -07:00
Shane Carr
a1cc16ccd3 ICU-13701 Refactoring DecimalQuantity: removing lOptPos/rOptPos.
Combined ICU4C and ICU4J.
2018-11-08 02:43:31 -07:00
Markus Scherer
59006770ed ICU-20250 faster MutableCodePointTrie.build(): use a hashtable to find equal blocks in earlier parts of the compacted data & index arrays 2018-11-07 14:29:24 -08:00
Markus Scherer
cee3c150ab ICU-20255 revert to reflection for methods not yet in Android API level 21..23 2018-11-06 08:05:37 -08:00
Shane Carr
53d8c8f3d1 ICU-20246 Fixing another integer overflow in number parsing. 2018-10-31 13:37:09 -07:00
Yoshito Umaoka
12a71c7dcb ICU-20245 tzdata2018g updates 2018-10-30 18:14:03 -04:00
Shane Carr
f8c09f776a ICU-20231 Adding tests for accounting with variable currency widths. 2018-10-29 16:29:06 -07:00
Shane Carr
8018eb84e7 ICU-13701 Adding custom logic for nickel rounding, C and J.
Avoids expensive arithmetic when performing nickel rounding for currencies such as CAD, CHF, and DKK.
2018-10-29 16:28:42 -07:00
Fredrik Roubert
10e79698d7 ICU-20228 Fix common typos for "language". 2018-10-24 20:54:10 +02:00
Shane Carr
aa898cc042 ICU-11511 Adding tests for CLDR-10103 scientific notation spec changes. 2018-10-23 17:46:33 -07:00
Yoshito Umaoka
48d3ad0d39 ICU-20224 tzdata2018f updates. 2018-10-19 22:15:18 -04:00
Frank Tang
fa3ab39671 ICU-20109 Upgrade Java RelativeDateTimeFormatter QUARTER to @draft
(#221)

add tests for AbsoluteUnit.QUARTER
2018-10-19 15:38:36 -07:00
Andy Heninger
e509105c9b
ICU-20205 RelativeDateTimeFormatter pt data fix, improved error handling and test. (#210)
* ICU-20205 Add locale test for RelativeDateTimeFormatter.

* ICU-20205 Fix error in pt relative date data. Improve error handling in code.

* ICU-20205 Add instantiation test & regen data from ICU4C

* ICU-20205 Added DateFormatSymbols error check per jefgen's comments.
2018-10-12 16:19:14 -07:00
leadpony
2e580c0504 ICU-20192 Add Automatic-Module-Name to META-INF/MANIFEST.MF (#193)
* Add Automatic-Module-Name to META-INF/MANIFEST.MF

* Added com.ibm.icu.number in Export-Package list

* Add Automatic-Module-Name to charset and localespi
2018-10-08 11:41:02 -04:00
pedberg-icu
b098078ab8
ICU-20120 63 BRS, integrate cldr release-34-beta with various fixes (#186) 2018-10-05 11:01:15 -07:00
pedberg-icu
bac4c96020
ICU-20119 cldr release-34-alpha3 integration (#181)
ICU-20119 cldr release-34-alpha3 integration (PR #181):
* ICU-20119 63rc BRS, cldr 34-alpha3: add ku,xh; fixes for de/it CompactDec, availFmts yw amd MW patterns
* ICU-20119 Skip & log_knownIssue for Windows LCID mapping problem with ckb/ku
2018-09-28 16:09:15 -07:00
Yoshito Umaoka
8fb353c749
ICU-20119 BRS63RC Add ICU4J serialization test data (#178)
Added serialized test data with ICU4J 63.1, removed one for ICU 58.1.
2018-09-28 10:26:04 -04:00
Shane F. Carr
038c0e167c
ICU-20119 ICU4J API promotion, @draft 60 → @stable 60 (#174)
* ICU-20119 ICU4J API promotion, @draft 60 → @stable 60

* ICU-20119 Updating ICU4J API Change Report.

* ICU-20119 FilteredBreakIteratorBuilder and NumberingSystem to @stable (ICU4J).
2018-09-27 18:31:53 -07:00
Markus Scherer
ff9876421e
ICU-20119 pool bundles for ICU 63/CLDR 34 (#173) 2018-09-27 14:27:42 -07:00
Fredrik Roubert
7326277ce3
ICU-20085 Revert workaround for pseudolocale region codes for display names.
This reverts commit 1dccd7472e9f2db4830293b9d33500ea4b4ce082.
2018-09-27 14:27:41 -07:00
pedberg-icu
4a139a3f91
ICU-20119 Merge pull request #162 from pedberg-icu/cldr34a-integration
ICU-20119 Integrate CLDR release-34-alpha2, adjust code & test, update MeasureUnit
2018-09-27 14:27:41 -07:00
Shane F. Carr
b9b6cfebd8
ICU-11319 Add tests for compact decimal in zh-Hant and zh-Hant-HK. (#166) 2018-09-27 14:27:41 -07:00
Markus Scherer
5148a38143
ICU-20125 numeric values of level constants will not change; fix/update some docs (#159) 2018-09-27 14:27:41 -07:00
Andy Heninger
4d82d71927
ICU-20119 Fix NumberFormat failures (by shane) 2018-09-27 14:27:41 -07:00
Shane F. Carr
5cfb733249
ICU-11276 Apply the approximately pattern inside of the unit string. (#148) 2018-09-27 14:27:41 -07:00
Peter Edberg
0185883ba5
ICU-20119 63rc BRS, merge current unicode-icu master (Sep 21) into cldr34a-integration branch 2018-09-27 14:27:41 -07:00
Peter Edberg
68eeb0c01f
ICU-20119 63rc BRS, cldr 34-alpha2 part 3: icu4j code for region,pluralRange; tests for pluralRange,serialization 2018-09-27 14:27:41 -07:00
Peter Edberg
54a35e43ee
ICU-20119 63rc BRS, cldr 34-alpha2 part 2: 10 locales, MeasUnit updates, icu4j tests with serialization fails 2018-09-27 14:27:41 -07:00
Shane
a8a6ffdb92
ICU-20037 Fixing ScientificMatcher integer overflow. (#138)
Also restricts parsing to read only one exponent per string.
2018-09-27 14:27:41 -07:00
Mihai Nita
531bc76ed5
ICU-20142 Document the skeleton for MessageFormat number arguments (#121) 2018-09-27 14:27:41 -07:00
Shane
e5bca0c9f7
ICU-20073 Do not parse stray percent sign in strict mode. (#145) 2018-09-27 14:27:41 -07:00
Shane
05d8814c2b
ICU-13266 Clarifying documentation for NumberFormat#equals(). (#146) 2018-09-27 14:27:41 -07:00
Shane
5adce9ad30
ICU-13824 Fixing MeasureFormat#getWidth() to not return @internal value. (#143) 2018-09-27 14:27:41 -07:00
Shane
9774394291
ICU-13830 Fixing CurrencyDisplayNames boolean attribute behavior. (#141) 2018-09-27 14:27:41 -07:00
Yoshito Umaoka
35e63d4ade
ICU-20153 Make ICU4J JapaneseCalendar constants non-inlineable. (#155) 2018-09-27 14:27:41 -07:00
Markus Scherer
a075ac9cf8
ICU-13832 Transliterator: move rule syntax docs from internal class to public (#150) 2018-09-27 14:27:41 -07:00
Yoshito Umaoka
24b490dc02
ICU-20150 API status of equals()/hashCode() should match the ICU class's status (#153)
- Updated API status of java.lang.Object method overrides (equals/hashCode/toString/clone) to match status of declaring class. There are some API comments that is insufficient, or incorrect, or not appropriate after the change. Most of these issues were fixed.

- APIStatusConsistencyChecker and ant tasks invoking the check, designed for checking this requirement. For now, Normalizer#clone() does not satisfy the requirement, but unchanged on purpose. The tool can accept exception.

- DeprecatedAPIChecker had a problem for handling non-static inner class's constructor. CodePointMap$StringIterator is the very first instance of such class in ICU4J. The problem was fixed by removing the implicit param scanned by reflection.

- This commit includes a lot of changes made by Eclipse project configuration - removing spaces in blank lines/end of statement, and removeal of redundant generics type declaration.
2018-09-27 14:27:41 -07:00
Jeff Genovy
c3f576710b
ICU-20119 BRS63rc Update version number for ICU4C and ICU4J. Update readme files. (#144)
BRS: Update version number for ICU 63 RC for ICU4J and ICU4C, also update readme files.
2018-09-27 14:27:41 -07:00
Shane Carr
068ef1c265
ICU-20063 Make setSignificantDigitsUsed more friendly. 2018-09-27 14:27:40 -07:00
jungshik
4ed35d7bb5
ICU-20140 Allow duplicated keys in U-extension per RFC 6067 (#136)
* ICU-20140 Allow duplicated keys in U-extension per RFC 6067

RFC 6067 [1] does allow duplicate keywords, but ICU4C's
uloc_forLanguageCode rejects it as invalid.

Change it to accept duplicate keywords and honor only the
1st one while ignoring subsequent ones per RFC 6067.

[1] Unicode extension to BCP 47:
    https://tools.ietf.org/html/rfc6067

* ICU-20140 Add ICU4J test and tweak ICU4C test

ICU4J test diverges from ICU4C tests:

1. Handling of duplicate variants in ICU4J seem to be wrong:
   https://unicode-org.atlassian.net/browse/ICU-20148
2. ULocale.forLanguageTag only throws NullPointException so
   that ICU4C's test for duplicate attributes cannot be ported.
2018-09-27 14:27:40 -07:00
Yoshito Umaoka
61c42a598b
ICU-20119 BRS63 Currency numeric code data update - VES and UYW (#126) 2018-09-27 14:27:40 -07:00
Victor Chang
b62200061c
ICU-20058 Fix mimimum significant digits in engineering notation
- Follow the spec to calculate the mimimum significant digits in engineering notation
- The bug is regression since ICU 58. The new test still passes on
ICU58-based DecimalFormat
- Maximum significant digits is not changed
2018-09-27 14:27:40 -07:00
gvictor
d461a0e49c
ICU-20133 Undeprecate Transliterator.Position#hashCode (#119)
Create a preper hash code with Objects.hash instead of returning 42
2018-09-27 14:27:40 -07:00
Yoshito Umaoka
cc6b107513
ICU-20119 BRS63RC Fix javac/javadoc/Eclipse errors/warnings (#132)
* ICU-20119 BRS63RC Fixing java compiler warnings

* ICU-20119 BRS63RC Fixing JavaDoc errors
2018-09-27 14:27:40 -07:00
Shane Carr
abb6ed034a
ICU-11276 Adding more test cases. Fixing minor issues with extended locales. 2018-09-27 14:27:40 -07:00
Shane Carr
4f2604655a
ICU-11276 Replying to Mark review feedback. 2018-09-27 14:27:40 -07:00
Shane Carr
d4e8ed7ed0
ICU-11276 Replying to Andy review feedback. 2018-09-27 14:27:40 -07:00
Shane Carr
b59ffcf1ca
ICU-11276 Porting pluralRanges support to Java. 2018-09-27 14:27:40 -07:00
Shane Carr
ec40c16957
ICU-11276 Fixing ICU4J number range test failures. 2018-09-27 14:27:40 -07:00
Shane Carr
af091cc15a
ICU-11276 One more attempt at fixing test failure. 2018-09-27 14:27:40 -07:00
Shane Carr
d717184948
ICU-11276 Fixing test failure related to number range. 2018-09-27 14:27:40 -07:00
Shane Carr
55974b2fb6
ICU-11276 Adding Java NumberRangeFormatter implementation. 2018-09-27 14:27:40 -07:00
Shane Carr
8210f9e7d3
ICU-11276 Replying to code review comments. 2018-09-27 14:27:39 -07:00
Shane Carr
0c5b7c2232
ICU-11276 Fixing Javadoc warnings in NumberRangeFormatter. 2018-09-27 14:27:39 -07:00
Shane Carr
92a86dfcf5
ICU-11276 Feedback from ICU-TC. Fixing doxygen warnings. 2018-09-27 14:27:39 -07:00
Shane Carr
9109a388f4
ICU-11276 Adding C++ base implementation of NumberRangeFormatter, including unit test. 2018-09-27 14:27:39 -07:00
Shane Carr
cc842512fa
ICU-11276 Assorted Java NumberRangeFormatter API improvements. 2018-09-27 14:27:39 -07:00
Shane Carr
fc0e6258db
ICU-11276 Adding enums and more API docs. 2018-09-27 14:27:39 -07:00
Shane Carr
37a40b31ed
ICU-11276 Adding placeholder implementation and more API functions. 2018-09-27 14:27:39 -07:00
Shane Carr
553f22585d
ICU-11276 Adding initial Java NumberRangeFormatter boilerplate. 2018-09-27 14:27:39 -07:00
Andy Heninger
b54702b7de
ICU-13801 Clarify Javadoc for BreakIterator.setText() (#69) 2018-09-27 14:27:39 -07:00
Markus Scherer
f779761bff
ICU-20116 remove @deprecated from Edits.Iterator.toString() (#98)
but keep @internal
2018-09-27 14:27:39 -07:00
Yoshito Umaoka
45cdda61a6
ICU-12973 CLDR Japanese Era data and tentative Japanese new era support (#111)
* Updated era data format in supplementalData.

* Include tentative era names in data. Implemented Japanese era loaded from CLDR data in ICU4J.

* ICU4C implementation, ICU4C refactoring. WIP.

* VS project updates and some bug fixes

Also added API comments.

* Review feedback and bug fixes

- NULL to nullptr
- use of LocalUResourceBundlePointer
- TYPO "name" to "named"
- env var checking stricmp() == 0

* API comment correction based on feedback

* Duplicate the comment in ucal.h to calendar.h

* Fixed spelling errors in API comment
2018-09-27 14:27:39 -07:00
jungshik
5cfdf4a519
ICU-20098 Fix BCP47 validity check for extlang and privateuse singleton (#102)
* ICU-20098 Fix the validty check for extlang in uloc_forLanguageTag

BCP 47 has the following for language. extlang subtag can only be
preceded by 2*3ALPHA. Add a check for the length of language subtag
before extlang subtag.

language      = 2*3ALPHA            ; shortest ISO 639 code
                 ["-" extlang]       ; sometimes followed by
                                     ; extended language subtags
               / 4ALPHA              ; or reserved for future use
               / 5*8ALPHA            ; or registered language subtag

 extlang       = 3ALPHA              ; selected ISO 639 codes
                 *2("-" 3ALPHA)      ; permanently reserved}}

With this change, 'hant-cmn-CN' would drop '-cmn-CN' keeping only
'hant'.

* ICU-20098 Fix the validty check for extlang for ICU4J

* ICU-20098 Fix the compiler failure for ICU4J

* ICU-20098 Fix a compile error and test.

* ICU-20098 Add a test for invalid private use  singleton

ICU4C's check for private use singleton subtag ('x') is wrong and
treats invalid language tags as valid.

ICU4J's check is correct and does not require any change.

Fix that and add tests to both ICU4C and ICU4J.
2018-09-27 14:27:39 -07:00
David Corbett
378b04c1b2
ICU-12979 Fix \Q...\E in UnicodeRegex#transform (#23) 2018-09-27 14:27:39 -07:00
Markus Scherer
82f0f480d4
ICU-20086 C++ sets & maps for Unicode properties (#93)
also create ucpmap.h from renamed parts of ucptrie.h
2018-09-27 14:27:39 -07:00
Andy Heninger
740b24118f
ICU-8151 Simplify Finnish Line Break Tailoring, move to root. (#99) 2018-09-27 14:27:39 -07:00
Victor Chang
ac0c7bbe3c
ICU-13808 Document ArithmeticException thrown by DecimalFormat
- Document the exception in the following methods
setMultiplier, setMathContext, setMathContextICU
- Add test to check the documented behavior
2018-09-27 14:27:39 -07:00
Markus Scherer
d2ec8987a7
ICU-8966 ICU-12850 add API/data/code for text layout properties InPC, InSC, vo (#92)
ICU-8966: Indic_Positional_Category & Indic_Syllabic_Category

ICU-12850: Vertical_Orientation
2018-09-27 14:27:39 -07:00
gnrunge
82cad0d03c
ICU-20092 Merge pull request #75 from gnrunge/langmatcher
ICU-20092 Integrates new languagematcher enhancements into ICU4J.
2018-09-27 14:27:39 -07:00
Fredrik Roubert
d2b2d2409a
ICU-20006 Parameterize the TestSourceTargetSet2 test case.
By extracting this test case into a separate class and separating the
complex and time consuming building of the UnicodeSet disorderedMarks
data structure into an @BeforeClass shared setup method it becomes
possible to test the 18 different transliteration rules as a
parameterized test case.

This will lower the running time per test case and also aid in debugging
as it will make it immediately obvious which transliteration rules cause
test failures (and which don't).
2018-09-27 14:27:39 -07:00
Norbert Runge
c854dd0d54
ICU-20092 Integrates new languagematcher enhancements into ICU4J. 2018-09-27 14:27:39 -07:00
Fredrik Roubert
f71ecc6b18
ICU-13483 Use a real time zone to make tests work in Android.
When running in Android, java.util.TimeZone.getDefault() will only
return a TimeZone object for a time zone that actually exists, so when
passing a bogus test TimeZone object to setDefault() and afterwards
calling getDefault() it won't return that same time zone.

Changing our tests to instead use a real existing (but otherwise unused)
time zone instead makes the tests work in Android as well.

Neither of these tests was testing the ability to set an arbitrarily
made up time zone as the default, so no test coverage is lost.
2018-09-27 14:27:39 -07:00
Andy Heninger
03c6e86c6c
ICU-13334 add test for reported word break behavior issue, not reproducable. (#74) 2018-09-27 14:27:38 -07:00
Markus Scherer
000c266045
ICU-13530 fix bugs, add tests, clarify docs (#83)
* ICU-13530 test & fix cptrie.getRange() when small null data block matches the start of a non-null fast data block

* ICU-13530 fix test bug

* ICU-13530 test & fix bug calculating worst-case data array capacity at start of compaction

* ICU-13530 docs: clarify buildImmutable() discards upper bits, trie then returns unsigned ints; range iteration slower than if ranges were stored directly

* ICU-13530 accept feedback on docs
2018-09-27 14:27:38 -07:00