mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-08 06:53:45 +00:00
Change public method to use StringPiece
This commit is contained in:
parent
6369aba35a
commit
2ea62fea16
3 changed files with 7 additions and 2 deletions
|
@ -731,7 +731,7 @@ private:
|
|||
} // namespace
|
||||
|
||||
|
||||
MeasureUnit MeasureUnit::forIdentifier(const char* identifier, UErrorCode& status) {
|
||||
MeasureUnit MeasureUnit::forIdentifier(StringPiece identifier, UErrorCode& status) {
|
||||
return Parser::from(identifier, status).getOnlySequenceUnit(status).build(status);
|
||||
}
|
||||
|
||||
|
|
|
@ -265,7 +265,7 @@ class U_I18N_API MeasureUnit: public UObject {
|
|||
* @param status Set if the identifier is invalid.
|
||||
* @draft ICU 67
|
||||
*/
|
||||
static MeasureUnit forIdentifier(const char* identifier, UErrorCode& status);
|
||||
static MeasureUnit forIdentifier(StringPiece identifier, UErrorCode& status);
|
||||
|
||||
/**
|
||||
* Copy assignment operator.
|
||||
|
|
|
@ -3355,6 +3355,11 @@ void MeasureFormatTest::TestCompoundUnitOperations() {
|
|||
meterSecond.withSIPrefix(UMEASURE_SI_PREFIX_CENTI, status);
|
||||
status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
|
||||
|
||||
// Test that StringPiece does not overflow
|
||||
MeasureUnit kiloSquareSecond2 = MeasureUnit::forIdentifier({secondCentimeter.getIdentifier(), 17}, status);
|
||||
verifySingleUnit(kiloSquareSecond2, UMEASURE_SI_PREFIX_KILO, 2, "square-kilosecond");
|
||||
assertTrue("string piece equality", kiloSquareSecond == kiloSquareSecond2);
|
||||
|
||||
MeasureUnit footInch = MeasureUnit::forIdentifier("foot+inch", status);
|
||||
MeasureUnit inchFoot = MeasureUnit::forIdentifier("inch+foot", status);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue