Refactor odf test project

This commit is contained in:
Kamil Kerimov
2023-10-16 13:19:17 +05:00
parent e74e1aa1c6
commit 7364393abb
7 changed files with 114 additions and 118 deletions

View File

@ -56,3 +56,37 @@ boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> Convert(boost::shared
return conversionContext;
}
ODP2OOX_AnimationEnvironment::ODP2OOX_AnimationEnvironment(const std::wstring& exampleFilename, boost::shared_ptr<cpdoccore::odf_reader::odf_document>* doc, boost::shared_ptr<cpdoccore::oox::pptx_conversion_context>* context)
: testing::Environment()
{
sExampleFilename = NSFile::GetFileName(exampleFilename);
mDocument = doc;
mContext = context;
}
ODP2OOX_AnimationEnvironment::~ODP2OOX_AnimationEnvironment()
{
}
void ODP2OOX_AnimationEnvironment::SetUp()
{
std::wstring rootDir = NSFile::GetProcessDirectory() + CH_DIR("..");
std::wstring sExampleFilesDirectory = rootDir + CH_DIR("ExampleFiles");
sFrom = sExampleFilesDirectory + FILE_SEPARATOR_STR + sExampleFilename;
sTemp = sFrom + _T(".tmp");
sTempUnpackedOdf = sTemp + CH_DIR("odf_unpacked");
NSDirectory::CreateDirectory(sTemp);
NSDirectory::CreateDirectory(sTempUnpackedOdf);
*mDocument = ReadOdfDocument(sFrom, sTemp, sTempUnpackedOdf);
*mContext = Convert(*mDocument);
}
void ODP2OOX_AnimationEnvironment::TearDown()
{
NSDirectory::DeleteDirectory(sTemp);
}

View File

@ -32,12 +32,33 @@
#pragma once
#include <boost/shared_ptr.hpp>
#include "gtest/gtest.h"
#include "Reader/Converter/pptx_conversion_context.h"
#include "Reader/Format/odf_document.h"
#include <boost/shared_ptr.hpp>
#include <string>
#define CH_DIR(x) FILE_SEPARATOR_STR + _T(x)
boost::shared_ptr<cpdoccore::odf_reader::odf_document> ReadOdfDocument(const std::wstring& from, const std::wstring& temp, const std::wstring& tempUnpackedOdf);
boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> Convert(boost::shared_ptr<cpdoccore::odf_reader::odf_document> inputOdf);
boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> Convert(boost::shared_ptr<cpdoccore::odf_reader::odf_document> inputOdf);
class ODP2OOX_AnimationEnvironment : public ::testing::Environment
{
public:
ODP2OOX_AnimationEnvironment(const std::wstring& exampleFilename, boost::shared_ptr<cpdoccore::odf_reader::odf_document>* doc, boost::shared_ptr<cpdoccore::oox::pptx_conversion_context>* context);
~ODP2OOX_AnimationEnvironment();
void SetUp() override;
void TearDown() override;
private:
std::wstring sExampleFilename;
std::wstring sFrom;
std::wstring sTemp;
std::wstring sTempUnpackedOdf;
boost::shared_ptr<cpdoccore::odf_reader::odf_document>* mDocument;
boost::shared_ptr<cpdoccore::oox::pptx_conversion_context>* mContext;
};

View File

