Fix sonarqube reliability issues

This commit is contained in:
Simulant
2025-12-20 22:57:24 +01:00
parent 128fb42ccc
commit 8cbb4d5bb3
2 changed files with 16 additions and 10 deletions

View File

@@ -9,6 +9,7 @@ import java.io.StringReader;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;
import java.util.Iterator; import java.util.Iterator;
import java.util.NoSuchElementException;
/** /**
* This provides static methods to convert an XML text into a JSONObject, and to * This provides static methods to convert an XML text into a JSONObject, and to
@@ -80,7 +81,7 @@ public class XML {
public Iterator<Integer> iterator() { public Iterator<Integer> iterator() {
return new Iterator<Integer>() { return new Iterator<Integer>() {
private int nextIndex = 0; private int nextIndex = 0;
private int length = string.length(); private final int length = string.length();
@Override @Override
public boolean hasNext() { public boolean hasNext() {
@@ -89,6 +90,9 @@ public class XML {
@Override @Override
public Integer next() { public Integer next() {
if (!hasNext()) {
throw new NoSuchElementException();
}
int result = string.codePointAt(this.nextIndex); int result = string.codePointAt(this.nextIndex);
this.nextIndex += Character.charCount(result); this.nextIndex += Character.charCount(result);
return result; return result;

View File

@@ -3117,12 +3117,13 @@ public class JSONObjectTest {
// test a more complex object // test a more complex object
writer = new StringWriter(); writer = new StringWriter();
try {
new JSONObject() JSONObject object = new JSONObject()
.put("somethingElse", "a value") .put("somethingElse", "a value")
.put("someKey", new JSONArray() .put("someKey", new JSONArray()
.put(new JSONObject().put("key1", new BrokenToString()))) .put(new JSONObject().put("key1", new BrokenToString())));
.write(writer).toString(); try {
object.write(writer).toString();
fail("Expected an exception, got a String value"); fail("Expected an exception, got a String value");
} catch (JSONException e) { } catch (JSONException e) {
assertEquals("Unable to write JSONObject value for key: someKey", e.getMessage()); assertEquals("Unable to write JSONObject value for key: someKey", e.getMessage());
@@ -3136,14 +3137,15 @@ public class JSONObjectTest {
// test a more slightly complex object // test a more slightly complex object
writer = new StringWriter(); writer = new StringWriter();
try {
new JSONObject() object = new JSONObject()
.put("somethingElse", "a value") .put("somethingElse", "a value")
.put("someKey", new JSONArray() .put("someKey", new JSONArray()
.put(new JSONObject().put("key1", new BrokenToString())) .put(new JSONObject().put("key1", new BrokenToString()))
.put(12345) .put(12345)
) );
.write(writer).toString(); try {
object.write(writer).toString();
fail("Expected an exception, got a String value"); fail("Expected an exception, got a String value");
} catch (JSONException e) { } catch (JSONException e) {
assertEquals("Unable to write JSONObject value for key: someKey", e.getMessage()); assertEquals("Unable to write JSONObject value for key: someKey", e.getMessage());