Refactor odf tests

This commit is contained in:
Kamil Kerimov
2024-08-14 17:14:00 +03:00
parent d939aa7247
commit 1b0791364b
40 changed files with 2425 additions and 439 deletions

893
OdfFile/Test/.qmake.cache Normal file
View File

@ -0,0 +1,893 @@
CONFIG = \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
file_copies \
qmake_use \
qt \
warn_on \
release \
link_prl \
flat \
precompile_header \
autogen_precompile_source \
embed_manifest_dll \
embed_manifest_exe \
shared \
shared \
release \
no_plugin_manifest \
win32 \
msvc \
copy_dir_files \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library
CONFIG = \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
file_copies \
qmake_use \
qt \
warn_on \
release \
link_prl \
flat \
precompile_header \
autogen_precompile_source \
embed_manifest_dll \
embed_manifest_exe \
shared \
shared \
release \
no_plugin_manifest \
win32 \
msvc \
copy_dir_files \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library
CONFIG = \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
file_copies \
qmake_use \
qt \
warn_on \
release \
link_prl \
flat \
precompile_header \
autogen_precompile_source \
embed_manifest_dll \
embed_manifest_exe \
shared \
shared \
release \
no_plugin_manifest \
win32 \
msvc \
copy_dir_files \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library
CONFIG = \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
file_copies \
qmake_use \
qt \
warn_on \
release \
link_prl \
flat \
precompile_header \
autogen_precompile_source \
embed_manifest_dll \
embed_manifest_exe \
shared \
shared \
release \
no_plugin_manifest \
win32 \
msvc \
copy_dir_files \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library
CONFIG = \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
file_copies \
qmake_use \
qt \
warn_on \
release \
link_prl \
flat \
precompile_header \
autogen_precompile_source \
embed_manifest_dll \
embed_manifest_exe \
shared \
shared \
release \
no_plugin_manifest \
win32 \
msvc \
copy_dir_files \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library
CONFIG = \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
file_copies \
qmake_use \
qt \
warn_on \
release \
link_prl \
flat \
precompile_header \
autogen_precompile_source \
embed_manifest_dll \
embed_manifest_exe \
shared \
shared \
release \
no_plugin_manifest \
win32 \
msvc \
copy_dir_files \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library
CONFIG = \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
file_copies \
qmake_use \
qt \
warn_on \
release \
link_prl \
flat \
precompile_header \
autogen_precompile_source \
embed_manifest_dll \
embed_manifest_exe \
shared \
shared \
release \
no_plugin_manifest \
win32 \
msvc \
copy_dir_files \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library
CONFIG = \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
lex \
yacc \
debug \
exceptions \
depend_includepath \
testcase_targets \
import_plugins \
import_qpa_plugin \
windows \
file_copies \
qmake_use \
qt \
warn_on \
release \
link_prl \
flat \
precompile_header \
autogen_precompile_source \
embed_manifest_dll \
embed_manifest_exe \
shared \
shared \
release \
no_plugin_manifest \
win32 \
msvc \
copy_dir_files \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library \
c++11 \
debug \
build_x2t_as_library \
core_debug \
core_windows \
core_win_64 \
vs2019 \
object_parallel_to_source \
no_batch \
c++11 \
precompile_header \
build_x2t_as_library

View File

