@@ -25,15 +25,25 @@ class HexViewLayoutTest {
2525
2626 assertEquals(1 , rows.size)
2727 assertEquals(16 , rows[0 ].paddedHexValues.size)
28+ assertEquals(16 , rows[0 ].asciiValues.size)
2829 assertEquals(listOf (" 41" , " 42" , " 43" ), rows[0 ].paddedHexValues.take(3 ))
2930 assertTrue(rows[0 ].paddedHexValues.drop(3 ).all { it == " " })
31+ assertEquals(listOf (" A" , " B" , " C" ), rows[0 ].asciiValues.take(3 ))
32+ assertTrue(rows[0 ].asciiValues.drop(3 ).all { it == " " })
3033 }
3134
3235 @Test
3336 fun `ascii cells convert printable bytes and replace control bytes` () {
3437 val rows = buildHexRows(byteArrayOf(0x41 , 0x20 , 0x0A , 0x7F ))
3538
36- assertEquals(listOf (" A" , " " , " ." , " ." ), rows.single().asciiValues)
39+ assertEquals(listOf (" A" , " " , " ." , " ." ), rows.single().asciiValues.take(4 ))
40+ }
41+
42+ @Test
43+ fun `buildHexRows formats high-bit bytes as two-digit hex` () {
44+ val rows = buildHexRows(byteArrayOf(0xEE .toByte(), 0xFF .toByte(), 0x80 .toByte()))
45+
46+ assertEquals(listOf (" EE" , " FF" , " 80" ), rows.single().paddedHexValues.take(3 ))
3747 }
3848
3949 @Test
0 commit comments