This commit is contained in:
Looly
2024-08-04 19:59:12 +08:00
parent 75f9a66998
commit 11ba7ba36c
4 changed files with 177 additions and 145 deletions

View File

@@ -12,14 +12,48 @@
package org.dromara.hutool.json;
import org.dromara.hutool.core.io.IoUtil;
import org.dromara.hutool.core.io.resource.ResourceUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
public class JSONTokenerTest {
@Test
public void parseTest() {
void parseTest() {
final JSONObject jsonObject = JSONUtil.parseObj(ResourceUtil.getUtf8Reader("issue1200.json"));
Assertions.assertNotNull(jsonObject);
assertNotNull(jsonObject);
}
@Test
void nextTest() {
final JSONTokener jsonTokener = new JSONTokener("{\"ab\": \"abc\"}");
final char c = jsonTokener.nextTokenChar();
assertEquals('{', c);
assertEquals("ab", jsonTokener.nextString());
final char c2 = jsonTokener.nextTokenChar();
assertEquals(':', c2);
assertEquals("abc", jsonTokener.nextString());
IoUtil.closeQuietly(jsonTokener);
}
/**
* 兼容非包装符包装的value和key
*/
@Test
void nextWithoutWrapperTest() {
final JSONTokener jsonTokener = new JSONTokener("{ab: abc}");
final char c = jsonTokener.nextTokenChar();
assertEquals('{', c);
assertEquals("ab", jsonTokener.nextString());
final char c2 = jsonTokener.nextTokenChar();
assertEquals(':', c2);
assertEquals("abc", jsonTokener.nextString());
IoUtil.closeQuietly(jsonTokener);
}
}