mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-01-03 13:30:25 +07:00
Encoding tests
This commit is contained in:
parent
9266b55ddf
commit
c5241eaaf6
@ -335,15 +335,14 @@ public class TypeIO{
|
||||
buffer.putShort((short) bytes.length);
|
||||
buffer.put(bytes);
|
||||
}else{
|
||||
buffer.put((byte) -1);
|
||||
buffer.putShort((short) -1);
|
||||
}
|
||||
}
|
||||
|
||||
@ReadClass(String.class)
|
||||
public static String readString(ByteBuffer buffer){
|
||||
byte length = buffer.get();
|
||||
if(length != -1){
|
||||
short slength = buffer.getShort();
|
||||
short slength = buffer.getShort();
|
||||
if(slength != -1){
|
||||
byte[] bytes = new byte[slength];
|
||||
buffer.get(bytes);
|
||||
return new String(bytes, StandardCharsets.UTF_8);
|
||||
@ -372,14 +371,13 @@ public class TypeIO{
|
||||
buffer.writeShort((short) bytes.length);
|
||||
buffer.write(bytes);
|
||||
}else{
|
||||
buffer.writeByte((byte) -1);
|
||||
buffer.writeShort((short) -1);
|
||||
}
|
||||
}
|
||||
|
||||
public static String readStringData(DataInput buffer) throws IOException{
|
||||
byte length = buffer.readByte();
|
||||
if(length != -1){
|
||||
short slength = buffer.readShort();
|
||||
short slength = buffer.readShort();
|
||||
if(slength != -1){
|
||||
byte[] bytes = new byte[slength];
|
||||
buffer.readFully(bytes);
|
||||
return new String(bytes, StandardCharsets.UTF_8);
|
||||
|
34
tests/src/test/java/IOTests.java
Normal file
34
tests/src/test/java/IOTests.java
Normal file
@ -0,0 +1,34 @@
|
||||
import io.anuke.mindustry.io.TypeIO;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
public class IOTests{
|
||||
|
||||
@Test
|
||||
void writeEnglish(){
|
||||
ByteBuffer buffer = ByteBuffer.allocate(500);
|
||||
TypeIO.writeString(buffer, "asd asd asd asd asdagagasasjakbgeah;jwrej 23424234");
|
||||
buffer.position(0);
|
||||
assertEquals(TypeIO.readString(buffer), "asd asd asd asd asdagagasasjakbgeah;jwrej 23424234");
|
||||
}
|
||||
|
||||
@Test
|
||||
void writeChinese(){
|
||||
ByteBuffer buffer = ByteBuffer.allocate(500);
|
||||
TypeIO.writeString(buffer, "这个服务器可以用自己的语言说话");
|
||||
buffer.position(0);
|
||||
assertEquals(TypeIO.readString(buffer), "这个服务器可以用自己的语言说话");
|
||||
}
|
||||
|
||||
@Test
|
||||
void writeNull(){
|
||||
ByteBuffer buffer = ByteBuffer.allocate(500);
|
||||
TypeIO.writeString(buffer, null);
|
||||
buffer.position(0);
|
||||
assertEquals(TypeIO.readString(buffer), null);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user