sd/qa/unit/data/odp/fdo77027.odp |binary sd/qa/unit/import-tests.cxx | 35 +++++++++++++++++++++++++++++++++++ xmloff/source/draw/ximpshap.cxx | 2 +- xmloff/source/meta/xmlmetai.cxx | 13 +++++++------ 4 files changed, 43 insertions(+), 7 deletions(-)
New commits: commit 74d7911abf77643544c58a0d3e5fb956add76c44 Author: Michael Stahl <[email protected]> Date: Wed Apr 16 00:26:33 2014 +0200 ODF import: detect "LibreOfficeDev" in meta:generator too Change-Id: Icea3086975dab1afedf111364683e6a7de50ce41 diff --git a/xmloff/source/meta/xmlmetai.cxx b/xmloff/source/meta/xmlmetai.cxx index 2ab36f6..17122cb 100644 --- a/xmloff/source/meta/xmlmetai.cxx +++ b/xmloff/source/meta/xmlmetai.cxx @@ -266,17 +266,18 @@ void SvXMLMetaDocumentContext::setBuildId(OUString const& i_rBuildId, const uno: } } - if (i_rBuildId.startsWith("LibreOffice/")) + OUString rest; + if (i_rBuildId.startsWith("LibreOffice/", &rest) || + i_rBuildId.startsWith("LibreOfficeDev/", &rest)) { OUStringBuffer sNumber; - for (sal_Int32 i = sizeof("LibreOffice/") - 1; - i < i_rBuildId.getLength(); ++i) + for (sal_Int32 i = 0; i < rest.getLength(); ++i) { - if (isdigit(i_rBuildId[i])) + if (isdigit(rest[i])) { - sNumber.append(i_rBuildId[i]); + sNumber.append(rest[i]); } - else if ('.' != i_rBuildId[i]) + else if ('.' != rest[i]) { break; } commit 25a2eab22798373b8197f1e594568207eb7c5039 Author: Michael Stahl <[email protected]> Date: Tue Apr 15 23:34:37 2014 +0200 fdo#77027: ODF import: fix wrong version in check for embedded objects SvXMLImport::LO_4x does not mean 4.0+ any more. (regression from 92cb21ebeda98c5193c50c4cf7ef3d60611c2a52) Change-Id: Ib444762c2d6e4d051e99962eaff1b1ed34af983a diff --git a/sd/qa/unit/data/odp/fdo77027.odp b/sd/qa/unit/data/odp/fdo77027.odp new file mode 100644 index 0000000..4d834d4 Binary files /dev/null and b/sd/qa/unit/data/odp/fdo77027.odp differ diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx index 073169a..c0897d5 100644 --- a/sd/qa/unit/import-tests.cxx +++ b/sd/qa/unit/import-tests.cxx @@ -26,6 +26,8 @@ #include <svx/svdoashp.hxx> #include <svx/svdogrp.hxx> #include <svx/svdomedia.hxx> +#include <svx/svdoole2.hxx> +#include <svx/xflclit.hxx> #include <animations/animationnodehelper.hxx> #include <com/sun/star/drawing/XDrawPage.hpp> @@ -63,6 +65,7 @@ public: void testN821567(); void testFdo68594(); void testFdo72998(); + void testFdo77027(); void testStrictOOXML(); void testN862510_1(); void testN862510_2(); @@ -86,6 +89,7 @@ public: CPPUNIT_TEST(testN821567); CPPUNIT_TEST(testFdo68594); CPPUNIT_TEST(testFdo72998); + CPPUNIT_TEST(testFdo77027); CPPUNIT_TEST(testStrictOOXML); CPPUNIT_TEST(testN862510_1); CPPUNIT_TEST(testN862510_2); @@ -549,6 +553,37 @@ void SdFiltersTest::testFdo72998() xDocShRef->DoClose(); } +// FIXME copypasta +std::ostream& operator<<(std::ostream& rStrm, const Color& rColor) +{ + rStrm << "Color: R:" << rColor.GetRed() << " G:" << rColor.GetGreen() << " B: << rColor.GetBlue()"; + return rStrm; +} + +void SdFiltersTest::testFdo77027() +{ + ::sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/odp/fdo77027.odp")); + + SdDrawDocument *pDoc = xDocShRef->GetDoc(); + CPPUNIT_ASSERT_MESSAGE( "no document", pDoc != NULL ); + const SdrPage *pPage = pDoc->GetPage(1); + CPPUNIT_ASSERT_MESSAGE( "no page", pPage != NULL ); + { + SdrOle2Obj *const pObj = dynamic_cast<SdrOle2Obj*>(pPage->GetObj(0)); + CPPUNIT_ASSERT(pObj); + + // check that the fill style/color was actually imported + const XFillStyleItem& rStyleItem = dynamic_cast<const XFillStyleItem&>( + pObj->GetMergedItem(XATTR_FILLSTYLE)); + CPPUNIT_ASSERT_EQUAL(XFILL_SOLID, rStyleItem.GetValue()); + const XFillColorItem& rColorItem = dynamic_cast<const XFillColorItem&>( + pObj->GetMergedItem(XATTR_FILLCOLOR)); + CPPUNIT_ASSERT_EQUAL(Color(0xff6600), rColorItem.GetColorValue()); + } + + xDocShRef->DoClose(); +} + void SdFiltersTest::testFdo64512() { ::sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/fdo64512.odp")); diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx index ce27251..a3fd8bb 100644 --- a/xmloff/source/draw/ximpshap.cxx +++ b/xmloff/source/draw/ximpshap.cxx @@ -2772,7 +2772,7 @@ void SdXMLObjectShapeContext::StartElement( const ::com::sun::star::uno::Referen void SdXMLObjectShapeContext::EndElement() { if (GetImport().isGeneratorVersionOlderThan( - SvXMLImport::OOo_34x, SvXMLImport::LO_4x)) + SvXMLImport::OOo_34x, SvXMLImport::LO_41x)) // < LO 4.0 { // #i118485# // If it's an old file from us written before OOo3.4, we need to correct _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
