1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-23 00:28:08 +02:00

WiP on zip serialization

(-) still not works correctly
This commit is contained in:
AlexVinS
2015-08-14 00:16:31 +03:00
committed by AlexVinS
parent fc2cbc841a
commit 0cc7213a27
7 changed files with 93 additions and 38 deletions

View File

@ -55,39 +55,32 @@ BOOST_GLOBAL_FIXTURE(CMapTestFixture);
BOOST_AUTO_TEST_CASE(CMapFormatVCMI_Simple)
{
try
logGlobal->info("CMapFormatVCMI_Simple start");
CMemoryBuffer serializeBuffer;
{
logGlobal->info("CMapFormatVCMI_Simple start");
CMemoryBuffer serializeBuffer;
{
CMapSaverJson saver(&serializeBuffer);
saver.saveMap(initialMap);
}
#if 1
{
std::ofstream tmp((VCMIDirs::get().userDataPath()/"temp.zip").string());
tmp.write((const char *)&serializeBuffer.getBuffer()[0],serializeBuffer.getSize());
tmp.flush();
}
#endif // 1
serializeBuffer.seek(0);
{
CMapLoaderJson loader(&serializeBuffer);
std::unique_ptr<CMap> serialized = loader.loadMap();
MapComparer c;
c(initialMap, serialized);
}
logGlobal->info("CMapFormatVCMI_Simple finish");
CMapSaverJson saver(&serializeBuffer);
saver.saveMap(initialMap);
}
catch(...)
#if 1
{
handleException();
BOOST_FAIL("Test case crashed");
auto path = VCMIDirs::get().userDataPath()/"temp.zip";
boost::filesystem::remove(path);
boost::filesystem::ofstream tmp(path);
tmp.write((const char *)serializeBuffer.getBuffer().data(),serializeBuffer.getSize());
}
#endif // 1
serializeBuffer.seek(0);
{
CMapLoaderJson loader(&serializeBuffer);
std::unique_ptr<CMap> serialized = loader.loadMap();
MapComparer c;
c(serialized, initialMap);
}
logGlobal->info("CMapFormatVCMI_Simple finish");
}