/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
namespace
{ /// Tests for svx/source/core/ code. class Test : public UnoApiTest
{ public:
Test()
: UnoApiTest(u"svx/qa/unit/data/"_ustr)
{
}
};
CPPUNIT_TEST_FIXTURE(Test, testChartExportToPdf)
{ // Given a Calc document with a chart in it:
loadFromFile(u"chart.ods");
uno::Reference<drawing::XDrawPagesSupplier> xDrawPagesSupplier(mxComponent, uno::UNO_QUERY);
uno::Reference<drawing::XDrawPage> xDrawPage(xDrawPagesSupplier->getDrawPages()->getByIndex(0),
uno::UNO_QUERY);
uno::Reference<drawing::XShape> xShape(xDrawPage->getByIndex(0), uno::UNO_QUERY);
// When exporting that chart to PDF:
GraphicHelper::SaveShapeAsGraphicToPath(mxComponent, xShape, u"application/pdf"_ustr,
maTempFile.GetURL());
// Then make sure we get a valid, non-empty PDF: // Without the accompanying fix in place, this test would have failed, because the output was // empty (0 bytes).
std::unique_ptr<vcl::pdf::PDFiumDocument> pPdfDocument = parsePDFExport(); if (!pPdfDocument)
{ return;
} int nPageCount = pPdfDocument->getPageCount();
CPPUNIT_ASSERT_GREATER(0, nPageCount);
}
// Test name in root folder
{
uno::Reference<graphic::XGraphic> xGraphic
= xGraphicHelper->loadGraphic(u"SomeImage.png"_ustr);
CPPUNIT_ASSERT_EQUAL(true, xGraphic.is());
}
// Test name in sub-folder
{
uno::Reference<graphic::XGraphic> xGraphic
= xGraphicHelper->loadGraphic(u"Pictures/SomeOtherImage.png"_ustr);
CPPUNIT_ASSERT_EQUAL(true, xGraphic.is());
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.