修复DataSize.parse(size)不支持空格问题

This commit is contained in:
Looly
2023-10-18 14:42:22 +08:00
parent 733c043c0a
commit 85feecc9e9
3 changed files with 9 additions and 4 deletions

View File

@@ -185,7 +185,7 @@ public final class DataSize implements Comparable<DataSize> {
public static DataSize parse(CharSequence text, DataUnit defaultUnit) {
Assert.notNull(text, "Text must not be null");
try {
final Matcher matcher = PATTERN.matcher(text);
final Matcher matcher = PATTERN.matcher(StrUtil.cleanBlank(text));
Assert.state(matcher.matches(), "Does not match data size pattern");
final DataUnit unit = determineDataUnit(matcher.group(3), defaultUnit);

View File

@@ -60,4 +60,11 @@ public class DataSizeUtilTest {
format = DataSizeUtil.format(1024L * 1024 * 1024 * 1024);
Assert.assertEquals("1 TB", format);
}
@Test
public void issueI88Z4ZTest() {
final String size = DataSizeUtil.format(10240000);
final long bytes = DataSize.parse(size).toBytes();
Assert.assertEquals(10244587, bytes);
}
}