@ -34,45 +34,34 @@
#include "common.h"
#include "../../DesktopEditor/common/File.h"
#include "../../DesktopEditor/common/Directory.h"
#include "../../OfficeUtils/src/OfficeUtils.h"
//#include "../../DesktopEditor/common/File.h"
//#include "../../DesktopEditor/common/Directory.h"
//#include "../../OfficeUtils/src/OfficeUtils.h"
//
//#include "Writer/Converter/Converter.h"
//#include "Writer/Converter/PptxConverter.h"
//#include "Writer/Format/office_elements.h"
#include "Writer/Converter/Converter.h"
#include "Writer/Converter/PptxConverter.h"
#include "Writer/Format/office_elements.h"
boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> ODP2OOX_AnimationEtranceEnvironment::sConverionContext;
boost::shared_ptr<cpdoccore::odf_reader::odf_document> ODP2OOX_AnimationEtranceEnvironment::sInputOdf;
#define CH_DIR(x) FILE_SEPARATOR_STR + _T(x)
boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> ODP2OOX_EntranceTestEnvironment::mConverionContext;
boost::shared_ptr<cpdoccore::odf_reader::odf_document> ODP2OOX_EntranceTestEnvironment::mInputOdf;
void ODP2OOX_EntranceTestEnvironment::SetUp()
ODP2OOX_AnimationEtranceEnvironment::ODP2OOX_AnimationEtranceEnvironment()
: ODP2OOX_AnimationEnvironment(
L"ExampleFiles" FILE_SEPARATOR_STR "entrance.odp",
&sInputOdf,
&sConverionContext)
{
sExampleFilename = L"entrance.odp";
std::wstring rootDir = NSFile::GetProcessDirectory() + CH_DIR("..");
std::wstring sExampleFilesDirectory = rootDir + CH_DIR("ExampleFiles");
sFrom = sExampleFilesDirectory + FILE_SEPARATOR_STR + sExampleFilename;
sTemp = rootDir + CH_DIR("tmp");
sTempUnpackedOdf = sTemp + CH_DIR("odf_unpacked");
NSDirectory::CreateDirectory(sTemp);
NSDirectory::CreateDirectory(sTempUnpackedOdf);
mInputOdf = ReadOdfDocument(sFrom, sTemp, sTempUnpackedOdf);
mConverionContext = Convert(mInputOdf);
}
void ODP2OOX_EntranceTestEnvironment::TearDown()
const cpdoccore::oox::pptx_animation_context& ODP2OOX_AnimationEtranceEnvironment::GetAnimationContext()
{
NSDirectory::DeleteDirectory(sTemp);
return sConverionContext->get_slide_context().get_animation_context();
}
void ODP2OOX_EntranceAnimationTest::SetUp()
{
mAnimationContext = &ODP2OOX_EntranceTestEnvironment::GetAnimationContext();
mAnimationContext = &ODP2OOX_AnimationEtranceEnvironment::GetAnimationContext();
}
const cpdoccore::oox::pptx_animation_context::Impl::_par_animation_ptr& ODP2OOX_EntranceAnimationTest::GetInnerPar(const cpdoccore::oox::pptx_animation_context::Impl::_par_animation_ptr& par)
@ -653,6 +642,8 @@ TEST_F(ODP2OOX_EntranceAnimationTest, entrance_transition_filter_checker_iris_wi
//////////////////////////////////////////////////////////////////////////
// OOX2ODP
#if 0
boost::shared_ptr<Oox2Odf::Converter> OOX2ODP_EntranceAnimationTestEnvironment::mConverter;
cpdoccore::odf_writer::odp_conversion_context* OOX2ODP_EntranceAnimationTestEnvironment::mContext;
@ -1356,3 +1347,4 @@ TEST_F(OOX2ODP_EntranceAnimationTest, ascend_innermost_par_preset_id)
EXPECT_EQ(par->par_attlist_.presentation_preset_id_.value_or(preset_id::none).get_type(), presetIdExp.get_type());
}
#endif

View File

