提交 5a8b8b11 编写于 作者: A Arjen Poutsma 提交者: Brian Clozel

Add test for calculateCapacity

Issue: SPR-17558
Closes gh-2054
上级 a00be62b
......@@ -99,7 +99,7 @@ public final class CharSequenceEncoder extends AbstractEncoder<CharSequence> {
});
}
private int calculateCapacity(CharSequence sequence, Charset charset) {
int calculateCapacity(CharSequence sequence, Charset charset) {
float maxBytesPerChar = this.charsetToMaxBytesPerChar
.computeIfAbsent(charset, cs -> cs.newEncoder().maxBytesPerChar());
float maxBytesForSequence = sequence.length() * maxBytesPerChar;
......
......@@ -16,11 +16,19 @@
package org.springframework.core.codec;
import java.nio.charset.Charset;
import java.util.stream.Stream;
import org.junit.Test;
import reactor.core.publisher.Flux;
import org.springframework.core.ResolvableType;
import org.springframework.util.MimeTypeUtils;
import static java.nio.charset.StandardCharsets.ISO_8859_1;
import static java.nio.charset.StandardCharsets.US_ASCII;
import static java.nio.charset.StandardCharsets.UTF_16;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.junit.Assert.*;
/**
......@@ -65,4 +73,17 @@ public class CharSequenceEncoderTests
.verifyComplete());
}
@Test
public void calculateCapacity() {
String sequence = "Hello World!";
Stream.of(UTF_8, UTF_16, ISO_8859_1, US_ASCII, Charset.forName("BIG5"))
.forEach(charset -> {
int capacity = this.encoder.calculateCapacity(sequence, charset);
int length = sequence.length();
assertTrue(String.format("%s has capacity %d; length %d", charset, capacity, length),
capacity >= length);
});
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册