Modify ICU4C and ICU4J test readers to handle all tests
Add `ignoreJava` and `ignoreCpp` properties to tests where needed
Includes parser bug fixes:
ICU4J: require a complex-body after declarations
ICU4J: Correctly parse the complex body after an unsupported statement
ICU4J: Handle date params in tests and remove default params for tests
ICU4J: Handle decimal params in tests
ICU4J: Require whitespace before variable/literal in reserved annotation
ICU4J: Require whitespace between options
ICU4J: Require a variable-expression in an .input declaration
ICU4J: don't require space between last key and pattern in variant
ICU4J: don't require space between selectors
ICU4J: allow whitespace after '=' in option
ICU4J: parse escape sequences in quoted literals according to grammar
ICU4J: allow whitespace within markup after attributes list
Includes code fixes for `numberingSystem`, `percent`,
and `precision` options in `:number`
Also includes a code fix for number selection:
Refactor code to conform more closely to the steps in the spec,
and call the number formatter before the selector so that a FormattedNumber
with the right options is selected on
Some modifications were needed to add missing params
and to mark some tests as ignored (see ICU-22754).
Also added decimal arguments in JSON test reader
Finally, some redundant tests are removed:
all tests in messageformat2test_features and
messageformat2test_icu, and
messageformat2test_builtin are now covered by JSON tests
This change moves all test strings out of test/intltest/messageformat2test.cpp
and into JSON files, which are parsed/run by code in
a new file, test/intltest/messageformat2test_read_json.cpp .
It also removes the file test/intltest/messageformat2test_fromjson.cpp ,
which contained tests that are now stored in JSON files.
To enable this, a new vendored library is added:
nlohmann/json .
This library is introduced as a dependency for the MF2 tests.
The required part of the library is a single header file,
which is added under icu4c/source/tools/toolutil/.
Also adds a wrapper file for the vendored JSON header file
that defines macros that disable exceptions.
Co-authored-by: Steven R. Loomis <srl295@gmail.com>
Change testdata/likelySubtags.txt to consider FAIL line
ICU-20777 Fix Java Tests
ICU-20777 Fix all issues
ICU-20777 Incase timeout
ICU-20777
ICU-20777 Skip Data Driven test