From 8230290c98f9fd77c933e350ca6c861566fefec6 Mon Sep 17 00:00:00 2001 From: Thorsten Behrens Date: Sat, 18 May 2013 01:25:52 +0200 Subject: [PATCH] Add unit test for xml:id loading. Guard against xml:id load breakage, that cause fdo#64512 and fdo#60075. Both connector shape and animation references need it to work. Change-Id: I7883d1d27eae02f605c83217a2e1b83934b31483 --- sd/qa/unit/data/fdo64512.odp | Bin 0 -> 14699 bytes sd/qa/unit/import-tests.cxx | 52 +++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 sd/qa/unit/data/fdo64512.odp diff --git a/sd/qa/unit/data/fdo64512.odp b/sd/qa/unit/data/fdo64512.odp new file mode 100644 index 0000000000000000000000000000000000000000..ffb9f044bebba3d6e806d3d02636dbd852be25a4 GIT binary patch literal 14699 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 U{B|w|z`cKdzK>3e_4nQX0boiuOaK4? literal 0 HcmV?d00001 diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx index 8ca2348b4b8d..0acc91c2775b 100644 --- a/sd/qa/unit/import-tests.cxx +++ b/sd/qa/unit/import-tests.cxx @@ -16,6 +16,14 @@ #include #include +#include + +#include +#include +#include +#include +#include +#include using namespace ::com::sun::star; @@ -27,12 +35,14 @@ public: void testSmoketest(); void testN759180(); void testN778859(); + void testFdo64512(); CPPUNIT_TEST_SUITE(SdFiltersTest); CPPUNIT_TEST(testDocumentLayout); CPPUNIT_TEST(testSmoketest); CPPUNIT_TEST(testN759180); CPPUNIT_TEST(testN778859); + CPPUNIT_TEST(testFdo64512); CPPUNIT_TEST_SUITE_END(); }; @@ -154,6 +164,48 @@ void SdFiltersTest::testN778859() } } +void SdFiltersTest::testFdo64512() +{ + ::sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/fdo64512.odp")); + CPPUNIT_ASSERT_MESSAGE( "failed to load", xDocShRef.Is() ); + CPPUNIT_ASSERT_MESSAGE( "not in destruction", !xDocShRef->IsInDestruction() ); + + uno::Reference< drawing::XDrawPagesSupplier > xDoc( + xDocShRef->GetDoc()->getUnoModel(), uno::UNO_QUERY_THROW ); + CPPUNIT_ASSERT_MESSAGE( "not exactly one page", xDoc->getDrawPages()->getCount() == 1 ); + + uno::Reference< drawing::XDrawPage > xPage( + xDoc->getDrawPages()->getByIndex(0), uno::UNO_QUERY_THROW ); + CPPUNIT_ASSERT_MESSAGE( "no exactly three shapes", xPage->getCount() == 3 ); + + uno::Reference< beans::XPropertySet > xConnectorShape( + xPage->getByIndex(2), uno::UNO_QUERY ); + CPPUNIT_ASSERT_MESSAGE( "no connector shape", xConnectorShape.is() ); + + uno::Reference< beans::XPropertySet > xSvgShape( + xConnectorShape->getPropertyValue("StartShape"), uno::UNO_QUERY ); + CPPUNIT_ASSERT_MESSAGE( "no start shape", xSvgShape.is() ); + + uno::Reference< beans::XPropertySet > xCustomShape( + xConnectorShape->getPropertyValue("EndShape"), uno::UNO_QUERY ); + CPPUNIT_ASSERT_MESSAGE( "no end shape", xCustomShape.is() ); + + uno::Reference< animations::XAnimationNodeSupplier > xAnimNodeSupplier( + xPage, uno::UNO_QUERY_THROW ); + uno::Reference< animations::XAnimationNode > xRootNode( + xAnimNodeSupplier->getAnimationNode() ); + std::vector< uno::Reference< animations::XAnimationNode > > aAnimVector; + anim::create_deep_vector(xRootNode, aAnimVector); + CPPUNIT_ASSERT_MESSAGE( "not 8 animation nodes", aAnimVector.size() == 8 ); + + uno::Reference< animations::XAnimate > xNode( + aAnimVector[7], uno::UNO_QUERY_THROW ); + uno::Reference< drawing::XShape > xTargetShape( + xNode->getTarget(), uno::UNO_QUERY_THROW ); + CPPUNIT_ASSERT_MESSAGE( "inner node not referencing svg shape", + xTargetShape != xSvgShape ); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdFiltersTest); CPPUNIT_PLUGIN_IMPLEMENT();