@ -31,6 +31,8 @@
*/
#include "gtest/gtest.h"
#include "common.h"
#include <boost/shared_ptr.hpp>
#include "Reader/Format/odf_document.h"
@ -41,33 +43,16 @@
#include "Writer/Format/anim_elements.h"
#include "Writer/Format/draw_page.h"
class ODP2OOX_EntranceTestEnvironment : public ::testing::Environment {
class ODP2OOX_AnimationEtranceEnvironment : public ODP2OOX_AnimationEnvironment
{
public:
ODP2OOX_AnimationEtranceEnvironment();
~ODP2OOX_EntranceTestEnvironment() override {}
void SetUp() override;
void TearDown() override;
static boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> GetConversionContext()
{
return mConverionContext;
}
static const cpdoccore::oox::pptx_animation_context& GetAnimationContext()
{
return mConverionContext->get_slide_context().get_animation_context();
}
static const cpdoccore::oox::pptx_animation_context& GetAnimationContext();
private:
std::wstring sExampleFilename;
std::wstring sFrom;
std::wstring sTemp;
std::wstring sTempUnpackedOdf;
static boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> mConverionContext;
static boost::shared_ptr<cpdoccore::odf_reader::odf_document> mInputOdf;
static boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> sConverionContext;
static boost::shared_ptr<cpdoccore::odf_reader::odf_document> sInputOdf;
};
class ODP2OOX_EntranceAnimationTest : public testing::Test

View File

@ -32,44 +32,24 @@
#include "motion.h"
#include "common.h"
boost::shared_ptr<cpdoccore::odf_reader::odf_document> ODP2OOX_AnimationMotionEnvironment::sInputOdf;
boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> ODP2OOX_AnimationMotionEnvironment::sConverionContext;
#include "../../DesktopEditor/common/File.h"
#include "../../DesktopEditor/common/Directory.h"
#include "../../OfficeUtils/src/OfficeUtils.h"
#define CH_DIR(x) FILE_SEPARATOR_STR + _T(x)
boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> MotionTestEnvironment::mConverionContext;
boost::shared_ptr<cpdoccore::odf_reader::odf_document> MotionTestEnvironment::mInputOdf;
void MotionTestEnvironment::SetUp()
ODP2OOX_AnimationMotionEnvironment::ODP2OOX_AnimationMotionEnvironment()
: ODP2OOX_AnimationEnvironment(L"ExampleFiles" FILE_SEPARATOR_STR "motion.odp",
&sInputOdf,
&sConverionContext)
{
sExampleFilename = L"motion.odp";
std::wstring rootDir = NSFile::GetProcessDirectory() + CH_DIR("..");
std::wstring sExampleFilesDirectory = rootDir + CH_DIR("ExampleFiles");
sFrom = sExampleFilesDirectory + FILE_SEPARATOR_STR + sExampleFilename;
sTemp = rootDir + CH_DIR("tmp");
sTempUnpackedOdf = sTemp + CH_DIR("odf_unpacked");
NSDirectory::CreateDirectory(sTemp);
NSDirectory::CreateDirectory(sTempUnpackedOdf);
mInputOdf = ReadOdfDocument(sFrom, sTemp, sTempUnpackedOdf);
mConverionContext = Convert(mInputOdf);
}
void MotionTestEnvironment::TearDown()
const cpdoccore::oox::pptx_animation_context& ODP2OOX_AnimationMotionEnvironment::GetAnimationContext()
{
NSDirectory::DeleteDirectory(sTemp);
return sConverionContext->get_slide_context().get_animation_context();
}
void ODP2OOX_MotionAnimationTest::SetUp()
{
mAnimationContext = &MotionTestEnvironment::GetAnimationContext();
mAnimationContext = &ODP2OOX_AnimationMotionEnvironment::GetAnimationContext();
}
const cpdoccore::oox::pptx_animation_context::Impl::_par_animation_ptr& ODP2OOX_MotionAnimationTest::GetInnerPar(const cpdoccore::oox::pptx_animation_context::Impl::_par_animation_ptr& par)
@ -84,7 +64,7 @@ const cpdoccore::oox::pptx_animation_context::Impl::_seq_animation_ptr& ODP2OOX_
const cpdoccore::oox::pptx_animation_context::Impl::_par_animation_array& ODP2OOX_MotionAnimationTest::GetMainSequenceArray()
{
return mAnimationContext->get_root_par_animation()->AnimSeq->AnimParArray;
return GetMainSequence()->AnimParArray;
}
const cpdoccore::oox::pptx_animation_context::Impl::_animation_element_array& ODP2OOX_MotionAnimationTest::GetActionArray(const cpdoccore::oox::pptx_animation_context::Impl::_par_animation_ptr& par)
@ -98,9 +78,7 @@ const cpdoccore::oox::pptx_animation_context::Impl::_par_animation_ptr ODP2OOX_M
cpdoccore::oox::pptx_animation_context::Impl::_par_animation_ptr inner = par;
while (inner->AnimParArray.size())
{
inner = GetInnerPar(inner);
}
return inner;
}

View File

@ -30,41 +30,22 @@
*
*/
#pragma once
#include "common.h"
#include "gtest/gtest.h"
#include <boost/shared_ptr.hpp>
#include <vector>
#include "Reader/Format/odf_document.h"
#include "Reader/Converter/pptx_conversion_context.h"
#include "Reader/Format/svg_parser.h"
class MotionTestEnvironment : public ::testing::Environment {
class ODP2OOX_AnimationMotionEnvironment : public ODP2OOX_AnimationEnvironment
{
public:
ODP2OOX_AnimationMotionEnvironment();
~MotionTestEnvironment() override {}
void SetUp() override;
void TearDown() override;
static boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> GetConversionContext()
{
return mConverionContext;
}
static const cpdoccore::oox::pptx_animation_context& GetAnimationContext()
{
return mConverionContext->get_slide_context().get_animation_context();
}
static const cpdoccore::oox::pptx_animation_context& GetAnimationContext();
private:
std::wstring sExampleFilename;
std::wstring sFrom;
std::wstring sTemp;
std::wstring sTempUnpackedOdf;
static boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> mConverionContext;
static boost::shared_ptr<cpdoccore::odf_reader::odf_document> mInputOdf;
static boost::shared_ptr<cpdoccore::odf_reader::odf_document> sInputOdf;
static boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> sConverionContext;
};
class ODP2OOX_MotionAnimationTest : public testing::Test
@ -89,3 +70,4 @@ public:
const cpdoccore::oox::pptx_animation_context* mAnimationContext;
const double mEpsilon = 0.00001;
};

View File

@ -38,8 +38,12 @@
int main(int argc, char* argv[])
{
::testing::InitGoogleTest(&argc, argv);
::testing::AddGlobalTestEnvironment(new ODP2OOX_EntranceTestEnvironment);
::testing::AddGlobalTestEnvironment(new OOX2ODP_EntranceAnimationTestEnvironment);
::testing::AddGlobalTestEnvironment(new MotionTestEnvironment);
::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationEtranceEnvironment);
::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationMotionEnvironment);
::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationAudioEnvironment);
//::testing::AddGlobalTestEnvironment(new OOX2ODP_EntranceAnimationTestEnvironment);
return RUN_ALL_TESTS();
}