1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.mina.util;
20
21 import static org.junit.Assert.assertEquals;
22
23 import java.nio.ByteBuffer;
24
25 import org.junit.Test;
26
27
28
29
30
31 public class ByteBufferDumperTest {
32
33 @Test
34 public void stringTest() {
35 String toTest = "yopYOP\n\r";
36 byte[] charData = toTest.getBytes();
37 assertEquals(toTest.length(), charData.length);
38
39 ByteBuffer myBuffer = ByteBuffer.allocate(toTest.length());
40 for (int i = 0; i < toTest.length(); i++) {
41 myBuffer.put(charData[i]);
42 }
43 myBuffer.flip();
44
45 int remaining = myBuffer.remaining();
46 int pos = myBuffer.position();
47 String dump = ByteBufferDumper.dump(myBuffer);
48 assertEquals("ByteBuffer[len=8,str='" + toTest + "']", dump);
49 assertEquals(remaining, myBuffer.remaining());
50 assertEquals(pos, myBuffer.position());
51 }
52
53 @Test
54 public void binaryTest() {
55 ByteBuffer myBuffer = ByteBuffer.allocate(4);
56 myBuffer.put((byte) 0x88);
57 myBuffer.put((byte) 0x03);
58 myBuffer.put((byte) 0xFF);
59 myBuffer.flip();
60
61 int remaining = myBuffer.remaining();
62 int pos = myBuffer.position();
63 String dump = ByteBufferDumper.dump(myBuffer);
64 System.err.println(dump);
65 assertEquals("ByteBuffer[len=3,bytes='0x88 0x03 0xFF']", dump);
66 assertEquals(remaining, myBuffer.remaining());
67 assertEquals(pos, myBuffer.position());
68 }
69
70 @Test
71 public void testWithSizeLimit() {
72 ByteBuffer bb = ByteBuffer.allocate(10);
73 bb.put(new byte[] { 0x01, (byte) 0x8F, 0x04, 0x7A, (byte) 0xc2, 0x23, (byte) 0xA0, 0x08, 0x44 });
74 bb.flip();
75
76 assertEquals("ByteBuffer[len=9,bytes='0x01 0x8F 0x04 0x7A 0xC2']", ByteBufferDumper.dump(bb, 5, false));
77 assertEquals("ByteBuffer[len=9,bytes='0x01 0x8F 0x04 0x7A 0xC2']", ByteBufferDumper.dump(bb, 5, true));
78 assertEquals("ByteBuffer[len=9,str='']", ByteBufferDumper.dump(bb, 0, true));
79 assertEquals("ByteBuffer[len=9,bytes='0x01 0x8F 0x04 0x7A 0xC2 0x23 0xA0 0x08 0x44']",
80 ByteBufferDumper.dump(bb, 10, true));
81 assertEquals("ByteBuffer[len=9,bytes='0x01 0x8F 0x04 0x7A 0xC2 0x23 0xA0 0x08 0x44']",
82 ByteBufferDumper.dump(bb, -1, false));
83 }
84
85 @Test
86 public void toHex() {
87 ByteBuffer bb = ByteBuffer.allocate(4);
88 bb.put((byte) 0);
89 bb.put((byte) 1);
90 bb.put((byte) 2);
91 bb.put((byte) 254);
92 bb.flip();
93 assertEquals("000102FE", ByteBufferDumper.toHex(bb));
94 }
95 }