Commit graph

4881 commits

Author SHA1 Message Date
Tim Chevalier
d0e30acc68 ICU-23059 ICU4C MF2: Spec test updates
Some checks failed
GHA CI Valgrind / clang-valgrind-intltest (spoof) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (translit) (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_IDNA=1) (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_LEGACY_CONVERSION=1 -DUCONFIG_NO_NORMALIZATION=1 -DUCONFIG_NO_BREAK_ITERATION=1 -DUCONFIG_NO_IDNA=1 -DUCONFIG_NO_COLLATION=1 -DUCONFIG_NO_FORMATTING=1 -DUCONFIG_NO_MF2=1 -DUCONFIG_NO_TRANSLITERATION=1 -DUCONFIG_NO_REG… (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_LEGACY_CONVERSION=1) (push) Has been cancelled
GHA ICU4C / icu4c-without-collation-rule-strings (push) Has been cancelled
GHA ICU4C / icu4c-icuexportdata (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (rbbi) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-test (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (bidi) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (collator) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (convert) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (csdet) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (format) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (rbnfrt) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (regex) (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_MF2=1) (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_NORMALIZATION=1) (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_REGULAR_EXPRESSIONS=1) (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_SERVICE=1) (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_TRANSLITERATION=1) (push) Has been cancelled
GHA ICU4C / unicode-update-tools (push) Has been cancelled
GHA ICU4C / icu4c-test-samples (push) Has been cancelled
GHA ICU4C / icu4c-uconfig-no-conversion (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (icuserv) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (idna) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (normalize) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (rbnf) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (rbnfp) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (utility) (push) Has been cancelled
Update spec tests to current version from message-format-wg

  - Update parser for changed name-start grammar rule
  - Validate number literals in :number implementation (since parser no longer does this)
  - Disallow `:number`/`:integer` select option set from variable

    See https://github.com/unicode-org/message-format-wg/pull/1016

    As part of this, un-skip tests where the `bad-option` error is
    expected, and implement validating digit size options
    (pending PR https://github.com/unicode-org/icu/pull/2973 is intended
    to do this more fully)
2025-03-27 15:20:49 -07:00
Steve Lawrence
3edd9c828a ICU-22303 Support parsing infinity/NaN when decimal pattern match is required
If a DecimalFormat pattern contains a decimal point and
setDecimalPatternMatchRequired is true, then DecimalFormat parse() fails
to parse infinity/NaN representations. This is because infinity/NaN
parsing does not set the HAS_DECIMAL_SEPARATOR_FLAG and so the
RequireDecimalSeparatorValidator fails.

This modifies the RequireDecimalSeparatorValidator so that it does not
fail if the INFINITY or NAN flags are set, making it so decimal
separators are not required if the infinity/NaN representations are
parsed.
2025-03-19 16:19:41 -07:00
Frank Tang
255eb4ef3e ICU-23069 Fix Hebrew calendar calculation
See #3438
2025-03-19 13:45:52 -07:00
Markus Scherer
72406ed78a
ICU-23056 merge maint/maint-77 to main (#3436) 2025-03-13 15:07:01 -07:00
Mihai Nita
457157a92a ICU-22923 Workaround for addLikelySubtags(und-Latn-RS) bug 2025-03-10 16:06:50 -07:00
yumaoka
27cc39a620 ICU-23067 Add test option to ignore runtime time zone data sensitive test. 2025-03-07 17:57:45 -05:00
Frank Tang
53adb4bca8 ICU-23060 Fix TestLargeAppend
Correct the test based on the kMaxCapacity
setToBogus on error
2025-02-27 11:02:54 -08:00
DraganBesevic
d6ca2ba5de ICU-22923 Integrate CLDR 47 release beta2, part 4, remove unused variables in tests 2025-02-26 12:54:55 -08:00
DraganBesevic
19dd858b6a ICU-22923 Integrate CLDR 47 release beta2, part 3, source and test files 2025-02-26 12:54:55 -08:00
Frank Tang
0b88b1c754 ICU-23060 Fix heap-buffer-overflow when UnicodeString size too large
See #3416
2025-02-25 15:36:06 -08:00
Tim Chevalier
0748442ed6 ICU-23059 ICU4C MF2: Update spec tests
This updates the MF2 spec tests to 943479b602 with the following exceptions:

- functions/currency.json and functions/math.json are omitted because these are not yet implemented

- bidi.json will be handled in a future PR

- u-options.json will be handled in a future PR

Changes include:
* `:integer` now returns a value encapsulating the rounded numeric value of the argument, rather than
  the value itself.
* Fallbacks are handled according to the current spec.
* Fallback values are not passed into functions.
* Characters inside literal fallbacks are properly escaped.
* The test runner skips null values properly.
* The test runner handles boolean `expErrors` in defaultTestProperties.
* `:string` normalizes its input and normalizeNFC() has been refactored so it can be called there.
2025-02-25 12:24:07 -08:00
sven-oly
1b48d262c2 ICU-22922 Scrubbing closed issues
See #3399
2025-02-21 11:24:10 -08:00
Robin Leroy
215131c1a4 ICU-22984 Remove some obnoxious tests from 2003 2025-02-19 23:30:34 +01:00
Younies Mahmoud
3c85be19ec ICU-22781 Uncomment and enable constant denominator tests
See #3385
2025-02-14 10:34:51 +01:00
Younies Mahmoud
e20b71af50 ICU-22781 Add CLDR-18274 failing comments to portion unit formatting tests
See #3393
2025-02-12 23:12:13 +01:00
Younies Mahmoud
35c9778781 ICU-22781 Support Arbitrary Constant Unit Formatting
See #3381
2025-02-12 01:45:16 +01:00
Frank Tang
59af52bb6f ICU-23043 Propogate error in Calendar. 2025-02-11 15:14:27 -08:00
Younies Mahmoud
42e3b43c78 ICU-22781 Add test for portion format with parts per billion (C++)
See #3389
2025-02-11 23:37:53 +01:00
Mihai Nita
84599e1117 ICU-22781 Comment out the failing tests 2025-02-10 10:46:19 -08:00
Mihai Nita
339ebb368f ICU-22781 Data generated with the concentr/perbillion on, code update
Following the steps in docs/processes/release/tasks/updating-measure-unit.md
2025-02-10 10:46:19 -08:00
Fredrik Roubert
db42c87936 ICU-22954 A build test for C++ header-only APIs with C++ APIs disabled. 2025-02-07 20:14:20 +01:00
Fredrik Roubert
ee8806e87c ICU-22954 Make UCollator predicates usable without U_SHOW_CPLUSPLUS_API.
Until now, the implementation of the UCollator predicates has been using
UnicodeString and StringPiece as convenient wrappers for converting from
standard C++ data types to ICU4C data types.

But as that doesn't work when the client uses ICU4C built without
U_SHOW_CPLUSPLUS_API this is now changed to instead perform these
conversions directly.

(It's a bit more code, but does just the same thing in the end.)
2025-02-07 20:14:20 +01:00
Younies Mahmoud
697f7c0e00 ICU-22781 Fix &Improve MeasureUnit identifier generation for constant denominators (C++)
See #3364
2025-02-06 12:06:58 +01:00
Markus Scherer
4a7a4c7521 ICU-22954 USet C++ iter samples no UnicodeString
See #3316
2025-02-05 14:47:48 -08:00
Frank Tang
0112e4292e ICU-22962 Fix int32_t overflow issue when month is large 2025-02-04 15:39:32 -08:00
DraganBesevic
d49c1242f9 ICU-22922 Integrate CLDR 47 release alpha1, part 3, source files 2025-01-30 13:45:15 -08:00
Robin Leroy
8a11097b2e ICU-22984 Generate the C++ UAX29 monkeys 2025-01-29 10:02:44 +01:00
Robin Leroy
a154b5839c ICU-22984 code motion: move SegmentationRule before RBBIMonkeyKind 2025-01-29 10:02:44 +01:00
Frank Tang
7153a3db52 ICU-23006 Fix Chinese Calendar getActualMaximize
See #3348
2025-01-28 16:34:26 -08:00
Younies Mahmoud
d70b252cdc ICU-22781 Add support for converting units with constant denominators (C++)
See #3347
2025-01-25 01:45:49 +01:00
Younies Mahmoud
ba4d4d3ac2 ICU-22781 Adding support for constant denominators (C++)
See #3337
2025-01-24 02:06:43 +01:00
George Rhoten
2d6a4185c3 ICU-22979 Support inverse rule for [] span in RBNF 2025-01-15 08:56:08 -08:00
Fredrik Roubert
b2a47f9aa4 ICU-22954 Delete copy & assign from IcuTestErrorCode.
There's no reason to ever make a copy of these objects, existing code
that does this is doing it by mistake.
2025-01-07 12:23:51 +09:00
Frank Tang
93ce388619 ICU-23002 Fix int64_t overflow in NFRule::parseRuleDescriptor
See #3324
2025-01-03 15:48:24 -08:00
Markus Scherer
b0ae845e47 ICU-22954 USetHeaderOnlyTest use unique_ptr 2024-12-23 11:17:14 -08:00
Frank Tang
4c9ef1a31b ICU-22962 Fix int overflow in Calendar::handleComputeJulianDay 2024-12-20 16:12:58 -08:00
Robin Leroy
7d60bb844e ICU-22986 GL takes CM 2024-12-20 03:54:59 +01:00
Markus Scherer
e3bc073737 ICU-22954 header-only-test USet C++ iterators 2024-12-19 17:40:33 -08:00
Markus Scherer
320220ef69 ICU-22954 intltest.h & IcuTestErrorCode usable without U_SHOW_CPLUSPLUS_API 2024-12-19 17:40:33 -08:00
Markus Scherer
d03826cdee ICU-22954 USet C++ iterator return std::u16string 2024-12-19 17:40:33 -08:00
Frank Tang
a7291c4e51 ICU-22962 Fix int32 overflow in Chinese Calendar 2024-12-16 18:02:05 -08:00
Tim Chevalier
1b8118049f ICU-22940 MF2 ICU4C: Update for bidi support
Per https://github.com/unicode-org/message-format-wg/pull/884
2024-12-11 12:32:25 -08:00
Peter Edberg
3b9c0fc4a5 ICU-22922 Integrate CLDR 46.1 beta1 to ICU main, part 3: ICU code/test mods 2024-12-09 13:08:14 -08:00
Tim Chevalier
62b95bb5f9 ICU-22908 MF2: Update spec tests and update implementation for recent spec changes
Updating the spec tests requires two implementation changes:
* Match on variables rather than expressions --
  see https://github.com/unicode-org/message-format-wg/pull/877
* Require attribute values to be literals (if present) --
  see https://github.com/unicode-org/message-format-wg/pull/894

This updates the spec tests to commit 6c3704f41a9c24427126429fb43992b03609dfc8
in https://github.com/unicode-org/message-format-wg/ . Any changes
following that commit will be addressed in a future PR.
2024-12-09 09:38:28 -08:00
Frank Tang
73956e9cf3 ICU-22736 Fix Persian calendar
ICU-22736 Add tests for java and make correction

Update icu4c/source/i18n/persncal.cpp

Co-authored-by: Markus Scherer <markus.icu@gmail.com>
2024-12-06 16:24:57 -08:00
Robin Leroy
e59065cc74 ICU-22984 Clean up old monkeys 2024-12-04 18:38:23 +01:00
Robin Leroy
757f27cd35 ICU-22984 Move old monkeys 2024-12-04 18:38:23 +01:00
Robin Leroy
3f959352b5 ICU-22984 Optimize old monkeys 2024-12-04 18:38:23 +01:00
Robin Leroy
5519b85730 ICU-22984 Generate old monkeys 2024-12-04 18:38:23 +01:00
Frank Tang
e025466e3a ICU-22983 Fix DecimalQuantity::shiftLeft ubsan issue
ICU-22983 Add java tests and comments
2024-11-27 17:33:34 -08:00