@ -0,0 +1,261 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.34031.81
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_odf", "..\..\Test\test_odf.vcxproj", "{EFE72A4B-8FC3-3276-9920-DFF64F96257E}"
ProjectSection(ProjectDependencies) = postProject
{50E20601-4A8D-4AFB-8870-63828D328429} = {50E20601-4A8D-4AFB-8870-63828D328429}
{C5371405-338F-4B70-83BD-2A5CDF64F383} = {C5371405-338F-4B70-83BD-2A5CDF64F383}
{13E13907-49DA-482E-AD58-026D06A5CD11} = {13E13907-49DA-482E-AD58-026D06A5CD11}
{7B27E40E-F70A-4A74-A77C-0944D7931D15} = {7B27E40E-F70A-4A74-A77C-0944D7931D15}
{CD359215-E183-4EA7-B986-42868B10D8B8} = {CD359215-E183-4EA7-B986-42868B10D8B8}
{41BED424-4EAF-4053-8A5F-1E2A387D53D1} = {41BED424-4EAF-4053-8A5F-1E2A387D53D1}
{041DD428-2D5C-4D97-8AB7-7207F3D5B801} = {041DD428-2D5C-4D97-8AB7-7207F3D5B801}
{609ED938-3CA8-4BED-B363-25096D4C4812} = {609ED938-3CA8-4BED-B363-25096D4C4812}
{A100103A-353E-45E8-A9B8-90B87CC5C0B0} = {A100103A-353E-45E8-A9B8-90B87CC5C0B0}
{94954A67-A853-43B1-A727-6EF2774C5A6A} = {94954A67-A853-43B1-A727-6EF2774C5A6A}
{36636678-AE25-4BE6-9A34-2561D1BCF302} = {36636678-AE25-4BE6-9A34-2561D1BCF302}
{AF2D00A7-A351-4700-AE88-C1D9ADE29345} = {AF2D00A7-A351-4700-AE88-C1D9ADE29345}
{FA22BAB4-E93E-459D-8A5F-16764FBBED40} = {FA22BAB4-E93E-459D-8A5F-16764FBBED40}
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA} = {CBEDD0D1-10A8-45C1-AF81-8492F40964CA}
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D} = {77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfCommon", "..\..\..\Projects\Windows\cpcommon.vcxproj", "{609ED938-3CA8-4BED-B363-25096D4C4812}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfFormatReaderLib", "..\..\..\Projects\Windows\cpodf.vcxproj", "{50E20601-4A8D-4AFB-8870-63828D328429}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xml_wrapper", "..\..\..\Projects\Windows\cpxml.vcxproj", "{41BED424-4EAF-4053-8A5F-1E2A387D53D1}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfFormulasConvert", "..\..\..\Projects\Windows\formulasconvert.vcxproj", "{94954A67-A853-43B1-A727-6EF2774C5A6A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DocxFormatLib", "..\..\..\..\OOXML\Projects\Windows\DocxFormatLib\DocxFormatLib.vcxproj", "{A100103A-353E-45E8-A9B8-90B87CC5C0B0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BinaryFormatLib", "..\..\..\..\OOXML\Projects\Windows\BinaryFormatLib\BinaryFormatLib.vcxproj", "{CD359215-E183-4EA7-B986-42868B10D8B8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PPTXFormatLib", "..\..\..\..\OOXML\Projects\Windows\PPTXFormatLib\PPTXFormat.vcxproj", "{36636678-AE25-4BE6-9A34-2561D1BCF302}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XlsbFormatLib", "..\..\..\..\OOXML\Projects\Windows\XlsbFormatLib\XlsbFormatLib.vcxproj", "{13E13907-49DA-482E-AD58-026D06A5CD11}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DocFormatLib", "..\..\..\..\MsBinaryFile\Projects\DocFormatLib\Windows\DocFormatLib.vcxproj", "{C5371405-338F-4B70-83BD-2A5CDF64F383}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PPTFormatLib", "..\..\..\..\MsBinaryFile\Projects\PPTFormatLib\Windows\PPTFormatLib.vcxproj", "{7B27E40E-F70A-4A74-A77C-0944D7931D15}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VbaFormatLib", "..\..\..\..\MsBinaryFile\Projects\VbaFormatLib\Windows\VbaFormat.vcxproj", "{041DD428-2D5C-4D97-8AB7-7207F3D5B801}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XlsFormatLib", "..\..\..\..\MsBinaryFile\Projects\XlsFormatLib\Windows\XlsFormat.vcxproj", "{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XlsXlsxConverter", "..\..\..\..\MsBinaryFile\Projects\XlsFormatLib\Windows\XlsXlsxConverter.vcxproj", "{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CompoundFileLib", "..\..\..\..\Common\cfcpp\CompoundFileLib.vcxproj", "{FA22BAB4-E93E-459D-8A5F-16764FBBED40}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RtfFormatLib", "..\..\..\..\RtfFile\Projects\Windows\Win32\RtfFormatLib.vcxproj", "{AF2D00A7-A351-4700-AE88-C1D9ADE29345}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
ReleaseOpenSource|x64 = ReleaseOpenSource|x64
ReleaseOpenSource|x86 = ReleaseOpenSource|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{EFE72A4B-8FC3-3276-9920-DFF64F96257E}.Debug|x64.ActiveCfg = Debug|x64
{EFE72A4B-8FC3-3276-9920-DFF64F96257E}.Debug|x64.Build.0 = Debug|x64
{EFE72A4B-8FC3-3276-9920-DFF64F96257E}.Debug|x86.ActiveCfg = Debug|x64
{EFE72A4B-8FC3-3276-9920-DFF64F96257E}.Release|x64.ActiveCfg = Release|x64
{EFE72A4B-8FC3-3276-9920-DFF64F96257E}.Release|x64.Build.0 = Release|x64
{EFE72A4B-8FC3-3276-9920-DFF64F96257E}.Release|x86.ActiveCfg = Release|x64
{EFE72A4B-8FC3-3276-9920-DFF64F96257E}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{EFE72A4B-8FC3-3276-9920-DFF64F96257E}.ReleaseOpenSource|x64.Build.0 = Release|x64
{EFE72A4B-8FC3-3276-9920-DFF64F96257E}.ReleaseOpenSource|x86.ActiveCfg = Release|x64
{EFE72A4B-8FC3-3276-9920-DFF64F96257E}.ReleaseOpenSource|x86.Build.0 = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug|x64.ActiveCfg = Debug|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug|x64.Build.0 = Debug|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug|x86.ActiveCfg = Debug|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug|x86.Build.0 = Debug|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release|x64.ActiveCfg = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release|x64.Build.0 = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release|x86.ActiveCfg = Release|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release|x86.Build.0 = Release|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.ReleaseOpenSource|x64.Build.0 = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.ReleaseOpenSource|x86.ActiveCfg = Release|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.ReleaseOpenSource|x86.Build.0 = Release|Win32
{50E20601-4A8D-4AFB-8870-63828D328429}.Debug|x64.ActiveCfg = Debug|x64
{50E20601-4A8D-4AFB-8870-63828D328429}.Debug|x64.Build.0 = Debug|x64
{50E20601-4A8D-4AFB-8870-63828D328429}.Debug|x86.ActiveCfg = Debug|Win32
{50E20601-4A8D-4AFB-8870-63828D328429}.Debug|x86.Build.0 = Debug|Win32
{50E20601-4A8D-4AFB-8870-63828D328429}.Release|x64.ActiveCfg = Release|x64
{50E20601-4A8D-4AFB-8870-63828D328429}.Release|x64.Build.0 = Release|x64
{50E20601-4A8D-4AFB-8870-63828D328429}.Release|x86.ActiveCfg = Release|Win32
{50E20601-4A8D-4AFB-8870-63828D328429}.Release|x86.Build.0 = Release|Win32
{50E20601-4A8D-4AFB-8870-63828D328429}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{50E20601-4A8D-4AFB-8870-63828D328429}.ReleaseOpenSource|x64.Build.0 = Release|x64
{50E20601-4A8D-4AFB-8870-63828D328429}.ReleaseOpenSource|x86.ActiveCfg = Release|Win32
{50E20601-4A8D-4AFB-8870-63828D328429}.ReleaseOpenSource|x86.Build.0 = Release|Win32
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Debug|x64.ActiveCfg = Debug|x64
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Debug|x64.Build.0 = Debug|x64
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Debug|x86.ActiveCfg = Debug|Win32
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Debug|x86.Build.0 = Debug|Win32
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Release|x64.ActiveCfg = Release|x64
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Release|x64.Build.0 = Release|x64
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Release|x86.ActiveCfg = Release|Win32
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Release|x86.Build.0 = Release|Win32
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.ReleaseOpenSource|x64.Build.0 = Release|x64
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.ReleaseOpenSource|x86.ActiveCfg = Release|Win32
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.ReleaseOpenSource|x86.Build.0 = Release|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug|x64.ActiveCfg = Debug|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug|x64.Build.0 = Debug|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug|x86.ActiveCfg = Debug|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug|x86.Build.0 = Debug|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release|x64.ActiveCfg = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release|x64.Build.0 = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release|x86.ActiveCfg = Release|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release|x86.Build.0 = Release|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.ReleaseOpenSource|x64.Build.0 = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.ReleaseOpenSource|x86.ActiveCfg = Release|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.ReleaseOpenSource|x86.Build.0 = Release|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug|x64.ActiveCfg = Debug|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug|x64.Build.0 = Debug|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug|x86.ActiveCfg = Debug|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug|x86.Build.0 = Debug|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release|x64.ActiveCfg = Release|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release|x64.Build.0 = Release|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release|x86.ActiveCfg = Release|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release|x86.Build.0 = Release|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.ReleaseOpenSource|x64.ActiveCfg = ReleaseOpenSource|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.ReleaseOpenSource|x64.Build.0 = ReleaseOpenSource|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.ReleaseOpenSource|x86.ActiveCfg = ReleaseOpenSource|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.ReleaseOpenSource|x86.Build.0 = ReleaseOpenSource|Win32
{CD359215-E183-4EA7-B986-42868B10D8B8}.Debug|x64.ActiveCfg = Debug|x64
{CD359215-E183-4EA7-B986-42868B10D8B8}.Debug|x64.Build.0 = Debug|x64
{CD359215-E183-4EA7-B986-42868B10D8B8}.Debug|x86.ActiveCfg = Debug|Win32
{CD359215-E183-4EA7-B986-42868B10D8B8}.Debug|x86.Build.0 = Debug|Win32
{CD359215-E183-4EA7-B986-42868B10D8B8}.Release|x64.ActiveCfg = Release|x64
{CD359215-E183-4EA7-B986-42868B10D8B8}.Release|x64.Build.0 = Release|x64
{CD359215-E183-4EA7-B986-42868B10D8B8}.Release|x86.ActiveCfg = Release|Win32
{CD359215-E183-4EA7-B986-42868B10D8B8}.Release|x86.Build.0 = Release|Win32
{CD359215-E183-4EA7-B986-42868B10D8B8}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{CD359215-E183-4EA7-B986-42868B10D8B8}.ReleaseOpenSource|x64.Build.0 = Release|x64
{CD359215-E183-4EA7-B986-42868B10D8B8}.ReleaseOpenSource|x86.ActiveCfg = Release|Win32
{CD359215-E183-4EA7-B986-42868B10D8B8}.ReleaseOpenSource|x86.Build.0 = Release|Win32
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Debug|x64.ActiveCfg = Debug|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Debug|x64.Build.0 = Debug|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Debug|x86.ActiveCfg = Debug|Win32
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Debug|x86.Build.0 = Debug|Win32
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Release|x64.ActiveCfg = Release|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Release|x64.Build.0 = Release|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Release|x86.ActiveCfg = Release|Win32
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Release|x86.Build.0 = Release|Win32
{36636678-AE25-4BE6-9A34-2561D1BCF302}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.ReleaseOpenSource|x64.Build.0 = Release|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.ReleaseOpenSource|x86.ActiveCfg = Release|Win32
{36636678-AE25-4BE6-9A34-2561D1BCF302}.ReleaseOpenSource|x86.Build.0 = Release|Win32
{13E13907-49DA-482E-AD58-026D06A5CD11}.Debug|x64.ActiveCfg = Debug|x64
{13E13907-49DA-482E-AD58-026D06A5CD11}.Debug|x64.Build.0 = Debug|x64
{13E13907-49DA-482E-AD58-026D06A5CD11}.Debug|x86.ActiveCfg = Debug|Win32
{13E13907-49DA-482E-AD58-026D06A5CD11}.Debug|x86.Build.0 = Debug|Win32
{13E13907-49DA-482E-AD58-026D06A5CD11}.Release|x64.ActiveCfg = Release|x64
{13E13907-49DA-482E-AD58-026D06A5CD11}.Release|x64.Build.0 = Release|x64
{13E13907-49DA-482E-AD58-026D06A5CD11}.Release|x86.ActiveCfg = Release|Win32
{13E13907-49DA-482E-AD58-026D06A5CD11}.Release|x86.Build.0 = Release|Win32
{13E13907-49DA-482E-AD58-026D06A5CD11}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{13E13907-49DA-482E-AD58-026D06A5CD11}.ReleaseOpenSource|x64.Build.0 = Release|x64
{13E13907-49DA-482E-AD58-026D06A5CD11}.ReleaseOpenSource|x86.ActiveCfg = Release|Win32
{13E13907-49DA-482E-AD58-026D06A5CD11}.ReleaseOpenSource|x86.Build.0 = Release|Win32
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Debug|x64.ActiveCfg = Debug|x64
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Debug|x64.Build.0 = Debug|x64
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Debug|x86.ActiveCfg = Debug|Win32
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Debug|x86.Build.0 = Debug|Win32
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Release|x64.ActiveCfg = Release|x64
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Release|x64.Build.0 = Release|x64
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Release|x86.ActiveCfg = Release|Win32
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Release|x86.Build.0 = Release|Win32
{C5371405-338F-4B70-83BD-2A5CDF64F383}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{C5371405-338F-4B70-83BD-2A5CDF64F383}.ReleaseOpenSource|x64.Build.0 = Release|x64
{C5371405-338F-4B70-83BD-2A5CDF64F383}.ReleaseOpenSource|x86.ActiveCfg = Release|Win32
{C5371405-338F-4B70-83BD-2A5CDF64F383}.ReleaseOpenSource|x86.Build.0 = Release|Win32
{7B27E40E-F70A-4A74-A77C-0944D7931D15}.Debug|x64.ActiveCfg = Debug|x64
{7B27E40E-F70A-4A74-A77C-0944D7931D15}.Debug|x64.Build.0 = Debug|x64
{7B27E40E-F70A-4A74-A77C-0944D7931D15}.Debug|x86.ActiveCfg = Debug|Win32
{7B27E40E-F70A-4A74-A77C-0944D7931D15}.Debug|x86.Build.0 = Debug|Win32
{7B27E40E-F70A-4A74-A77C-0944D7931D15}.Release|x64.ActiveCfg = Release|x64
{7B27E40E-F70A-4A74-A77C-0944D7931D15}.Release|x64.Build.0 = Release|x64
{7B27E40E-F70A-4A74-A77C-0944D7931D15}.Release|x86.ActiveCfg = Release|Win32
{7B27E40E-F70A-4A74-A77C-0944D7931D15}.Release|x86.Build.0 = Release|Win32
{7B27E40E-F70A-4A74-A77C-0944D7931D15}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{7B27E40E-F70A-4A74-A77C-0944D7931D15}.ReleaseOpenSource|x64.Build.0 = Release|x64
{7B27E40E-F70A-4A74-A77C-0944D7931D15}.ReleaseOpenSource|x86.ActiveCfg = Release|Win32
{7B27E40E-F70A-4A74-A77C-0944D7931D15}.ReleaseOpenSource|x86.Build.0 = Release|Win32
{041DD428-2D5C-4D97-8AB7-7207F3D5B801}.Debug|x64.ActiveCfg = Debug|x64
{041DD428-2D5C-4D97-8AB7-7207F3D5B801}.Debug|x64.Build.0 = Debug|x64
{041DD428-2D5C-4D97-8AB7-7207F3D5B801}.Debug|x86.ActiveCfg = Debug|Win32
{041DD428-2D5C-4D97-8AB7-7207F3D5B801}.Debug|x86.Build.0 = Debug|Win32
{041DD428-2D5C-4D97-8AB7-7207F3D5B801}.Release|x64.ActiveCfg = Release|x64
{041DD428-2D5C-4D97-8AB7-7207F3D5B801}.Release|x64.Build.0 = Release|x64
{041DD428-2D5C-4D97-8AB7-7207F3D5B801}.Release|x86.ActiveCfg = Release|Win32
{041DD428-2D5C-4D97-8AB7-7207F3D5B801}.Release|x86.Build.0 = Release|Win32
{041DD428-2D5C-4D97-8AB7-7207F3D5B801}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{041DD428-2D5C-4D97-8AB7-7207F3D5B801}.ReleaseOpenSource|x64.Build.0 = Release|x64
{041DD428-2D5C-4D97-8AB7-7207F3D5B801}.ReleaseOpenSource|x86.ActiveCfg = Release|Win32
{041DD428-2D5C-4D97-8AB7-7207F3D5B801}.ReleaseOpenSource|x86.Build.0 = Release|Win32
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Debug|x64.ActiveCfg = Debug|x64
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Debug|x64.Build.0 = Debug|x64
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Debug|x86.ActiveCfg = Debug|Win32
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Debug|x86.Build.0 = Debug|Win32
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Release|x64.ActiveCfg = Release|x64
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Release|x64.Build.0 = Release|x64
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Release|x86.ActiveCfg = Release|Win32
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Release|x86.Build.0 = Release|Win32
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.ReleaseOpenSource|x64.Build.0 = Release|x64
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.ReleaseOpenSource|x86.ActiveCfg = Release|Win32
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.ReleaseOpenSource|x86.Build.0 = Release|Win32
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Debug|x64.ActiveCfg = Debug|x64
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Debug|x64.Build.0 = Debug|x64
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Debug|x86.ActiveCfg = Debug|Win32
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Debug|x86.Build.0 = Debug|Win32
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Release|x64.ActiveCfg = Release|x64
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Release|x64.Build.0 = Release|x64
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Release|x86.ActiveCfg = Release|Win32
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Release|x86.Build.0 = Release|Win32
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.ReleaseOpenSource|x64.Build.0 = Release|x64
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.ReleaseOpenSource|x86.ActiveCfg = Release|Win32
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.ReleaseOpenSource|x86.Build.0 = Release|Win32
{FA22BAB4-E93E-459D-8A5F-16764FBBED40}.Debug|x64.ActiveCfg = Debug|x64
{FA22BAB4-E93E-459D-8A5F-16764FBBED40}.Debug|x64.Build.0 = Debug|x64
{FA22BAB4-E93E-459D-8A5F-16764FBBED40}.Debug|x86.ActiveCfg = Debug|Win32
{FA22BAB4-E93E-459D-8A5F-16764FBBED40}.Debug|x86.Build.0 = Debug|Win32
{FA22BAB4-E93E-459D-8A5F-16764FBBED40}.Release|x64.ActiveCfg = Release|x64
{FA22BAB4-E93E-459D-8A5F-16764FBBED40}.Release|x64.Build.0 = Release|x64
{FA22BAB4-E93E-459D-8A5F-16764FBBED40}.Release|x86.ActiveCfg = Release|Win32
{FA22BAB4-E93E-459D-8A5F-16764FBBED40}.Release|x86.Build.0 = Release|Win32
{FA22BAB4-E93E-459D-8A5F-16764FBBED40}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{FA22BAB4-E93E-459D-8A5F-16764FBBED40}.ReleaseOpenSource|x64.Build.0 = Release|x64
{FA22BAB4-E93E-459D-8A5F-16764FBBED40}.ReleaseOpenSource|x86.ActiveCfg = Release|Win32
{FA22BAB4-E93E-459D-8A5F-16764FBBED40}.ReleaseOpenSource|x86.Build.0 = Release|Win32
{AF2D00A7-A351-4700-AE88-C1D9ADE29345}.Debug|x64.ActiveCfg = Debug|x64
{AF2D00A7-A351-4700-AE88-C1D9ADE29345}.Debug|x64.Build.0 = Debug|x64
{AF2D00A7-A351-4700-AE88-C1D9ADE29345}.Debug|x86.ActiveCfg = Debug|Win32
{AF2D00A7-A351-4700-AE88-C1D9ADE29345}.Debug|x86.Build.0 = Debug|Win32
{AF2D00A7-A351-4700-AE88-C1D9ADE29345}.Release|x64.ActiveCfg = Release|x64
{AF2D00A7-A351-4700-AE88-C1D9ADE29345}.Release|x64.Build.0 = Release|x64
{AF2D00A7-A351-4700-AE88-C1D9ADE29345}.Release|x86.ActiveCfg = Release|Win32
{AF2D00A7-A351-4700-AE88-C1D9ADE29345}.Release|x86.Build.0 = Release|Win32
{AF2D00A7-A351-4700-AE88-C1D9ADE29345}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{AF2D00A7-A351-4700-AE88-C1D9ADE29345}.ReleaseOpenSource|x64.Build.0 = Release|x64
{AF2D00A7-A351-4700-AE88-C1D9ADE29345}.ReleaseOpenSource|x86.ActiveCfg = Release|Win32
{AF2D00A7-A351-4700-AE88-C1D9ADE29345}.ReleaseOpenSource|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7B0A0289-A223-4F66-8AA4-6F2E2F810AFB}
EndGlobalSection
EndGlobal

Binary file not shown.

View File

@ -0,0 +1,174 @@
///*
// * (c) Copyright Ascensio System SIA 2010-2023
// *
// * This program is a free software product. You can redistribute it and/or
// * modify it under the terms of the GNU Affero General Public License (AGPL)
// * version 3 as published by the Free Software Foundation. In accordance with
// * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
// * that Ascensio System SIA expressly excludes the warranty of non-infringement
// * of any third-party rights.
// *
// * This program is distributed WITHOUT ANY WARRANTY; without even the implied
// * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
// * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
// *
// * You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
// * street, Riga, Latvia, EU, LV-1050.
// *
// * The interactive user interfaces in modified source and object code versions
// * of the Program must display Appropriate Legal Notices, as required under
// * Section 5 of the GNU AGPL version 3.
// *
// * Pursuant to Section 7(b) of the License you must retain the original Product
// * logo when distributing the program. Pursuant to Section 7(e) we decline to
// * grant you any rights under trademark law for use of our trademarks.
// *
// * All the Product's GUI elements, including illustrations and icon sets, as
// * well as technical writing content are licensed under the terms of the
// * Creative Commons Attribution-ShareAlike 4.0 International. See the License
// * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
// *
// */
//
#pragma once
#include "Common.h"
#include <stdio.h>
#include <tchar.h>
#include "..\..\..\..\Common\OfficeFileFormatChecker.h"
#include "..\..\..\..\OfficeUtils\src\OfficeUtils.h"
#include "..\..\..\..\DesktopEditor\common\Directory.h"
#include "..\..\..\..\OdfFile\Reader\Converter\ConvertOO2OOX.h"
#include "..\..\..\..\OdfFile\Common\logging.h"
#include "..\..\..\..\OOXML\SystemUtility\SystemUtility.h"
#if defined(_WIN64)
#ifdef _DEBUG
#pragma comment(lib, "../../../Common/3dParty/icu/win_64/build/icuuc.lib")
#pragma comment(lib, "../../../build/lib/win_64/DEBUG/graphics.lib")
#pragma comment(lib, "../../../build/lib/win_64/DEBUG/kernel.lib")
#pragma comment(lib, "../../../build/lib/win_64/DEBUG/kernel_network.lib")
#pragma comment(lib, "../../../build/lib/win_64/DEBUG/UnicodeConverter.lib")
#pragma comment(lib, "../../../build/lib/win_64/DEBUG/CryptoPPLib.lib")
#pragma comment(lib, "../../../build/lib/win_64/DEBUG/HtmlFile2.lib")
#else
#pragma comment(lib, "../../../Common/3dParty/icu/win_64/build/icuuc.lib")
#pragma comment(lib, "../../../build/lib/win_64/graphics.lib")
#pragma comment(lib, "../../../build/lib/win_64/kernel.lib")
#pragma comment(lib, "../../../build/lib/win_64/kernel_network.lib")
#pragma comment(lib, "../../../build/lib/win_64/UnicodeConverter.lib")
#pragma comment(lib, "../../../build/lib/win_64/CryptoPPLib.lib")
#endif // #if defined(_DEBUG)
#elif defined (_WIN32)
#ifdef _DEBUG
#pragma comment(lib, "../../../Common/3dParty/icu/win_64/build/icuuc.lib")
#pragma comment(lib, "../../../build/lib/win_32/DEBUG/graphics.lib")
#pragma comment(lib, "../../../build/lib/win_32/DEBUG/kernel.lib")
#pragma comment(lib, "../../../build/lib/win_32/DEBUG/kernel_network.lib")
#pragma comment(lib, "../../../build/lib/win_32/DEBUG/UnicodeConverter.lib")
#pragma comment(lib, "../../../build/lib/win_32/DEBUG/CryptoPPLib.lib")
#else
#pragma comment(lib, "../../../Common/3dParty/icu/win_64/build/icuuc.lib")
#pragma comment(lib, "../../../build/lib/win_32/graphics.lib")
#pragma comment(lib, "../../../build/lib/win_32/kernel.lib")
#pragma comment(lib, "../../../build/lib/win_32/kernel_network.lib")
#pragma comment(lib, "../../../build/lib/win_32/UnicodeConverter.lib")
#pragma comment(lib, "../../../build/lib/win_32/CryptoPPLib.lib")
#endif // #if defined(_DEBUG)
#endif
boost::optional<std::wstring> get_conversion_destination_path(const std::wstring& srcFileName)
{
COfficeFileFormatChecker fileChecker(srcFileName);
switch (fileChecker.nFileType)
{
case AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT:
case AVS_OFFICESTUDIO_FILE_DOCUMENT_OTT:
case AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT_FLAT: return srcFileName + L"-tmp.docx";
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS:
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_OTS:
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS_FLAT: return srcFileName + L"-tmp.xlsx";
case AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP:
case AVS_OFFICESTUDIO_FILE_PRESENTATION_OTP:
case AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP_FLAT: return srcFileName + L"-tmp.pptx";
default:
return boost::none;
}
}
boost::optional<std::wstring> convert_odf_to_ooxml(std::wstring srcFileName)
{
int nResult = 0;
boost::optional<std::wstring> dstPath = get_conversion_destination_path(srcFileName);
if (!dstPath)
return boost::none;
COfficeFileFormatChecker fileChecker(srcFileName);
COfficeUtils oCOfficeUtils(NULL);
std::wstring outputDir = NSDirectory::GetFolderPath(*dstPath);
std::wstring dstTempPath = NSDirectory::CreateDirectoryWithUniqueName(outputDir);
std::wstring srcTempPath;
std::wstring srcTempPath2 = NSDirectory::CreateDirectoryWithUniqueName(outputDir);
if (fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT ||
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS ||
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP ||
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_DOCUMENT_OTT ||
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_SPREADSHEET_OTS ||
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_PRESENTATION_OTP)
{
srcTempPath = NSDirectory::CreateDirectoryWithUniqueName(outputDir);
if (S_OK != oCOfficeUtils.ExtractToDirectory(srcFileName.c_str(), srcTempPath.c_str(), NULL, 0))
return boost::none;
}
else // flat
{
srcTempPath = srcFileName;
}
_CP_LOG << L"[info] " << srcFileName << std::endl;
nResult = ConvertODF2OOXml(srcTempPath, dstTempPath, L"C:\\Windows\\Fonts", srcTempPath2, L"");
if (srcTempPath != srcFileName)
NSDirectory::DeleteDirectory(srcTempPath);
NSDirectory::DeleteDirectory(srcTempPath2);
return nResult == 0 ? boost::optional<std::wstring>(dstTempPath) : boost::none;
}
ODT2DOCX_ConversionEnvironment::ODT2DOCX_ConversionEnvironment(const std::wstring& filename)
: mFilename(filename)
{ }
OOX::CDocx* ODT2DOCX_ConversionEnvironment::GetDocument()
{
return mDocx;
}
void ODT2DOCX_ConversionEnvironment::SetUp()
{
boost::optional<std::wstring> convertedPath = convert_odf_to_ooxml(mFilename);
if (convertedPath)
{
const OOX::CPath ooxPath(*convertedPath);
mDocx = new OOX::CDocx(ooxPath);
}
}
void ODT2DOCX_ConversionEnvironment::TearDown()
{
NSDirectory::DeleteDirectory(mDocx->m_sDocumentPath);
delete mDocx;
}

View File

@ -0,0 +1,61 @@
/*
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include <gtest/gtest.h>
#include <boost/smart_ptr.hpp>
#include "..\..\..\..\OOXML\DocxFormat\Docx.h"
#include "..\..\..\..\OOXML\DocxFormat\DocxFlat.h"
#include "..\..\..\..\OOXML\DocxFormat\Document.h"
#include "..\..\..\..\OOXML\DocxFormat\Logic\Run.h"
#include "..\..\..\..\OOXML\DocxFormat\Logic\Paragraph.h"
#include "..\..\..\..\OOXML\DocxFormat\Logic\ParagraphProperty.h"
#include "..\..\..\..\OOXML\DocxFormat\Logic\Run.h"
#include "..\..\..\..\OOXML\DocxFormat\Logic\RunProperty.h"
class ODT2DOCX_ConversionEnvironment : public testing::Environment
{
public:
ODT2DOCX_ConversionEnvironment(const std::wstring& filename);
OOX::CDocx* GetDocument();
virtual void SetUp() override;
virtual void TearDown() override;
private:
std::wstring mFilename;
OOX::CDocx* mDocx;
};

View File

@ -0,0 +1,94 @@
#include <gtest/gtest.h>
#include "Common.h"
class TestEnv44363 : public ODT2DOCX_ConversionEnvironment
{
public:
TestEnv44363()
: ODT2DOCX_ConversionEnvironment(L"ExampleFiles/44363.odt")
{ }
};
TestEnv44363* g_TestEnv44363 = new TestEnv44363();
class Test44363 : public testing::Test
{
public:
void SetUp() override;
void TearDown() override;
OOX::CDocx* Docx;
};
void Test44363::SetUp()
{
Docx = g_TestEnv44363->GetDocument();
}
void Test44363::TearDown()
{
}
TEST_F(Test44363, Docx)
{
EXPECT_TRUE(Docx);
}
TEST_F(Test44363, document)
{
EXPECT_TRUE(Docx->m_oMain.document);
}
TEST_F(Test44363, document_elements_size)
{
uint32_t expected = 5;
EXPECT_EQ(Docx->m_oMain.document->m_arrItems.size(), expected);
}
TEST_F(Test44363, paragraph)
{
OOX::Logic::CParagraph* p1 = dynamic_cast<OOX::Logic::CParagraph*>(Docx->m_oMain.document->m_arrItems[0]);
EXPECT_TRUE(p1);
}
TEST_F(Test44363, paragraph_props)
{
OOX::Logic::CParagraph* p1 = dynamic_cast<OOX::Logic::CParagraph*>(Docx->m_oMain.document->m_arrItems[0]);
EXPECT_TRUE(p1->m_oParagraphProperty);
}
TEST_F(Test44363, paragraph_props_run_props)
{
OOX::Logic::CParagraph* p1 = dynamic_cast<OOX::Logic::CParagraph*>(Docx->m_oMain.document->m_arrItems[0]);
EXPECT_TRUE(p1->m_oParagraphProperty->m_oRPr.IsInit());
}
TEST_F(Test44363, paragraph_props_run_props_bold)
{
OOX::Logic::CParagraph* p1 = dynamic_cast<OOX::Logic::CParagraph*>(Docx->m_oMain.document->m_arrItems[0]);
ASSERT_TRUE(p1->m_oParagraphProperty->m_oRPr.IsInit());
EXPECT_TRUE(p1->m_oParagraphProperty->m_oRPr->m_oBold.IsInit());
}
TEST_F(Test44363, paragraph_props_run_props_italic)
{
OOX::Logic::CParagraph* p1 = dynamic_cast<OOX::Logic::CParagraph*>(Docx->m_oMain.document->m_arrItems[0]);
ASSERT_TRUE(p1->m_oParagraphProperty->m_oRPr.IsInit());
EXPECT_TRUE(p1->m_oParagraphProperty->m_oRPr->m_oItalic.IsInit());
}
int main(int argc, char* argv[])
{
testing::InitGoogleTest(&argc, argv);
testing::AddGlobalTestEnvironment(g_TestEnv44363);
return RUN_ALL_TESTS();
}

View File

@ -0,0 +1,94 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{EFE72A4B-8FC3-3276-9920-DFF64F96257E}</ProjectGuid>
<RootNamespace>test_odf</RootNamespace>
<Keyword>Qt4VSv1.0</Keyword>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>.\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>Application</ConfigurationType>
<PrimaryOutput>test_odf</PrimaryOutput>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)build\$(Platform)\$(Configuration)\</OutDir>
<IntermediateOutputPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)build\$(Platform)\$(Configuration)\int</IntermediateOutputPath>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">test_odf</TargetName>
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<IntDir>$(ProjectDir)build\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)../../../Common\3dParty\googletest\googletest\googletest;$(ProjectDir)../../../Common\3dParty\googletest\googletest\googletest\include;$(ProjectDir)../../../Common\3dParty\boost\build\win_64\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>.\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<LanguageStandard>stdcpp14</LanguageStandard>
<ObjectFileName>.\</ObjectFileName>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_GUI_LIB;QT_CORE_LIB;DONT_WRITE_EMBEDDED_FONTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
</ClCompile>
<Link>
<AdditionalDependencies>$(ProjectDir)../../../OdfFile\Projects\Windows\x64\Debug\Common\OdfCommon-static.lib;$(ProjectDir)../../../OdfFile\Projects\Windows\x64\Debug\Reader\OdfFormatReaderLib.lib;$(ProjectDir)../../../OdfFile\Projects\Windows\x64\Debug\Formulas\OdfFormulasConvert.lib;$(ProjectDir)../../../OdfFile\Projects\Windows\x64\Debug\Xml\xml_wrapper.lib;$(ProjectDir)../../../OOXML\Projects\Windows\DocxFormatLib\x64\Debug\DocxFormatLib.lib;$(ProjectDir)../../../OOXML\Projects\Windows\PptxFormatLib\x64\Debug\PptxFormatLib.lib;$(ProjectDir)../../../OOXML\Projects\Windows\XlsbFormatLib\x64\Debug\XlsbFormatLib.lib;$(ProjectDir)../../../OOXML\Projects\Windows\BinaryFormatLib\x64\Debug\BinaryFormatLib.lib;$(ProjectDir)../../../MsBinaryFile\Projects\DocFormatLib\Windows\x64\Debug\DocFormat\DocFormatLib.lib;$(ProjectDir)../../../MsBinaryFile\Projects\PPTFormatLib\Windows\x64\Debug\PPTFormatLib.lib;$(ProjectDir)../../../MsBinaryFile\Projects\VbaFormatLib\Windows\x64\Debug\VbaFormatLib.lib;$(ProjectDir)../../../MsBinaryFile\Projects\XlsFormatLib\Windows\x64\Debug\XlsFormatLib.lib;$(ProjectDir)../../../MsBinaryFile\Projects\XlsFormatLib\Windows\x64\Debug\XlsConvert\XlsXlsxConverter.lib;$(ProjectDir)../../../RtfFile\Projects\Windows\Win32\x64\Debug\RtfFormatLib.lib;$(ProjectDir)../../../Common\cfcpp\x64\Debug\CompoundFileLib.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(ProjectDir)../../../Common\3dParty\boost\build\win_64\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>true</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<OutputFile>$(OutDir)\test_odf.exe</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_GUI_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\Common\3dParty\pole\pole.cpp" />
<ClCompile Include="..\..\..\Common\OfficeFileFormatChecker2.cpp" />
<ClCompile Include="..\..\..\OOXML\Base\unicode_util.cpp" />
<ClCompile Include="..\..\..\OOXML\Base\Unit.cpp" />
<ClCompile Include="..\..\..\OOXML\SystemUtility\SystemUtility.cpp" />
<ClCompile Include="src\Common.cpp" />
<ClCompile Include="src\Test.cpp" />
<ClCompile Include="D:\ONLYOFFICE\core\Common\3dParty\googletest\googletest\googletest\src\gtest-all.cc" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\Common.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Test.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="D:\ONLYOFFICE\core\Common\3dParty\googletest\googletest\googletest\src\gtest-all.cc">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Common.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\Common\OfficeFileFormatChecker2.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\Common\3dParty\pole\pole.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\OOXML\SystemUtility\SystemUtility.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\OOXML\Base\unicode_util.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\OOXML\Base\Unit.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\Common.h">
<Filter>Source Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -1,227 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "common.h"
#include "../../OfficeUtils/src/OfficeUtils.h"
#include "Reader/Converter/pptx_package.h"
#include "Writer/Converter/Converter.h"
#include "Writer/Converter/PptxConverter.h"
#include "Writer/Format/office_elements.h"
boost::shared_ptr<cpdoccore::odf_reader::odf_document> ReadOdfDocument(const std::wstring& from, const std::wstring& temp, const std::wstring& tempUnpackedOdf)
{
COfficeUtils oCOfficeUtils(NULL);
if (S_OK == oCOfficeUtils.ExtractToDirectory(from, tempUnpackedOdf, NULL, 0))
return boost::make_shared<cpdoccore::odf_reader::odf_document>(tempUnpackedOdf, temp, L"");
else
return nullptr;
}
boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> Convert(boost::shared_ptr<cpdoccore::odf_reader::odf_document> inputOdf)
{
cpdoccore::oox::package::pptx_document outputPptx;
boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> conversionContext = boost::make_shared<cpdoccore::oox::pptx_conversion_context>(inputOdf.get());
conversionContext->set_output_document(&outputPptx);
conversionContext->set_font_directory(L"");
inputOdf->pptx_convert(*conversionContext);
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);
}
//////////////////////////////////////////////////////////////////////////
OOX2ODP_AnimationEnvironment::OOX2ODP_AnimationEnvironment(const std::wstring& exampleFilename, boost::shared_ptr<Oox2Odf::Converter>* converter, cpdoccore::odf_writer::odp_conversion_context** context)
{
mExampleFilename = exampleFilename;
mConverter = converter;
mContext = context;
}
void OOX2ODP_AnimationEnvironment::SetUp()
{
std::wstring rootDir = NSFile::GetProcessDirectory() + CH_DIR("..");
std::wstring exampleFilesDirectory = rootDir + CH_DIR("ExampleFiles");
mFrom = exampleFilesDirectory + FILE_SEPARATOR_STR + mExampleFilename;
mTemp = mFrom + _T(".tmp");
mTempUnpackedOox = mTemp + CH_DIR("pptx_unpacked");
NSDirectory::CreateDirectory(mTemp);
NSDirectory::CreateDirectory(mTempUnpackedOox);
COfficeUtils oCOfficeUtils(NULL);
if (S_OK == oCOfficeUtils.ExtractToDirectory(mFrom, mTempUnpackedOox, NULL, 0))
{
*mConverter = boost::make_shared<Oox2Odf::Converter>(mTempUnpackedOox, _T("presentation"), L"", false, mTemp);
try
{
(*mConverter)->convert();
*mContext = dynamic_cast<cpdoccore::odf_writer::odp_conversion_context*>((*mConverter)->get_ooxConverter()->odf_context());
}
catch (...)
{
_CP_LOG << L"[ error ]: Failed to setup OOX2ODP_EntranceAnimationTestEnvironment";
}
}
}
void OOX2ODP_AnimationEnvironment::TearDown()
{
NSDirectory::DeleteDirectory(mTemp);
}
const cpdoccore::odf_writer::anim_par* OOX2ODP_AnimationTest::GetTimingRoot()
{
using namespace cpdoccore::odf_writer;
draw_page* page = dynamic_cast<draw_page*>(mContext->current_slide().page_elm_.get());
if (!page)
return nullptr;
anim_par* timing_root = dynamic_cast<anim_par*>(page->animation_.get());
if (!timing_root)
return nullptr;
return timing_root;
}
const cpdoccore::odf_writer::anim_seq* OOX2ODP_AnimationTest::GetMainSequence()
{
using namespace cpdoccore::odf_writer;
const anim_par* timing_root = GetTimingRoot();
if (!timing_root)
return nullptr;
if (timing_root->anim_seq_array_.size() < 1)
return nullptr;
const anim_seq* main_sequence = dynamic_cast<anim_seq*>(timing_root->anim_seq_array_.at(0).get());
if (!main_sequence)
return nullptr;
return main_sequence;
}
const cpdoccore::odf_writer::anim_par* OOX2ODP_AnimationTest::GetMainSequenceParByIndex(size_t index)
{
using namespace cpdoccore::odf_writer;
const anim_seq* main_sequence = GetMainSequence();
if (index >= main_sequence->anim_par_array_.size())
return nullptr;
const anim_par* par = dynamic_cast<anim_par*>(main_sequence->anim_par_array_[index].get());
if (!par)
return nullptr;
return par;
}
const cpdoccore::odf_writer::anim_par* OOX2ODP_AnimationTest::GetInnerPar(const cpdoccore::odf_writer::anim_par* par)
{
using namespace cpdoccore::odf_writer;
if (!par)
return nullptr;
if (par->anim_par_.size() == 0)
return nullptr;
const anim_par* inner_par = dynamic_cast<anim_par*>(par->anim_par_[0].get());
if (!inner_par)
return nullptr;
return inner_par;
}
const cpdoccore::odf_writer::anim_par* OOX2ODP_AnimationTest::GetInnermostPar(const cpdoccore::odf_writer::anim_par* par)
{
using namespace cpdoccore::odf_writer;
if (!par)
return nullptr;
const anim_par* innermost = GetInnerPar(par);
while (innermost->anim_par_.size())
{
innermost = dynamic_cast<anim_par*>(innermost->anim_par_[0].get());
if (!innermost)
return nullptr;
}
return innermost;
}
const cpdoccore::odf_writer::odp_conversion_context* OOX2ODP_AnimationTest::GetContext() const
{
return mContext;
}

View File

@ -1,123 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "gtest/gtest.h"
#include "Reader/Converter/pptx_conversion_context.h"
#include "Reader/Format/odf_document.h"
#include "Writer/Converter/Oox2OdfConverter.h"
#include "Writer/Format/odp_conversion_context.h"
#include "Writer/Format/anim_elements.h"
#include "Writer/Format/draw_page.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);
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;
};
class OOX2ODP_AnimationEnvironment : public testing::Environment
{
public:
OOX2ODP_AnimationEnvironment(const std::wstring& exampleFilename,
boost::shared_ptr<Oox2Odf::Converter>* converter,
cpdoccore::odf_writer::odp_conversion_context** context);
void SetUp() override;
void TearDown() override;
private:
std::wstring mExampleFilename;
std::wstring mFrom;
std::wstring mTemp;
std::wstring mTempUnpackedOox;
boost::shared_ptr<Oox2Odf::Converter>* mConverter;
cpdoccore::odf_writer::odp_conversion_context** mContext;
};
class OOX2ODP_AnimationTest : public testing::Test
{
public:
const cpdoccore::odf_writer::anim_par* GetTimingRoot();
const cpdoccore::odf_writer::anim_seq* GetMainSequence();
const cpdoccore::odf_writer::anim_par* GetMainSequenceParByIndex(size_t index);
const cpdoccore::odf_writer::anim_par* GetInnerPar(const cpdoccore::odf_writer::anim_par* par);
const cpdoccore::odf_writer::anim_par* GetInnermostPar(const cpdoccore::odf_writer::anim_par* par);
const cpdoccore::odf_writer::odp_conversion_context* GetContext() const;
template<typename T>
const T* GetAnimationBehaviourByIndex(const cpdoccore::odf_writer::anim_par* par, size_t index)
{
using namespace cpdoccore::odf_writer;
if (!par)
return nullptr;
if (par->content_.size() <= index)
return nullptr;
T* behaviour = dynamic_cast<T*>(par->content_[index].get());
if (!behaviour)
return nullptr;
return behaviour;
}
protected:
const Oox2Odf::Converter* mConverter;
cpdoccore::odf_writer::odp_conversion_context* mContext;
};

View File

@ -1,69 +0,0 @@
QT -= core
QT -= gui
TARGET = test
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
CONFIG += core_static_link_libstd
CORE_ROOT_DIR = $$PWD/../../../core
CORE_3DPARTY_DIR = $$CORE_ROOT_DIR/Common/3dParty
PWD_ROOT_DIR = $$PWD
include($$CORE_ROOT_DIR/Common/base.pri)
include($$CORE_3DPARTY_DIR/googletest/googletest.pri)
include($$CORE_3DPARTY_DIR/boost/boost.pri)
include($$CORE_ROOT_DIR/Common/3dParty/icu/icu.pri)
DESTDIR = $$PWD/build
INCLUDEPATH += ../
INCLUDEPATH += $$CORE_ROOT_DIR/OdfFile/Common/
LIBS += -L$$CORE_BUILDS_LIBRARIES_PATH -lCryptoPPLib
LIBS += -L$$CORE_BOOST_LIBS
ADD_DEPENDENCY(kernel)
ADD_DEPENDENCY(kernel_network)
ADD_DEPENDENCY(graphics)
ADD_DEPENDENCY(DocxFormatLib)
ADD_DEPENDENCY(OdfFormatLib)
ADD_DEPENDENCY(PPTXFormatLib)
ADD_DEPENDENCY(BinDocument)
ADD_DEPENDENCY(DocxFormatLib)
ADD_DEPENDENCY(XlsbFormatLib)
ADD_DEPENDENCY(RtfFormatLib)
ADD_DEPENDENCY(CompoundFileLib)
ADD_DEPENDENCY(DocFormatLib XlsFormatLib PPTFormatLib VbaFormatLib)
ADD_DEPENDENCY(HtmlFile2)
ADD_DEPENDENCY(UnicodeConverter)
core_linux {
LIBS += -Wl,-unresolved-symbols=ignore-in-shared-libs
LIBS += -ldl
}
HEADERS += \
common.h\
entrance.h\
motion.h\
audio.h\
interactions.h
SOURCES += \
test.cpp\
common.cpp\
entrance.cpp\
motion.cpp\
audio.cpp\
interactions.cpp\
$$CORE_ROOT_DIR/Common/OfficeFileFormatChecker2.cpp
SOURCES -= $$CORE_GTEST_PATH/src/gtest_main.cc

Binary file not shown.

View File

@ -111,7 +111,7 @@ TEST_F(ODP2OOX_AnimationAudioTest, set)
const auto& mainArray = GetMainSequenceArray();
ASSERT_GE(mainArray.size(), 1);
const auto& actions = GetInnermostPar(mainArray[0])->AnimationActionArray;
ASSERT_EQ(actions.size(), 3);
ASSERT_EQ(actions.size(), 4);
const auto set = dynamic_cast<pptx_animation_context::Impl::_set*>(actions[0].get());
ASSERT_NE(set, nullptr);
}
@ -123,7 +123,7 @@ TEST_F(ODP2OOX_AnimationAudioTest, anim_1)
const auto& mainArray = GetMainSequenceArray();
ASSERT_GE(mainArray.size(), 1);
const auto& actions = GetInnermostPar(mainArray[0])->AnimationActionArray;
ASSERT_EQ(actions.size(), 3);
ASSERT_EQ(actions.size(), 4);
const auto anim = dynamic_cast<pptx_animation_context::Impl::_anim*>(actions[1].get());
ASSERT_NE(anim, nullptr);
}
@ -135,7 +135,7 @@ TEST_F(ODP2OOX_AnimationAudioTest, anim_2)
const auto& mainArray = GetMainSequenceArray();
ASSERT_GE(mainArray.size(), 1);
const auto& actions = GetInnermostPar(mainArray[0])->AnimationActionArray;
ASSERT_EQ(actions.size(), 3);
ASSERT_EQ(actions.size(), 4);
const auto anim = dynamic_cast<pptx_animation_context::Impl::_anim*>(actions[2].get());
ASSERT_NE(anim, nullptr);
}

View File

@ -0,0 +1,356 @@
///*
// * (c) Copyright Ascensio System SIA 2010-2023
// *
// * This program is a free software product. You can redistribute it and/or
// * modify it under the terms of the GNU Affero General Public License (AGPL)
// * version 3 as published by the Free Software Foundation. In accordance with
// * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
// * that Ascensio System SIA expressly excludes the warranty of non-infringement
// * of any third-party rights.
// *
// * This program is distributed WITHOUT ANY WARRANTY; without even the implied
// * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
// * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
// *
// * You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
// * street, Riga, Latvia, EU, LV-1050.
// *
// * The interactive user interfaces in modified source and object code versions
// * of the Program must display Appropriate Legal Notices, as required under
// * Section 5 of the GNU AGPL version 3.
// *
// * Pursuant to Section 7(b) of the License you must retain the original Product
// * logo when distributing the program. Pursuant to Section 7(e) we decline to
// * grant you any rights under trademark law for use of our trademarks.
// *
// * All the Product's GUI elements, including illustrations and icon sets, as
// * well as technical writing content are licensed under the terms of the
// * Creative Commons Attribution-ShareAlike 4.0 International. See the License
// * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
// *
// */
//
#include "common.h"
//
//#include "../../OfficeUtils/src/OfficeUtils.h"
//#include "Reader/Converter/pptx_package.h"
//
//#include "Writer/Converter/Converter.h"
//#include "Writer/Converter/PptxConverter.h"
//#include "Writer/Format/office_elements.h"
//
//boost::shared_ptr<cpdoccore::odf_reader::odf_document> ReadOdfDocument(const std::wstring& from, const std::wstring& temp, const std::wstring& tempUnpackedOdf)
//{
// COfficeUtils oCOfficeUtils(NULL);
// if (S_OK == oCOfficeUtils.ExtractToDirectory(from, tempUnpackedOdf, NULL, 0))
// return boost::make_shared<cpdoccore::odf_reader::odf_document>(tempUnpackedOdf, temp, L"");
// else
// return nullptr;
//}
//
//boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> Convert(boost::shared_ptr<cpdoccore::odf_reader::odf_document> inputOdf)
//{
// cpdoccore::oox::package::pptx_document outputPptx;
// boost::shared_ptr<cpdoccore::oox::pptx_conversion_context> conversionContext = boost::make_shared<cpdoccore::oox::pptx_conversion_context>(inputOdf.get());
//
// conversionContext->set_output_document(&outputPptx);
// conversionContext->set_font_directory(L"");
//
// inputOdf->pptx_convert(*conversionContext);
//
// 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);
//}
//
////////////////////////////////////////////////////////////////////////////
//
//OOX2ODP_AnimationEnvironment::OOX2ODP_AnimationEnvironment(const std::wstring& exampleFilename, boost::shared_ptr<Oox2Odf::Converter>* converter, cpdoccore::odf_writer::odp_conversion_context** context)
//{
// mExampleFilename = exampleFilename;
// mConverter = converter;
// mContext = context;
//}
//
//void OOX2ODP_AnimationEnvironment::SetUp()
//{
// std::wstring rootDir = NSFile::GetProcessDirectory() + CH_DIR("..");
// std::wstring exampleFilesDirectory = rootDir + CH_DIR("ExampleFiles");
//
// mFrom = exampleFilesDirectory + FILE_SEPARATOR_STR + mExampleFilename;
// mTemp = mFrom + _T(".tmp");
// mTempUnpackedOox = mTemp + CH_DIR("pptx_unpacked");
//
// NSDirectory::CreateDirectory(mTemp);
// NSDirectory::CreateDirectory(mTempUnpackedOox);
//
// COfficeUtils oCOfficeUtils(NULL);
// if (S_OK == oCOfficeUtils.ExtractToDirectory(mFrom, mTempUnpackedOox, NULL, 0))
// {
// *mConverter = boost::make_shared<Oox2Odf::Converter>(mTempUnpackedOox, _T("presentation"), L"", false, mTemp);
//
// try
// {
// (*mConverter)->convert();
// *mContext = dynamic_cast<cpdoccore::odf_writer::odp_conversion_context*>((*mConverter)->get_ooxConverter()->odf_context());
// }
// catch (...)
// {
// _CP_LOG << L"[ error ]: Failed to setup OOX2ODP_EntranceAnimationTestEnvironment";
// }
// }
//}
//
//void OOX2ODP_AnimationEnvironment::TearDown()
//{
// NSDirectory::DeleteDirectory(mTemp);
//}
//
//const cpdoccore::odf_writer::anim_par* OOX2ODP_AnimationTest::GetTimingRoot()
//{
// using namespace cpdoccore::odf_writer;
// draw_page* page = dynamic_cast<draw_page*>(mContext->current_slide().page_elm_.get());
// if (!page)
// return nullptr;
//
// anim_par* timing_root = dynamic_cast<anim_par*>(page->animation_.get());
// if (!timing_root)
// return nullptr;
//
// return timing_root;
//
//}
//
//const cpdoccore::odf_writer::anim_seq* OOX2ODP_AnimationTest::GetMainSequence()
//{
// using namespace cpdoccore::odf_writer;
// const anim_par* timing_root = GetTimingRoot();
// if (!timing_root)
// return nullptr;
//
// if (timing_root->anim_seq_array_.size() < 1)
// return nullptr;
//
// const anim_seq* main_sequence = dynamic_cast<anim_seq*>(timing_root->anim_seq_array_.at(0).get());
// if (!main_sequence)
// return nullptr;
//
// return main_sequence;
//}
//
//const cpdoccore::odf_writer::anim_par* OOX2ODP_AnimationTest::GetMainSequenceParByIndex(size_t index)
//{
// using namespace cpdoccore::odf_writer;
// const anim_seq* main_sequence = GetMainSequence();
//
// if (index >= main_sequence->anim_par_array_.size())
// return nullptr;
//
// const anim_par* par = dynamic_cast<anim_par*>(main_sequence->anim_par_array_[index].get());
// if (!par)
// return nullptr;
//
// return par;
//}
//
//const cpdoccore::odf_writer::anim_par* OOX2ODP_AnimationTest::GetInnerPar(const cpdoccore::odf_writer::anim_par* par)
//{
// using namespace cpdoccore::odf_writer;
//
// if (!par)
// return nullptr;
//
// if (par->anim_par_.size() == 0)
// return nullptr;
//
// const anim_par* inner_par = dynamic_cast<anim_par*>(par->anim_par_[0].get());
//
// if (!inner_par)
// return nullptr;
//
// return inner_par;
//}
//
//const cpdoccore::odf_writer::anim_par* OOX2ODP_AnimationTest::GetInnermostPar(const cpdoccore::odf_writer::anim_par* par)
//{
// using namespace cpdoccore::odf_writer;
//
// if (!par)
// return nullptr;
//
// const anim_par* innermost = GetInnerPar(par);
//
// while (innermost->anim_par_.size())
// {
// innermost = dynamic_cast<anim_par*>(innermost->anim_par_[0].get());
// if (!innermost)
// return nullptr;
// }
//
// return innermost;
//}
//
//const cpdoccore::odf_writer::odp_conversion_context* OOX2ODP_AnimationTest::GetContext() const
//{
// return mContext;
//}
//////////////////////////////////////////////////////////////////////////
#include <stdio.h>
#include <tchar.h>
#include "D:\ONLYOFFICE\core\Common\OfficeFileFormatChecker.h"
#include "D:\ONLYOFFICE\core\OfficeUtils\src\OfficeUtils.h"
#include "D:\ONLYOFFICE\core\DesktopEditor\common\Directory.h"
#include "D:\ONLYOFFICE\core\OdfFile\Reader\Converter\ConvertOO2OOX.h"
#include "D:\ONLYOFFICE\core\OdfFile\Common\logging.h"
#if defined(_WIN64)
#pragma comment(lib, "D:/ONLYOFFICE/core/Common/3dParty/icu/win_64/build/icuuc.lib")
#pragma comment(lib, "D:/ONLYOFFICE/core/build/lib/win_64/DEBUG/graphics.lib")
#pragma comment(lib, "D:/ONLYOFFICE/core/build/lib/win_64/DEBUG/kernel.lib")
#pragma comment(lib, "D:/ONLYOFFICE/core/build/lib/win_64/DEBUG/UnicodeConverter.lib")
#pragma comment(lib, "D:/ONLYOFFICE/core/build/lib/win_64/DEBUG/CryptoPPLib.lib")
#elif defined (_WIN32)
#if defined(DEBUG)
#pragma comment(lib, "../../../../build/lib/win_32/DEBUG/graphics.lib")
#pragma comment(lib, "../../../../build/lib/win_32/DEBUG/kernel.lib")
#pragma comment(lib, "../../../../build/lib/win_32/DEBUG/UnicodeConverter.dll")
#else
#pragma comment(lib, "../../../../build/lib/win_32/graphics.lib")
#pragma comment(lib, "../../../../build/lib/win_32/kernel.lib")
#pragma comment(lib, "../../../../build/lib/win_32/UnicodeConverter.dll")
#endif
#pragma comment(lib, "../../../../build/bin/icu/win_32/icuuc.lib")
#endif
HRESULT convert_single(std::wstring srcFileName)
{
int nResult = 0;
COfficeFileFormatChecker fileChecker(srcFileName);
std::wstring dstPath = srcFileName;// + ; //xlsx pptx docx
switch (fileChecker.nFileType)
{
case AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT:
case AVS_OFFICESTUDIO_FILE_DOCUMENT_OTT:
case AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT_FLAT: dstPath += L"-tmp.docx"; break;
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS:
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_OTS:
case AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS_FLAT: dstPath += L"-tmp.xlsx"; break;
case AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP:
case AVS_OFFICESTUDIO_FILE_PRESENTATION_OTP:
case AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP_FLAT: dstPath += L"-tmp.pptx"; break;
default:
return -1;
}
//---------------------------------------------------------------------------------------------------
COfficeUtils oCOfficeUtils(NULL);
std::wstring outputDir = NSDirectory::GetFolderPath(dstPath);
std::wstring dstTempPath = NSDirectory::CreateDirectoryWithUniqueName(outputDir);
std::wstring srcTempPath;
std::wstring srcTempPath2 = NSDirectory::CreateDirectoryWithUniqueName(outputDir);
if (fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_DOCUMENT_ODT ||
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS ||
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP ||
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_DOCUMENT_OTT ||
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_SPREADSHEET_OTS ||
fileChecker.nFileType == AVS_OFFICESTUDIO_FILE_PRESENTATION_OTP)
{
srcTempPath = NSDirectory::CreateDirectoryWithUniqueName(outputDir);
if (S_OK != oCOfficeUtils.ExtractToDirectory(srcFileName.c_str(), srcTempPath.c_str(), NULL, 0))
return -2;
}
else // flat
{
srcTempPath = srcFileName;
}
_CP_LOG << L"[info] " << srcFileName << std::endl;
nResult = ConvertODF2OOXml(srcTempPath, dstTempPath, L"C:\\Windows\\Fonts", srcTempPath2, L"");
if (srcTempPath != srcFileName)
{
NSDirectory::DeleteDirectory(srcTempPath);
}
NSDirectory::DeleteDirectory(srcTempPath2);
if (nResult == 0)
{
if (S_OK != oCOfficeUtils.CompressFileOrDirectory(dstTempPath, dstPath, true))
nResult = -2;
}
NSDirectory::DeleteDirectory(dstTempPath);
return nResult;
}
HRESULT convert_directory(std::wstring pathName)
{
HRESULT hr = S_OK;
std::vector<std::wstring> arFiles = NSDirectory::GetFiles(pathName, false);
for (size_t i = 0; i < arFiles.size(); i++)
{
convert_single(arFiles[i]);
}
return S_OK;
}
ODT2DOCX_ConversionEnvironment::ODT2DOCX_ConversionEnvironment(const std::wstring& filename)
: mFilename(filename)
{
}
void ODT2DOCX_ConversionEnvironment::SetUp()
{
convert_single(mFilename);
}
void ODT2DOCX_ConversionEnvironment::TearDown()
{
}

View File

@ -0,0 +1,137 @@
/*
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "gtest/gtest.h"
//#include "Reader/Converter/pptx_conversion_context.h"
//#include "Reader/Format/odf_document.h"
//
//#include "Writer/Converter/Oox2OdfConverter.h"
//#include "Writer/Format/odp_conversion_context.h"
//#include "Writer/Format/anim_elements.h"
//#include "Writer/Format/draw_page.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);
//
//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;
//};
//
//class OOX2ODP_AnimationEnvironment : public testing::Environment
//{
//public:
// OOX2ODP_AnimationEnvironment(const std::wstring& exampleFilename,
// boost::shared_ptr<Oox2Odf::Converter>* converter,
// cpdoccore::odf_writer::odp_conversion_context** context);
//
// void SetUp() override;
// void TearDown() override;
//
//private:
// std::wstring mExampleFilename;
// std::wstring mFrom;
// std::wstring mTemp;
// std::wstring mTempUnpackedOox;
//
// boost::shared_ptr<Oox2Odf::Converter>* mConverter;
// cpdoccore::odf_writer::odp_conversion_context** mContext;
//};
//
//class OOX2ODP_AnimationTest : public testing::Test
//{
//public:
// const cpdoccore::odf_writer::anim_par* GetTimingRoot();
// const cpdoccore::odf_writer::anim_seq* GetMainSequence();
// const cpdoccore::odf_writer::anim_par* GetMainSequenceParByIndex(size_t index);
// const cpdoccore::odf_writer::anim_par* GetInnerPar(const cpdoccore::odf_writer::anim_par* par);
// const cpdoccore::odf_writer::anim_par* GetInnermostPar(const cpdoccore::odf_writer::anim_par* par);
//
// const cpdoccore::odf_writer::odp_conversion_context* GetContext() const;
//
// template<typename T>
// const T* GetAnimationBehaviourByIndex(const cpdoccore::odf_writer::anim_par* par, size_t index)
// {
// using namespace cpdoccore::odf_writer;
//
// if (!par)
// return nullptr;
//
// if (par->content_.size() <= index)
// return nullptr;
//
// T* behaviour = dynamic_cast<T*>(par->content_[index].get());
// if (!behaviour)
// return nullptr;
//
// return behaviour;
// }
//
//protected:
// const Oox2Odf::Converter* mConverter;
// cpdoccore::odf_writer::odp_conversion_context* mContext;
//};
class ODT2DOCX_ConversionEnvironment : public testing::Environment
{
public:
ODT2DOCX_ConversionEnvironment(const std::wstring& filename);
virtual void SetUp() override;
virtual void TearDown() override;
private:
std::wstring mFilename;
};

View File

@ -32,28 +32,48 @@
#include "gtest/gtest.h"
#include "entrance.h"
#include "motion.h"
#include "audio.h"
#include "interactions.h"
#include "common.h"
//#include "entrance.h"
//#include "motion.h"
//#include "audio.h"
//#include "interactions.h"
class TestEnv : public ODT2DOCX_ConversionEnvironment
{
public:
TestEnv()
: ODT2DOCX_ConversionEnvironment(L"ExampleFiles/motion.odp")
{
}
void SetUp() override
{
ODT2DOCX_ConversionEnvironment::SetUp();
}
};
int main(int argc, char* argv[])
{
::testing::InitGoogleTest(&argc, argv);
::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationEntranceEnvironment);
::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationMotionEnvironment);
::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationAudioEnvironment);
::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationPlayAudioEnvironment);
::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationOpenDocumentEnvironment);
::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationRunProgramEnvironment);
::testing::AddGlobalTestEnvironment(new OOX2ODP_EntranceAnimationEnvironment);
::testing::AddGlobalTestEnvironment(new OOX2ODP_AudioAnimationEnvironment);
::testing::AddGlobalTestEnvironment(new OOX2ODP_InteractionAnimationEnvironment);
::testing::AddGlobalTestEnvironment(new OOX2ODP_PlayAudioAnimationEnvironment);
::testing::AddGlobalTestEnvironment(new OOX2ODP_OpenDocumentAnimationEnvironment);
::testing::AddGlobalTestEnvironment(new OOX2ODP_RunProgramAnimationEnvironment);
::testing::AddGlobalTestEnvironment(new TestEnv);
//::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationEntranceEnvironment);
//::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationMotionEnvironment);
//::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationAudioEnvironment);
//::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationPlayAudioEnvironment);
//::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationOpenDocumentEnvironment);
//::testing::AddGlobalTestEnvironment(new ODP2OOX_AnimationRunProgramEnvironment);
//
//::testing::AddGlobalTestEnvironment(new OOX2ODP_EntranceAnimationEnvironment);
//::testing::AddGlobalTestEnvironment(new OOX2ODP_AudioAnimationEnvironment);
//::testing::AddGlobalTestEnvironment(new OOX2ODP_InteractionAnimationEnvironment);
//::testing::AddGlobalTestEnvironment(new OOX2ODP_PlayAudioAnimationEnvironment);
//::testing::AddGlobalTestEnvironment(new OOX2ODP_OpenDocumentAnimationEnvironment);
//::testing::AddGlobalTestEnvironment(new OOX2ODP_RunProgramAnimationEnvironment);
return RUN_ALL_TESTS();
}

View File

@ -0,0 +1,40 @@
TEMPLATE = app
QT -= core
QT -= gui
TARGET = test_odf
CONFIG += console
CONFIG -= app_bundle
CONFIG += core_static_link_libstd
CONFIG += build_x2t_as_library
CORE_ROOT_DIR = $$PWD/../../../../core
include($$CORE_ROOT_DIR/Common/base.pri)
include($$CORE_ROOT_DIR/Common/3dParty/googletest/googletest.pri)
include($$CORE_ROOT_DIR/Common/3dParty/boost/boost.pri)
LIBS += -L$$CORE_BOOST_LIBS
INCLUDEPATH += $$CORE_ROOT_DIR/X2tConverter/src/
DESTDIR = $$PWD/build
HEADERS += \
common.h
# entrance.h\
# motion.h\
# audio.h\
# interactions.h
SOURCES += \
test.cpp\
common.cpp
# entrance.cpp\
# motion.cpp\
# audio.cpp\
# interactions.cpp
SOURCES -= $$CORE_GTEST_PATH/src/gtest_main.cc

View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{FCEE2341-4B81-345F-B474-326CB249A86E}</ProjectGuid>
<RootNamespace>test_odf</RootNamespace>
<Keyword>Qt4VSv1.0</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>build\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>Application</ConfigurationType>
<IntermediateDirectory>\core_build\win_64\debug\obj\</IntermediateDirectory>
<PrimaryOutput>test_odf</PrimaryOutput>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">build\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\core_build\win_64\debug\obj\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">test_odf</TargetName>
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</IgnoreImportLibrary>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>.;D:\ONLYOFFICE\core\Common\3dParty\googletest\googletest\googletest;D:\ONLYOFFICE\core\Common\3dParty\googletest\googletest\googletest\include;D:\ONLYOFFICE\core\Common\3dParty\boost\build\win_64\include;D:\ONLYOFFICE\core\X2tConverter\src;C:\Qt\5.15.2\msvc2019_64\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>\core_build\win_64\debug\obj\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp14</LanguageStandard>
<ObjectFileName>\core_build\win_64\debug\obj\</ObjectFileName>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;INTVER=2.5.565.0;WIN_INTVER=2,5,565,0;COPYRIGHT_YEAR=2024;_WIN32;NOMINMAX;_WIN64;WINDOWS_IGNORE_PACKING_MISMATCH;_DEBUG;_DONT_WRITE_EMBEDDED_FONTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>D:\ONLYOFFICE\core\Common\3dParty\boost\build\win_64\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>true</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<OutputFile>$(OutDir)\test_odf.exe</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<Version>2.5</Version>
<AdditionalDependencies>D:\ONLYOFFICE\core\OdfFile\Projects\Windows\x64\Debug\Common\OdfCommon-static.lib;D:\ONLYOFFICE\core\OdfFile\Projects\Windows\x64\Debug\Reader\OdfFormatReaderLib.lib;D:\ONLYOFFICE\core\OdfFile\Projects\Windows\x64\Debug\Formulas\OdfFormulasConvert.lib;D:\ONLYOFFICE\core\OdfFile\Projects\Windows\x64\Debug\Xml\xml_wrapper.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;INTVER=2.5.565.0;WIN_INTVER=2,5,565,0;COPYRIGHT_YEAR=2024;WIN32;_WIN32;NOMINMAX;WIN64;_WIN64;WINDOWS_IGNORE_PACKING_MISMATCH;_DEBUG;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\Common\3dParty\pole\pole.cpp" />
<ClCompile Include="..\..\..\Common\OfficeFileFormatChecker2.cpp" />
<ClCompile Include="..\..\..\OOXML\Base\unicode_util.cpp" />
<ClCompile Include="..\..\..\OOXML\Base\Unit.cpp" />
<ClCompile Include="..\..\..\OOXML\SystemUtility\SystemUtility.cpp" />
<ClCompile Include="common.cpp" />
<ClCompile Include="D:\ONLYOFFICE\core\Common\3dParty\googletest\googletest\googletest\src\gtest-all.cc" />
<ClCompile Include="test.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="common.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="D:\ONLYOFFICE\core\OdfFile\Test\test_odf\test_odf_resource.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="common.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="D:\ONLYOFFICE\core\Common\3dParty\googletest\googletest\googletest\src\gtest-all.cc">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="test.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\Common\OfficeFileFormatChecker2.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\Common\3dParty\pole\pole.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\OOXML\Base\unicode_util.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\OOXML\Base\Unit.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\OOXML\SystemUtility\SystemUtility.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="common.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="D:\ONLYOFFICE\core\OdfFile\Test\test_odf\test_odf_resource.rc" />
</ItemGroup>
</Project>

18
OdfFile/Test/test_sln.pro Normal file
View File

@ -0,0 +1,18 @@
TEMPLATE = subdirs
CORE_ROOT_DIR = $$PWD/../../
include($$CORE_ROOT_DIR/Common/base.pri)
SUBDIRS = \
TestOdf\
OdfFormatLib\
X2tConverter
TestOdf.file = $$PWD/test_odf/test_odf.pro
OdfFormatLib.file = $$CORE_ROOT_DIR/OdfFile/Projects/Linux/OdfFormatLib.pro
X2tConverter.file = $$CORE_ROOT_DIR/X2tConverter/build/Qt/X2tConverterDll.pro
X2tConverter.depends = OdfFormatLib
TestOdf.depends = X2tConverter

74
OdfFile/Test/test_sln.sln Normal file
View File

@ -0,0 +1,74 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.34031.81
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_odf", "test_odf\test_odf.vcxproj", "{FCEE2341-4B81-345F-B474-326CB249A86E}"
ProjectSection(ProjectDependencies) = postProject
{50E20601-4A8D-4AFB-8870-63828D328429} = {50E20601-4A8D-4AFB-8870-63828D328429}
{41BED424-4EAF-4053-8A5F-1E2A387D53D1} = {41BED424-4EAF-4053-8A5F-1E2A387D53D1}
{609ED938-3CA8-4BED-B363-25096D4C4812} = {609ED938-3CA8-4BED-B363-25096D4C4812}
{94954A67-A853-43B1-A727-6EF2774C5A6A} = {94954A67-A853-43B1-A727-6EF2774C5A6A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfCommon", "..\Projects\Windows\cpcommon.vcxproj", "{609ED938-3CA8-4BED-B363-25096D4C4812}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfFormatReaderLib", "..\Projects\Windows\cpodf.vcxproj", "{50E20601-4A8D-4AFB-8870-63828D328429}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xml_wrapper", "..\Projects\Windows\cpxml.vcxproj", "{41BED424-4EAF-4053-8A5F-1E2A387D53D1}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfFormulasConvert", "..\Projects\Windows\formulasconvert.vcxproj", "{94954A67-A853-43B1-A727-6EF2774C5A6A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FCEE2341-4B81-345F-B474-326CB249A86E}.Debug|x64.ActiveCfg = Debug|x64
{FCEE2341-4B81-345F-B474-326CB249A86E}.Debug|x64.Build.0 = Debug|x64
{FCEE2341-4B81-345F-B474-326CB249A86E}.Debug|x86.ActiveCfg = Debug|x64
{FCEE2341-4B81-345F-B474-326CB249A86E}.Release|x64.ActiveCfg = Release|x64
{FCEE2341-4B81-345F-B474-326CB249A86E}.Release|x64.Build.0 = Release|x64
{FCEE2341-4B81-345F-B474-326CB249A86E}.Release|x86.ActiveCfg = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug|x64.ActiveCfg = Debug|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug|x64.Build.0 = Debug|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug|x86.ActiveCfg = Debug|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug|x86.Build.0 = Debug|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release|x64.ActiveCfg = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release|x64.Build.0 = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release|x86.ActiveCfg = Release|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release|x86.Build.0 = Release|Win32
{50E20601-4A8D-4AFB-8870-63828D328429}.Debug|x64.ActiveCfg = Debug|x64
{50E20601-4A8D-4AFB-8870-63828D328429}.Debug|x64.Build.0 = Debug|x64
{50E20601-4A8D-4AFB-8870-63828D328429}.Debug|x86.ActiveCfg = Debug|Win32
{50E20601-4A8D-4AFB-8870-63828D328429}.Debug|x86.Build.0 = Debug|Win32
{50E20601-4A8D-4AFB-8870-63828D328429}.Release|x64.ActiveCfg = Release|x64
{50E20601-4A8D-4AFB-8870-63828D328429}.Release|x64.Build.0 = Release|x64
{50E20601-4A8D-4AFB-8870-63828D328429}.Release|x86.ActiveCfg = Release|Win32
{50E20601-4A8D-4AFB-8870-63828D328429}.Release|x86.Build.0 = Release|Win32
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Debug|x64.ActiveCfg = Debug|x64
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Debug|x64.Build.0 = Debug|x64
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Debug|x86.ActiveCfg = Debug|Win32
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Debug|x86.Build.0 = Debug|Win32
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Release|x64.ActiveCfg = Release|x64
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Release|x64.Build.0 = Release|x64
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Release|x86.ActiveCfg = Release|Win32
{41BED424-4EAF-4053-8A5F-1E2A387D53D1}.Release|x86.Build.0 = Release|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug|x64.ActiveCfg = Debug|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug|x64.Build.0 = Debug|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug|x86.ActiveCfg = Debug|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug|x86.Build.0 = Debug|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release|x64.ActiveCfg = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release|x64.Build.0 = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release|x86.ActiveCfg = Release|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {38706D63-2C66-4877-A374-E1356F47773E}
EndGlobalSection
EndGlobal