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
Checklist
- [x] Required: Issue filed: https://unicode-org.atlassian.net/browse/ICU-22908
- [x] Required: The PR title must be prefixed with a JIRA Issue number.
- [x] Required: The PR description must include the link to the Jira Issue, for example by completing the URL in the first checklist item
- [x] Required: Each commit message must be prefixed with a JIRA Issue number.
- [x] Issue accepted (done by Technical Committee after discussion)
- [x] Tests included, if applicable
- [x] API docs and/or User Guide docs changed or added, if applicable
Note: this PR updates the shared tests, but doesn't update the ICU4J implementation with the two spec changes, so ICU4J tests will fail in CI for now.
I'll check with @mihnita about the Java side.
We also have this new fresh issue filed: https://unicode-org.atlassian.net/browse/ICU-22906
I am almost tempted to separate the tests again...
I am tempted to say "let's drop it"
We were supposed to be code freeze, and this is something that my superstition feels very strongly: submit on Friday evening :-)
Even if it lands on Monday, it is still "Friday afternoon" with respect to the ICU release schedule.
Notice: the branch changed across the force-push!
- icu4c/source/test/intltest/messageformat2test_read_json.cpp is different
~ Your Friendly Jira-GitHub PR Checker Bot
Notice: the branch changed across the force-push!
- icu4c/source/i18n/messageformat2_checker.cpp is different
- icu4c/source/i18n/messageformat2_checker.h is different
- icu4c/source/i18n/messageformat2_data_model.cpp is different
- icu4c/source/i18n/messageformat2_parser.cpp is different
- icu4c/source/i18n/messageformat2_parser.h is different
- icu4c/source/i18n/messageformat2_serializer.cpp is different
- icu4c/source/i18n/messageformat2.cpp is different
- icu4c/source/i18n/unicode/messageformat2_data_model.h is different
- icu4c/source/i18n/unicode/messageformat2.h is different
- icu4c/source/test/intltest/messageformat2test_custom.cpp is different
- icu4c/source/test/intltest/messageformat2test_read_json.cpp is different
- icu4c/source/test/intltest/messageformat2test_utils.h is different
- icu4c/source/test/intltest/messageformat2test.cpp is different
- testdata/message2/normalization.json is now changed in the branch
~ Your Friendly Jira-GitHub PR Checker Bot