Skip to content

Commit 191cba0

Browse files
committed
refactor testcase for issue #2749
1 parent 7f058bd commit 191cba0

File tree

1 file changed

+26
-32
lines changed

1 file changed

+26
-32
lines changed
Lines changed: 26 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,42 @@
11
package com.alibaba.fastjson2.issues_2700;
22

3-
import com.alibaba.fastjson2.JSON;
43
import com.alibaba.fastjson2.JSONException;
5-
import com.alibaba.fastjson2_vo.Int1;
4+
import com.alibaba.fastjson2.JSONReader;
5+
import com.alibaba.fastjson2_vo.Long1;
66
import org.junit.jupiter.api.Test;
77

8+
import java.nio.charset.StandardCharsets;
9+
810
import static org.junit.jupiter.api.Assertions.*;
911

1012
public class Issue2749 {
1113
@Test
1214
public void test() {
1315
String str = "{\"v0000\":\"Alexander77\"}";
14-
{
15-
JSONException error = null;
16-
try {
17-
JSON.parseObject(str, Int1.class);
18-
} catch (JSONException e) {
19-
error = e;
20-
}
21-
assertNotNull(error);
22-
assertTrue(error.getMessage().contains("parseInt error"));
23-
assertTrue(error.getMessage().contains("Alexander77"));
16+
try (JSONReader jsonReader = JSONReader.of(str)) {
17+
validate(jsonReader);
18+
}
19+
try (JSONReader jsonReader = JSONReader.of(str.toCharArray())) {
20+
validate(jsonReader);
21+
}
22+
23+
byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
24+
try (JSONReader jsonReader = JSONReader.of(bytes)) {
25+
validate(jsonReader);
2426
}
25-
{
26-
JSONException error = null;
27-
try {
28-
JSON.parseObject(str.toCharArray(), Int1.class);
29-
} catch (JSONException e) {
30-
error = e;
31-
}
32-
assertNotNull(error);
33-
assertTrue(error.getMessage().contains("parseInt error"));
34-
assertTrue(error.getMessage().contains("Alexander77"));
27+
try (JSONReader jsonReader = JSONReader.of(bytes, 0, bytes.length, StandardCharsets.ISO_8859_1)) {
28+
validate(jsonReader);
3529
}
36-
{
37-
JSONException error = null;
38-
try {
39-
JSON.parseObject(str.getBytes(), Int1.class);
40-
} catch (JSONException e) {
41-
error = e;
42-
}
43-
assertNotNull(error);
44-
assertTrue(error.getMessage().contains("parseInt error"));
45-
assertTrue(error.getMessage().contains("Alexander77"));
30+
}
31+
32+
private static void validate(JSONReader jsonReader) {
33+
JSONException error = null;
34+
try {
35+
jsonReader.read(Long1.class);
36+
} catch (JSONException e) {
37+
error = e;
4638
}
39+
assertTrue(error.getMessage().contains("parseLong error"));
40+
assertTrue(error.getMessage().contains("Alexander77"));
4741
}
4842
}

0 commit comments

Comments
 (0)