Skip to content

Commit 86152af

Browse files
committed
completes FunctionSerializer tests
1 parent 7d4c3a3 commit 86152af

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

test/scripts/ghidra/util/FunctionSerializerTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import org.junit.jupiter.api.*;
1313

14+
import com.google.gson.JsonElement;
1415
import com.google.gson.JsonObject;
1516
import com.google.gson.JsonParser;
1617
import com.google.gson.stream.JsonWriter;
@@ -44,6 +45,7 @@
4445
import java.io.StringWriter;
4546

4647
import java.util.ArrayList;
48+
import java.util.Iterator;
4749
import java.util.List;
4850

4951
// The FunctionSerializer is a utility class of the PatchestryListFunctions script.
@@ -146,5 +148,18 @@ public void testSerialize() throws Exception {
146148
JsonObject jsonOutput = JsonParser
147149
.parseString(stringWriter.toString())
148150
.getAsJsonObject();
151+
152+
assertEquals(jsonOutput.get("program").getAsString(), program.getName());
153+
Iterator<JsonElement> functions = jsonOutput.get("functions").getAsJsonArray().iterator();
154+
assertNotNull(functions);
155+
assertTrue(functions.hasNext());
156+
157+
while (functions.hasNext()) {
158+
JsonObject element = functions.next().getAsJsonObject();
159+
assertTrue(element.has("name"));
160+
assertTrue(element.has("address"));
161+
assertTrue(element.has("is_thunk"));
162+
}
163+
assertFalse(functions.hasNext());
149164
}
150165
}

0 commit comments

Comments
 (0)