X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fcore%2Ftests%2FFunctionTest.cxx;fp=src%2Fcore%2Ftests%2FFunctionTest.cxx;h=5357bb906aab3f5e6c6ace6b7d770b0f683cb1d8;hp=0000000000000000000000000000000000000000;hb=9f53c415cf1554e2d9cc040d3d646ec22fe281f6;hpb=149f8e76d1eed5037c583bad599a27154ce3d9a9 diff --git a/src/core/tests/FunctionTest.cxx b/src/core/tests/FunctionTest.cxx new file mode 100644 index 0000000..5357bb9 --- /dev/null +++ b/src/core/tests/FunctionTest.cxx @@ -0,0 +1,26 @@ +#include + +#include "gui/qt.hxx" +#include "core/InformationManager.hxx" +#include "core/BasicBlock.hxx" +#include "core/Function.hxx" + +TEST(FunctionTest, deserializeValidInstance) { + QFile file("testdata/core/Function/valid.xml"); + InformationManager manager; + file.open(QFile::ReadOnly | QFile::Text); + QXmlStreamReader reader(&file); + + reader.readNextStartElement(); + Function* fun = Function::deserialize(reader, &manager); + + ASSERT_NE((void*)NULL, (void*)fun); + EXPECT_STREQ("main", fun->getName().c_str()); + EXPECT_EQ(0x403e10, fun->getStartAddress()); + + EXPECT_STREQ("BLOCK_403e10_403e48", fun->blocks().find(0x403e10)->second->getName().c_str()); + EXPECT_STREQ("BLOCK_403e48_403e50", fun->blocks().find(0x403e48)->second->getName().c_str()); + EXPECT_STREQ("BLOCK_403e50_403e66", fun->blocks().find(0x403e50)->second->getName().c_str()); + EXPECT_STREQ("BLOCK_403e66_403e75", fun->blocks().find(0x403e66)->second->getName().c_str()); +} +