Merge pull request #234 from simoleo89/fix/items-data-lookups

fix(items): harden item data lookups
This commit is contained in:
DuckieTM
2026-06-17 10:03:23 +02:00
committed by GitHub
4 changed files with 163 additions and 31 deletions
@@ -0,0 +1,26 @@
package com.eu.habbo.habbohotel.items;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
class ItemDataGuardTest {
@Test
void normalizesExtraDataToDatabaseBound() {
assertEquals("", ItemDataGuard.normalizeExtraData(null));
assertEquals(ItemDataGuard.MAX_EXTRA_DATA_LENGTH,
ItemDataGuard.normalizeExtraData("x".repeat(ItemDataGuard.MAX_EXTRA_DATA_LENGTH + 1)).length());
}
@Test
void parsesOnlyPositiveVendingIds() {
assertArrayEquals(new int[]{1, 2, 3}, ItemDataGuard.parsePositiveIntList("1; 2.bad,3,-4,0"));
}
@Test
void ignoresMalformedMultiHeights() {
assertArrayEquals(new double[]{0.5, 1.25}, ItemDataGuard.parseHeights("0.5;nope;Infinity;1.25"));
}
}