diff options
author | Tamás Zolnai <tamas.zolnai@collabora.com> | 2017-02-12 16:04:58 +0100 |
---|---|---|
committer | Tamás Zolnai <tamas.zolnai@collabora.com> | 2017-02-12 16:43:06 +0000 |
commit | 49d7bdea17f6468b0c5c9f425f4432e2ad7e1ace (patch) | |
tree | debd11744617476d9dfa2add377359b15a43c88c /chart2/qa/extras | |
parent | 8aff36d87f83fa2c86515f106c1e579b0903421a (diff) |
ChartDumpTest: A new chart test suite for a more sistematic testing
A hibrid of dumper tests (xmlDump) and simple CppUnit tests.
Advantages:
* Easy to add a new test case
** Add a new test file and generate the reference
** Similar to dumper tests
* Easy to find out the root of the problem when test fails
** Assertion is not coming somewhere from an XML file
** Assertion are placed in the code, so if you read and
understand that code, you can find out easier why the test fails.
** Similar to simple CppUnit tests.
* One test checks only one smaller part of the whole document
** e.g. legend, chart data, grid
Change-Id: I7bba5a37efcc62d6358c84acece91963243a914f
Reviewed-on: https://gerrit.libreoffice.org/34154
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Diffstat (limited to 'chart2/qa/extras')
47 files changed, 3267 insertions, 2 deletions
diff --git a/chart2/qa/extras/chart2dump/chart2dump.cxx b/chart2/qa/extras/chart2dump/chart2dump.cxx new file mode 100755 index 000000000000..0c69aeb51c27 --- /dev/null +++ b/chart2/qa/extras/chart2dump/chart2dump.cxx @@ -0,0 +1,748 @@ +/* -*- 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/. + */ + +#include "charttest.hxx" +#include <com/sun/star/chart2/XChartDocument.hpp> +#include <com/sun/star/chart/XChartDocument.hpp> +#include <com/sun/star/chart/XComplexDescriptionAccess.hpp> +#include <com/sun/star/container/XNamed.hpp> +#include <com/sun/star/text/WritingMode.hpp> +#include <com/sun/star/text/XText.hpp> +#include <com/sun/star/drawing/HomogenMatrix3.hpp> +#include <com/sun/star/drawing/LineDash.hpp> + +#include <editeng/unoprnms.hxx> +#include <test/xmltesttools.hxx> +#include <rtl/strbuf.hxx> +#include <rtl/ustring.hxx> + +#include <fstream> + +#define EPS 1E-12 + +#define DECLARE_DUMP_TEST(TestName, BaseClass, DumpMode) \ + class TestName : public BaseClass { \ + protected:\ + virtual OUString getTestName() override { return OUString(#TestName); } \ + public:\ + TestName() : BaseClass(DumpMode) {}; \ + CPPUNIT_TEST_SUITE(TestName); \ + CPPUNIT_TEST(verify); \ + CPPUNIT_TEST_SUITE_END(); \ + virtual void verify() override;\ + };\ + CPPUNIT_TEST_SUITE_REGISTRATION(TestName); \ + void TestName::verify() + + +#define CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aActual) \ + if(isInDumpMode()) \ + writeActual(OUString::number(aActual), #aActual); \ + else \ + { \ + OString sTestFileName = OUStringToOString(getTestFileName(), RTL_TEXTENCODING_UTF8); \ + CPPUNIT_ASSERT_EQUAL_MESSAGE(OString("Failing test file is: " + sTestFileName).getStr(), readExpected(#aActual), OUString::number(aActual)); \ + } + +#define CPPUNIT_DUMP_ASSERT_DOUBLES_EQUAL(aActual, EPS_) \ + if(isInDumpMode()) \ + writeActual(OUString::number(aActual), #aActual); \ + else \ + { \ + OString sTestFileName = OUStringToOString(getTestFileName(), RTL_TEXTENCODING_UTF8); \ + CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE(OString("Failing test file is: " + sTestFileName).getStr(), readExpectedDouble(#aActual), aActual, EPS_); \ + } + +#define CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(aActual) \ + if(isInDumpMode()) \ + writeActual(aActual, #aActual); \ + else \ + { \ + OString sTestFileName = OUStringToOString(getTestFileName(), RTL_TEXTENCODING_UTF8); \ + CPPUNIT_ASSERT_EQUAL_MESSAGE(OString("Failing test file is: " + sTestFileName).getStr(), readExpected(#aActual), aActual.trim()); \ + } + +#define CPPUNIT_DUMP_ASSERT_NOTE(Note) \ + if(isInDumpMode()) \ + writeNote(OUString(Note)); \ + else \ + readNote(OUString(Note));\ + + +class Chart2DumpTest : public ChartTest, public XmlTestTools +{ +protected: + Chart2DumpTest(bool bDumpMode) + { + m_bDumpMode = bDumpMode; + } + + virtual ~Chart2DumpTest() override + { + } + + bool isInDumpMode () const {return m_bDumpMode;} + + virtual OUString getTestName() { return OUString(); } + OUString getTestFileName() { return m_sTestFileName; } + OUString getTestFileDirName() { return OUString("/chart2/qa/extras/chart2dump/data/"); } + OUString getReferenceDirName() + { + return "/chart2/qa/extras/chart2dump/reference/" + getTestName().toAsciiLowerCase() + "/"; + } + + void setTestFileName (const OUString& sName) + { + m_sTestFileName = sName; + + OUString sFileName = m_sTestFileName; + assert(sFileName.lastIndexOf('.') < sFileName.getLength()); + sFileName = sFileName.copy(0, sFileName.lastIndexOf('.')) + ".txt"; + if (!m_bDumpMode) + { + if (m_aReferenceFile.is_open()) + m_aReferenceFile.close(); + OString sReferenceFile = OUStringToOString(m_directories.getPathFromSrc(getReferenceDirName()) + sFileName, RTL_TEXTENCODING_UTF8); + m_aReferenceFile.open(sReferenceFile.getStr(), std::ios_base::in); + CPPUNIT_ASSERT_MESSAGE(OString("Can't open reference file: " + sReferenceFile).getStr(), m_aReferenceFile.is_open()); + } + else + { + if (m_aDumpFile.is_open()) + m_aDumpFile.close(); + OString sDumpFile = OUStringToOString(m_directories.getPathFromSrc(getReferenceDirName()) + sFileName, RTL_TEXTENCODING_UTF8); + m_aDumpFile.open(sDumpFile.getStr(), std::ios_base::out | std::ofstream::binary | std::ofstream::trunc); + CPPUNIT_ASSERT_MESSAGE(OString("Can't open dump file: " + sDumpFile).getStr(), m_aDumpFile.is_open()); + } + } + + virtual void verify() + { + CPPUNIT_FAIL("verify method must be overridden"); + } + + OUString readExpected(const OUString& sCheck) + { + assert(!m_bDumpMode); + assert(m_aReferenceFile.is_open()); + std::string sTemp; + getline(m_aReferenceFile, sTemp); + OString sAssertMessage = + OString("The reference file does not contain the right content. Maybe it needs an update:") + + OUStringToOString(m_sTestFileName, RTL_TEXTENCODING_UTF8); + CPPUNIT_ASSERT_EQUAL_MESSAGE(sAssertMessage.getStr(), OUString("// " + sCheck), OUString(sTemp.data(), sTemp.length(), RTL_TEXTENCODING_UTF8)); + getline(m_aReferenceFile, sTemp); + return OUString(sTemp.data(), sTemp.length(), RTL_TEXTENCODING_UTF8); + } + + void writeActual(const OUString& sActualValue, const OUString& sCheck) + { + assert(m_bDumpMode); + assert(m_aDumpFile.is_open()); + m_aDumpFile << "// " << OUStringToOString(sCheck, RTL_TEXTENCODING_UTF8).getStr() << "\n"; // Add check string to make dump file readable + m_aDumpFile << OUStringToOString(sActualValue.trim(), RTL_TEXTENCODING_UTF8).getStr() << "\n"; // Write out the checked value, will be used as reference later + } + + void readNote(const OUString& sNote) + { + assert(!m_bDumpMode); + assert(m_aReferenceFile.is_open()); + std::string sTemp; + getline(m_aReferenceFile, sTemp); + OString sAssertMessage = + OString("The reference file does not contain the right content. Maybe it needs an update:") + + OUStringToOString(m_sTestFileName, RTL_TEXTENCODING_UTF8); + CPPUNIT_ASSERT_EQUAL_MESSAGE(sAssertMessage.getStr(), OUString("/// " + sNote), OUString(sTemp.data(), sTemp.length(), RTL_TEXTENCODING_UTF8)); + } + + void writeNote(const OUString& sNote) + { + assert(m_bDumpMode); + assert(m_aDumpFile.is_open()); + m_aDumpFile << "/// " << OUStringToOString(sNote, RTL_TEXTENCODING_UTF8).getStr() << "\n"; + } + + double readExpectedDouble(const OUString& sCheck) + { + OUString sExpected = readExpected(sCheck); + return sExpected.toDouble(); + } + + OUString sequenceToOneLineString(uno::Sequence<OUString>& rSeq) + { + OUStringBuffer aBufer; + for (const OUString& seqItem : rSeq) + { + aBufer.append(seqItem + ";"); + } + return aBufer.makeStringAndClear(); + } + + OUString doubleVectorToOneLineString(const std::vector<double>& rVector) + { + OUStringBuffer aBufer; + for (const double& vectorItem : rVector) + { + aBufer.append(OUString::number(vectorItem) + ";"); + } + return aBufer.makeStringAndClear(); + } + + OUString transformationToOneLineString(const drawing::HomogenMatrix3& rTransform) + { + return OUString::number(rTransform.Line1.Column1) + ";" + OUString::number(rTransform.Line1.Column2) + ";" + OUString::number(rTransform.Line1.Column3) + + OUString::number(rTransform.Line2.Column1) + ";" + OUString::number(rTransform.Line2.Column2) + ";" + OUString::number(rTransform.Line2.Column3) + + OUString::number(rTransform.Line3.Column1) + ";" + OUString::number(rTransform.Line3.Column2) + ";" + OUString::number(rTransform.Line3.Column3); + } + + uno::Reference<drawing::XShape> getShapeByName(const uno::Reference<drawing::XShapes>& rShapes, const OUString& rName, bool (*pCondition)(const uno::Reference<drawing::XShape>&) = nullptr) + { + uno::Reference<container::XIndexAccess> XIndexAccess(rShapes, uno::UNO_QUERY); + for (sal_Int32 i = 0; i < XIndexAccess->getCount(); ++i) + { + uno::Reference<drawing::XShapes> xShapes(XIndexAccess->getByIndex(i), uno::UNO_QUERY); + if (xShapes.is()) + { + uno::Reference<drawing::XShape> xRet = getShapeByName(xShapes, rName, pCondition); + if (xRet.is()) + return xRet; + } + uno::Reference<container::XNamed> xNamedShape(XIndexAccess->getByIndex(i), uno::UNO_QUERY); + if (xNamedShape->getName() == rName) + { + uno::Reference<drawing::XShape> xShape(xNamedShape, uno::UNO_QUERY); + if (pCondition == nullptr || (*pCondition)(xShape)) + return xShape; + } + } + return uno::Reference<drawing::XShape>(); + } + +private: + OUString m_sTestFileName; + bool m_bDumpMode; + std::ifstream m_aReferenceFile; + std::ofstream m_aDumpFile; +}; + +DECLARE_DUMP_TEST(ChartDataTest, Chart2DumpTest, false) +{ + const std::vector<OUString> aTestFiles = + { + "simple_chart.ods", + "multiple_categories.ods" + }; + + for (const OUString& aTestFile : aTestFiles) + { + setTestFileName(aTestFile); + load(getTestFileDirName(), getTestFileName()); + uno::Reference< chart::XChartDocument > xChartDoc (getChartDocFromSheet(0, mxComponent), UNO_QUERY_THROW); + CPPUNIT_ASSERT(xChartDoc.is()); + + // Check title + uno::Reference< chart2::XChartDocument > xChartDoc2(xChartDoc, UNO_QUERY_THROW); + Reference<chart2::XTitled> xTitled(xChartDoc, uno::UNO_QUERY_THROW); + uno::Reference<chart2::XTitle> xTitle = xTitled->getTitleObject(); + if(xTitle.is()) + { + OUString sChartTitle = getTitleString(xTitled); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(sChartTitle); + } + + // Check chart type + Reference<chart2::XChartType> xChartType = getChartTypeFromDoc(xChartDoc2, 0); + CPPUNIT_ASSERT(xChartType.is()); + OUString sChartType = xChartType->getChartType(); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(sChartType); + + // Check axis titles and number format + // x Axis + Reference<chart2::XAxis> xAxis = getAxisFromDoc(xChartDoc2, 0, 0, 0); + Reference<chart2::XTitled> xAxisTitled(xAxis, UNO_QUERY_THROW); + uno::Reference<chart2::XTitle> xAxisTitle = xAxisTitled->getTitleObject(); + if (xAxisTitle.is()) + { + OUString sXAxisTitle = getTitleString(xAxisTitled); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(sXAxisTitle); + } + sal_Int32 nXAxisNumberFormat = getNumberFormatFromAxis(xAxis); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(nXAxisNumberFormat); + sal_Int16 nXAxisNumberType = getNumberFormatType(xChartDoc2, nXAxisNumberFormat); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(nXAxisNumberType); + + // y Axis + xAxis.set(getAxisFromDoc(xChartDoc2, 0, 1, 0)); + xAxisTitled.set(xAxis, UNO_QUERY_THROW); + xAxisTitle.set(xAxisTitled->getTitleObject()); + if (xAxisTitle.is()) + { + OUString sYAxisTitle = getTitleString(xAxisTitled); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(sYAxisTitle); + } + sal_Int32 nYAxisNumberFormat = getNumberFormatFromAxis(xAxis); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(nYAxisNumberFormat); + sal_Int16 nYAxisNumberType = getNumberFormatType(xChartDoc2, nYAxisNumberFormat); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(nYAxisNumberType); + + // Check column labels + uno::Reference< chart::XChartDataArray > xChartData(xChartDoc->getData(), UNO_QUERY_THROW); + CPPUNIT_ASSERT(xChartData.is()); + uno::Sequence < OUString > aColumnLabels = xChartData->getColumnDescriptions(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aColumnLabels.getLength()); + OUString sColumnLabels = sequenceToOneLineString(aColumnLabels); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(sColumnLabels); + + // Check row labels + uno::Sequence< OUString > aRowLabels = xChartData->getRowDescriptions(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aRowLabels.getLength()); + OUString sRowLabels = sequenceToOneLineString(aRowLabels); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(sRowLabels); + + // Check Y values + std::vector<std::vector<double> > aDataSeriesYValues = getDataSeriesYValuesFromChartType(xChartType); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aDataSeriesYValues.size()); + for (const std::vector<double>& aYValuesOfSeries : aDataSeriesYValues) + { + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aYValuesOfSeries.size()); + OUString sYValuesOfSeries = doubleVectorToOneLineString(aYValuesOfSeries); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(sYValuesOfSeries); + } + + // Check source ranges + for (size_t nIndex = 0; nIndex < aDataSeriesYValues.size(); ++nIndex) + { + Reference< chart2::data::XDataSequence > xDataSeq = getDataSequenceFromDocByRole(xChartDoc2, "values-x", nIndex); + if (xDataSeq.is()) + { + OUString aXValuesSourceRange = xDataSeq->getSourceRangeRepresentation(); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(aXValuesSourceRange); + } + xDataSeq.set(getDataSequenceFromDocByRole(xChartDoc2, "values-y", nIndex)); + if (xDataSeq.is()) + { + OUString aYValuesSourceRange = xDataSeq->getSourceRangeRepresentation(); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(aYValuesSourceRange); + } + xDataSeq.set(getDataSequenceFromDocByRole(xChartDoc2, "categories", nIndex)); + if (xDataSeq.is()) + { + OUString aCategoriesSourceRange = xDataSeq->getSourceRangeRepresentation(); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(aCategoriesSourceRange); + } + } + } +} + +DECLARE_DUMP_TEST(LegendTest, Chart2DumpTest, false) +{ + const std::vector<OUString> aTestFiles = + { + "legend_on_right_side.ods", + "legend_on_bottom.ods", + "legend_on_left_side.ods", + "legend_on_top.ods", + "many_legend_entries.ods", + "custom_legend_position.ods", + "multiple_categories.ods" + }; + + for (const OUString& aTestFile : aTestFiles) + { + setTestFileName(aTestFile); + load(getTestFileDirName(), getTestFileName()); + uno::Reference< chart::XChartDocument > xChartDoc(getChartDocFromSheet(0, mxComponent), UNO_QUERY_THROW); + uno::Reference<drawing::XDrawPageSupplier> xDrawPageSupplier(xChartDoc, uno::UNO_QUERY); + uno::Reference<drawing::XDrawPage> xDrawPage = xDrawPageSupplier->getDrawPage(); + uno::Reference<drawing::XShapes> xShapes(xDrawPage->getByIndex(0), uno::UNO_QUERY); + CPPUNIT_ASSERT(xShapes.is()); + + // Get legend shape + uno::Reference<drawing::XShape> xLegend = getShapeByName(xShapes, "CID/D=0:Legend="); + CPPUNIT_ASSERT(xLegend.is()); + + // Check legend position and size + awt::Point aLegendPosition = xLegend->getPosition(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aLegendPosition.X); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aLegendPosition.Y); + awt::Size aLegendSize = xLegend->getSize(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aLegendSize.Width); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aLegendSize.Height); + + // Check legend entries + uno::Reference< chart2::XChartDocument > xChartDoc2(xChartDoc, UNO_QUERY_THROW); + Reference<chart2::XChartType> xChartType = getChartTypeFromDoc(xChartDoc2, 0); + CPPUNIT_ASSERT(xChartType.is()); + std::vector<std::vector<double> > aDataSeriesYValues = getDataSeriesYValuesFromChartType(xChartType); + size_t nLegendEntryCount = aDataSeriesYValues.size(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(nLegendEntryCount); + // Check legend entries geometry + for (size_t nSeriesIndex = 0; nSeriesIndex < nLegendEntryCount; ++nSeriesIndex) + { + uno::Reference<drawing::XShape> xLegendEntry = getShapeByName(xShapes, "CID/MultiClick/D=0:CS=0:CT=0:Series=" + OUString::number(nSeriesIndex) + ":LegendEntry=0"); + CPPUNIT_ASSERT(xLegendEntry.is()); + + // Check position and size + awt::Point aLegendEntryPosition = xLegendEntry->getPosition(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aLegendEntryPosition.X); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aLegendEntryPosition.Y); + awt::Size aLegendEntrySize = xLegendEntry->getSize(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aLegendEntrySize.Height); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aLegendEntrySize.Width); + + // Check transformation + Reference< beans::XPropertySet > xLegendEntryPropSet(xLegendEntry, UNO_QUERY_THROW); + CPPUNIT_ASSERT(xLegendEntryPropSet.is()); + drawing::HomogenMatrix3 aTransform; + xLegendEntryPropSet->getPropertyValue("Transformation") >>= aTransform; + OUString sLegendEntryTransformation = transformationToOneLineString(aTransform); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(sLegendEntryTransformation); + + uno::Reference<container::XIndexAccess> xLegendEntryContainer(xLegendEntry, UNO_QUERY_THROW); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(xLegendEntryContainer->getCount()); + for (sal_Int32 nEntryGeometryElement = 1; nEntryGeometryElement < xLegendEntryContainer->getCount(); ++nEntryGeometryElement) + { + uno::Reference<drawing::XShape> xLegendEntryGeom(xLegendEntryContainer->getByIndex(nEntryGeometryElement), UNO_QUERY_THROW); + + // Check geometry + uno::Reference< drawing::XShapeDescriptor > xShapeDescriptor(xLegendEntryGeom, uno::UNO_QUERY_THROW); + OUString sEntryGeomShapeType = xShapeDescriptor->getShapeType(); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(sEntryGeomShapeType); + + // Check display color + Reference< beans::XPropertySet > xPropSet(xLegendEntryGeom, UNO_QUERY_THROW); + CPPUNIT_ASSERT(xPropSet.is()); + util::Color aEntryGeomColor = 0; + xPropSet->getPropertyValue(UNO_NAME_FILLCOLOR) >>= aEntryGeomColor; + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(static_cast<sal_Int32>(aEntryGeomColor)); + } + } + // Check legend entries' text + uno::Reference<container::XIndexAccess> xLegendContainer(xLegend, UNO_QUERY_THROW); + for (sal_Int32 i = 0; i < xLegendContainer->getCount(); ++i) + { + uno::Reference<drawing::XShape> xShape(xLegendContainer->getByIndex(i), uno::UNO_QUERY); + uno::Reference< drawing::XShapeDescriptor > xShapeDescriptor(xShape, uno::UNO_QUERY_THROW); + OUString sShapeType = xShapeDescriptor->getShapeType(); + + if (sShapeType == "com.sun.star.drawing.TextShape") + { + uno::Reference<text::XText> xLegendEntryText = uno::Reference<text::XTextRange>(xShape, uno::UNO_QUERY)->getText(); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(xLegendEntryText->getString()); + } + } + } +} + +DECLARE_DUMP_TEST(GridTest, Chart2DumpTest, false) +{ + const std::vector<OUString> aTestFiles = + { + "vertical_grid.ods", + "horizontal_grid.ods", + "minor_grid.ods", + "formated_grid_line.ods" + }; + + for (const OUString& sTestFile : aTestFiles) + { + setTestFileName(sTestFile); + load(getTestFileDirName(), getTestFileName()); + uno::Reference< chart::XChartDocument > xChartDoc(getChartDocFromSheet(0, mxComponent), UNO_QUERY_THROW); + uno::Reference<drawing::XDrawPageSupplier> xDrawPageSupplier(xChartDoc, uno::UNO_QUERY); + uno::Reference<drawing::XDrawPage> xDrawPage = xDrawPageSupplier->getDrawPage(); + uno::Reference<drawing::XShapes> xShapes(xDrawPage->getByIndex(0), uno::UNO_QUERY); + CPPUNIT_ASSERT(xShapes.is()); + + const std::vector<OUString> aGridShapeNames = + { + "CID/D=0:CS=0:Axis=1,0:Grid=0", // Major vertical grid + "CID/D=0:CS=0:Axis=0,0:Grid=0", // Major horizontal grid + "CID/D=0:CS=0:Axis=1,0:Grid=0:SubGrid=0", // Minor vertical grid + "CID/D=0:CS=0:Axis=0,0:Grid=0:SubGrid=0" // Minor horizontal grid + }; + + for (const OUString& sGridShapeName : aGridShapeNames) + { + uno::Reference<drawing::XShape> xGrid = getShapeByName(xShapes, sGridShapeName); + if (xGrid.is()) + { + CPPUNIT_DUMP_ASSERT_NOTE(sGridShapeName); + // Check position and size + awt::Point aGridPosition = xGrid->getPosition(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aGridPosition.X); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aGridPosition.Y); + awt::Size aGridSize = xGrid->getSize(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aGridSize.Height); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aGridSize.Width); + + // Check transformation + Reference< beans::XPropertySet > xPropSet(xGrid, UNO_QUERY_THROW); + CPPUNIT_ASSERT(xPropSet.is()); + drawing::HomogenMatrix3 aTransform; + xPropSet->getPropertyValue("Transformation") >>= aTransform; + OUString sGridTransformation = transformationToOneLineString(aTransform); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(sGridTransformation); + + // Check line properties + uno::Reference<container::XIndexAccess> xIndexAccess(xGrid, UNO_QUERY_THROW); + uno::Reference<drawing::XShape> xGridLine(xIndexAccess->getByIndex(0), UNO_QUERY_THROW); + Reference< beans::XPropertySet > xGridLinePropSet(xGridLine, UNO_QUERY_THROW); + CPPUNIT_ASSERT(xGridLinePropSet.is()); + // Line type + drawing::LineDash aLineDash; + xGridLinePropSet->getPropertyValue("LineDash") >>= aLineDash; + OUString sGridLineDash = + OUString::number(static_cast<sal_Int32>(aLineDash.Style)) + ";" + OUString::number(aLineDash.Dots) + ";" + OUString::number(aLineDash.DotLen) + + OUString::number(aLineDash.Dashes) + ";" + OUString::number(aLineDash.DashLen) + ";" + OUString::number(aLineDash.Distance); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(sGridLineDash); + // Line color + util::Color aLineColor = 0; + xGridLinePropSet->getPropertyValue("LineColor") >>= aLineColor; + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(static_cast<sal_Int32>(aLineColor)); + // Line width + sal_Int32 nLineWidth = 0; + xGridLinePropSet->getPropertyValue("LineWidth") >>= nLineWidth; + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(nLineWidth); + } + } + } +} + +DECLARE_DUMP_TEST(AxisGeometryTest, Chart2DumpTest, false) +{ + const std::vector<OUString> aTestFiles = + { + "default_formated_axis.ods", + "axis_special_positioning.ods", + "formated_axis_lines.ods", + "rotated_axis_labels.ods" + }; + + for (const OUString& sTestFile : aTestFiles) + { + setTestFileName(sTestFile); + load(getTestFileDirName(), getTestFileName()); + uno::Reference< chart::XChartDocument > xChartDoc(getChartDocFromSheet(0, mxComponent), UNO_QUERY_THROW); + uno::Reference<drawing::XDrawPageSupplier> xDrawPageSupplier(xChartDoc, uno::UNO_QUERY); + uno::Reference<drawing::XDrawPage> xDrawPage = xDrawPageSupplier->getDrawPage(); + uno::Reference<drawing::XShapes> xShapes(xDrawPage->getByIndex(0), uno::UNO_QUERY); + CPPUNIT_ASSERT(xShapes.is()); + + const std::vector<OUString> aAxisShapeNames = + { + "CID/D=0:CS=0:Axis=0,0", // X Axis + "CID/D=0:CS=0:Axis=1,0", // Y Axis + }; + + for (const OUString& sAxisShapeName : aAxisShapeNames) + { + uno::Reference<drawing::XShape> xXAxis = getShapeByName(xShapes, sAxisShapeName); + CPPUNIT_ASSERT(xXAxis.is()); + + CPPUNIT_DUMP_ASSERT_NOTE(sAxisShapeName); + // Check position and size + awt::Point aAxisPosition = xXAxis->getPosition(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aAxisPosition.X); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aAxisPosition.Y); + awt::Size aAxisSize = xXAxis->getSize(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aAxisSize.Height); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aAxisSize.Width); + + // Check transformation + Reference< beans::XPropertySet > xPropSet(xXAxis, UNO_QUERY_THROW); + CPPUNIT_ASSERT(xPropSet.is()); + drawing::HomogenMatrix3 aTransform; + xPropSet->getPropertyValue("Transformation") >>= aTransform; + OUString sAxisTransformation = transformationToOneLineString(aTransform); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(sAxisTransformation); + + // Check line properties + uno::Reference<container::XIndexAccess> xIndexAccess(xXAxis, UNO_QUERY_THROW); + sal_Int32 nAxisGeometriesCount = xIndexAccess->getCount(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(nAxisGeometriesCount); + uno::Reference<drawing::XShape> xAxisLine(xIndexAccess->getByIndex(0), UNO_QUERY_THROW); + Reference< beans::XPropertySet > xAxisLinePropSet(xAxisLine, UNO_QUERY_THROW); + CPPUNIT_ASSERT(xAxisLinePropSet.is()); + // Line type + drawing::LineDash aLineDash; + xAxisLinePropSet->getPropertyValue("LineDash") >>= aLineDash; + OUString sAxisLineDash = + OUString::number(static_cast<sal_Int32>(aLineDash.Style)) + ";" + OUString::number(aLineDash.Dots) + ";" + OUString::number(aLineDash.DotLen) + + OUString::number(aLineDash.Dashes) + ";" + OUString::number(aLineDash.DashLen) + ";" + OUString::number(aLineDash.Distance); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(sAxisLineDash); + // Line color + util::Color aAxisLineColor = 0; + xAxisLinePropSet->getPropertyValue("LineColor") >>= aAxisLineColor; + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(static_cast<sal_Int32>(aAxisLineColor)); + // Line width + sal_Int32 nAxisLineWidth = 0; + xAxisLinePropSet->getPropertyValue("LineWidth") >>= nAxisLineWidth; + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(nAxisLineWidth); + } + } +} + +DECLARE_DUMP_TEST(AxisLabelTest, Chart2DumpTest, false) +{ + const std::vector<OUString> aTestFiles = + { + "default_formated_axis.ods", + "rotated_axis_labels.ods", + "formated_axis_labels.ods" + }; + + for (const OUString& sTestFile : aTestFiles) + { + setTestFileName(sTestFile); + load(getTestFileDirName(), getTestFileName()); + uno::Reference< chart::XChartDocument > xChartDoc(getChartDocFromSheet(0, mxComponent), UNO_QUERY_THROW); + uno::Reference<drawing::XDrawPageSupplier> xDrawPageSupplier(xChartDoc, uno::UNO_QUERY); + uno::Reference<drawing::XDrawPage> xDrawPage = xDrawPageSupplier->getDrawPage(); + uno::Reference<drawing::XShapes> xShapes(xDrawPage->getByIndex(0), uno::UNO_QUERY); + CPPUNIT_ASSERT(xShapes.is()); + + const std::vector<OUString> aAxisShapeNames = + { + "CID/D=0:CS=0:Axis=0,0", // X Axis + "CID/D=0:CS=0:Axis=1,0", // Y Axis + }; + + for (const OUString& sAxisShapeName : aAxisShapeNames) + { + uno::Reference<drawing::XShape> xXAxis = getShapeByName(xShapes, sAxisShapeName, + // Axis occures twice in chart xshape representation so need to get the one related to labels + [](const uno::Reference<drawing::XShape>& rXShape) -> bool + { + uno::Reference<drawing::XShapes> xAxisShapes(rXShape, uno::UNO_QUERY); + CPPUNIT_ASSERT(xAxisShapes.is()); + uno::Reference<drawing::XShape> xChildShape(xAxisShapes->getByIndex(0), uno::UNO_QUERY); + uno::Reference< drawing::XShapeDescriptor > xShapeDescriptor(xChildShape, uno::UNO_QUERY_THROW); + return (xShapeDescriptor->getShapeType() == "com.sun.star.drawing.TextShape"); + }); + CPPUNIT_ASSERT(xXAxis.is()); + CPPUNIT_DUMP_ASSERT_NOTE(sAxisShapeName); + + // Check label count + uno::Reference<container::XIndexAccess> xIndexAccess(xXAxis, UNO_QUERY_THROW); + sal_Int32 nAxisLabelsCount = xIndexAccess->getCount(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(nAxisLabelsCount); + + // Check labels's text, positioning and font properties + for (sal_Int32 nLabelIndex = 0; nLabelIndex < nAxisLabelsCount; ++nLabelIndex) + { + // Check text + uno::Reference<text::XTextRange> xLabel(xIndexAccess->getByIndex(nLabelIndex), uno::UNO_QUERY); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(xLabel->getString()); + + // Check size and position + uno::Reference<drawing::XShape> xLabelShape(xLabel, uno::UNO_QUERY); + awt::Point aLabelPosition = xLabelShape->getPosition(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aLabelPosition.X); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aLabelPosition.Y); + awt::Size aLabelSize = xLabelShape->getSize(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aLabelSize.Height); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aLabelSize.Width); + + // Check transformation + Reference< beans::XPropertySet > xPropSet(xLabelShape, UNO_QUERY_THROW); + CPPUNIT_ASSERT(xPropSet.is()); + drawing::HomogenMatrix3 aTransform; + xPropSet->getPropertyValue("Transformation") >>= aTransform; + OUString sLabelTransformation = transformationToOneLineString(aTransform); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(sLabelTransformation); + + // Check font color and height + util::Color aLabelFontColor = 0; + xPropSet->getPropertyValue("CharColor") >>= aLabelFontColor; + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(static_cast<sal_Int32>(aLabelFontColor)); + float fLabelFontHeight = 0.0f; + xPropSet->getPropertyValue("CharHeight") >>= fLabelFontHeight; + CPPUNIT_DUMP_ASSERT_DOUBLES_EQUAL(fLabelFontHeight, EPS); + } + } + } +} + +DECLARE_DUMP_TEST(ColumnChartTest, Chart2DumpTest, false) +{ + const std::vector<OUString> aTestFiles = + { + "normal_column_chart.ods", + "stacked_column_chart.ods", + "percent_stacked_column_chart.ods", + "column_chart_small_spacing.ods", + }; + + for (const OUString& sTestFile : aTestFiles) + { + setTestFileName(sTestFile); + load(getTestFileDirName(), getTestFileName()); + uno::Reference< chart::XChartDocument > xChartDoc(getChartDocFromSheet(0, mxComponent), UNO_QUERY_THROW); + uno::Reference<drawing::XDrawPageSupplier> xDrawPageSupplier(xChartDoc, uno::UNO_QUERY); + uno::Reference<drawing::XDrawPage> xDrawPage = xDrawPageSupplier->getDrawPage(); + uno::Reference<drawing::XShapes> xShapes(xDrawPage->getByIndex(0), uno::UNO_QUERY); + CPPUNIT_ASSERT(xShapes.is()); + + uno::Reference< chart2::XChartDocument > xChartDoc2(xChartDoc, UNO_QUERY_THROW); + Reference<chart2::XChartType> xChartType = getChartTypeFromDoc(xChartDoc2, 0); + CPPUNIT_ASSERT(xChartType.is()); + std::vector<std::vector<double> > aDataSeriesYValues = getDataSeriesYValuesFromChartType(xChartType); + size_t nSeriesCount = aDataSeriesYValues.size(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(nSeriesCount); + + for (size_t nSeries = 0; nSeries < nSeriesCount; ++nSeries) + { + uno::Reference<drawing::XShape> xSeriesColumns = getShapeByName(xShapes, "CID/D=0:CS=0:CT=0:Series=" + OUString::number(nSeries)); + CPPUNIT_ASSERT(xSeriesColumns.is()); + CPPUNIT_DUMP_ASSERT_NOTE("Series " + OUString::number(nSeries) + " Columns"); + + // Check column count in the series + uno::Reference<container::XIndexAccess> xIndexAccess(xSeriesColumns, UNO_QUERY_THROW); + sal_Int32 nColumnCountInSeries = xIndexAccess->getCount(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(nColumnCountInSeries); + + // Check column fill style and color + Reference< beans::XPropertySet > xColumnPropSet(xIndexAccess->getByIndex(0), UNO_QUERY_THROW); + drawing::FillStyle aSeriesColumnFillStyle; + xColumnPropSet->getPropertyValue(UNO_NAME_FILLSTYLE) >>= aSeriesColumnFillStyle; + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(static_cast<sal_Int32>(aSeriesColumnFillStyle)); + util::Color aSeriesColumnFillColor = 0; + xColumnPropSet->getPropertyValue(UNO_NAME_FILLCOLOR) >>= aSeriesColumnFillColor; + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(static_cast<sal_Int32>(aSeriesColumnFillColor)); + + for (sal_Int32 nColumn = 0; nColumn < nColumnCountInSeries; ++nColumn) + { + uno::Reference<drawing::XShape> xColumn(xIndexAccess->getByIndex(nColumn), UNO_QUERY_THROW); + uno::Reference<container::XNamed> xNamedShape(xIndexAccess->getByIndex(nColumn), uno::UNO_QUERY); + CPPUNIT_DUMP_ASSERT_NOTE(xNamedShape->getName()); + + // Check size and position + awt::Point aColumnPosition = xColumn->getPosition(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aColumnPosition.X); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aColumnPosition.Y); + awt::Size aColumnSize = xColumn->getSize(); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aColumnSize.Height); + CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aColumnSize.Width); + + // Check transformation + Reference< beans::XPropertySet > xPropSet(xColumn, UNO_QUERY_THROW); + CPPUNIT_ASSERT(xPropSet.is()); + drawing::HomogenMatrix3 aTransform; + xPropSet->getPropertyValue("Transformation") >>= aTransform; + OUString aColumnTransformation = transformationToOneLineString(aTransform); + CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(aColumnTransformation); + } + } + } +} + +CPPUNIT_PLUGIN_IMPLEMENT(); + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/qa/extras/chart2dump/data/axis_special_positioning.ods b/chart2/qa/extras/chart2dump/data/axis_special_positioning.ods Binary files differnew file mode 100755 index 000000000000..f60197a0d2c3 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/axis_special_positioning.ods diff --git a/chart2/qa/extras/chart2dump/data/column_chart_small_spacing.ods b/chart2/qa/extras/chart2dump/data/column_chart_small_spacing.ods Binary files differnew file mode 100755 index 000000000000..4040ab38ea89 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/column_chart_small_spacing.ods diff --git a/chart2/qa/extras/chart2dump/data/custom_legend_position.ods b/chart2/qa/extras/chart2dump/data/custom_legend_position.ods Binary files differnew file mode 100755 index 000000000000..8a8fca88d382 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/custom_legend_position.ods diff --git a/chart2/qa/extras/chart2dump/data/default_formated_axis.ods b/chart2/qa/extras/chart2dump/data/default_formated_axis.ods Binary files differnew file mode 100755 index 000000000000..96f846219077 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/default_formated_axis.ods diff --git a/chart2/qa/extras/chart2dump/data/formated_axis_labels.ods b/chart2/qa/extras/chart2dump/data/formated_axis_labels.ods Binary files differnew file mode 100755 index 000000000000..b2a36ae647b7 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/formated_axis_labels.ods diff --git a/chart2/qa/extras/chart2dump/data/formated_axis_lines.ods b/chart2/qa/extras/chart2dump/data/formated_axis_lines.ods Binary files differnew file mode 100755 index 000000000000..1e51ef1522fa --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/formated_axis_lines.ods diff --git a/chart2/qa/extras/chart2dump/data/formated_grid_line.ods b/chart2/qa/extras/chart2dump/data/formated_grid_line.ods Binary files differnew file mode 100755 index 000000000000..4503cbf68087 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/formated_grid_line.ods diff --git a/chart2/qa/extras/chart2dump/data/horizontal_grid.ods b/chart2/qa/extras/chart2dump/data/horizontal_grid.ods Binary files differnew file mode 100755 index 000000000000..51e281135747 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/horizontal_grid.ods diff --git a/chart2/qa/extras/chart2dump/data/legend_on_bottom.ods b/chart2/qa/extras/chart2dump/data/legend_on_bottom.ods Binary files differnew file mode 100755 index 000000000000..9abb8a8685e1 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/legend_on_bottom.ods diff --git a/chart2/qa/extras/chart2dump/data/legend_on_left_side.ods b/chart2/qa/extras/chart2dump/data/legend_on_left_side.ods Binary files differnew file mode 100755 index 000000000000..38115ace06e8 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/legend_on_left_side.ods diff --git a/chart2/qa/extras/chart2dump/data/legend_on_right_side.ods b/chart2/qa/extras/chart2dump/data/legend_on_right_side.ods Binary files differnew file mode 100755 index 000000000000..a41b6585f8f6 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/legend_on_right_side.ods diff --git a/chart2/qa/extras/chart2dump/data/legend_on_top.ods b/chart2/qa/extras/chart2dump/data/legend_on_top.ods Binary files differnew file mode 100755 index 000000000000..2b20ec356ad9 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/legend_on_top.ods diff --git a/chart2/qa/extras/chart2dump/data/many_legend_entries.ods b/chart2/qa/extras/chart2dump/data/many_legend_entries.ods Binary files differnew file mode 100755 index 000000000000..0dc5114418bf --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/many_legend_entries.ods diff --git a/chart2/qa/extras/chart2dump/data/minor_grid.ods b/chart2/qa/extras/chart2dump/data/minor_grid.ods Binary files differnew file mode 100755 index 000000000000..3657df92a989 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/minor_grid.ods diff --git a/chart2/qa/extras/chart2dump/data/multiple_categories.ods b/chart2/qa/extras/chart2dump/data/multiple_categories.ods Binary files differnew file mode 100755 index 000000000000..67e00525b9ed --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/multiple_categories.ods diff --git a/chart2/qa/extras/chart2dump/data/normal_column_chart.ods b/chart2/qa/extras/chart2dump/data/normal_column_chart.ods Binary files differnew file mode 100755 index 000000000000..df8dccebbae0 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/normal_column_chart.ods diff --git a/chart2/qa/extras/chart2dump/data/percent_stacked_column_chart.ods b/chart2/qa/extras/chart2dump/data/percent_stacked_column_chart.ods Binary files differnew file mode 100755 index 000000000000..e144f94a2c12 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/percent_stacked_column_chart.ods diff --git a/chart2/qa/extras/chart2dump/data/rotated_axis_labels.ods b/chart2/qa/extras/chart2dump/data/rotated_axis_labels.ods Binary files differnew file mode 100755 index 000000000000..c5a7cd65784c --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/rotated_axis_labels.ods diff --git a/chart2/qa/extras/chart2dump/data/simple_chart.ods b/chart2/qa/extras/chart2dump/data/simple_chart.ods Binary files differnew file mode 100755 index 000000000000..df931edf4264 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/simple_chart.ods diff --git a/chart2/qa/extras/chart2dump/data/stacked_column_chart.ods b/chart2/qa/extras/chart2dump/data/stacked_column_chart.ods Binary files differnew file mode 100755 index 000000000000..99076a7895d1 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/stacked_column_chart.ods diff --git a/chart2/qa/extras/chart2dump/data/vertical_grid.ods b/chart2/qa/extras/chart2dump/data/vertical_grid.ods Binary files differnew file mode 100755 index 000000000000..2d14de94e907 --- /dev/null +++ b/chart2/qa/extras/chart2dump/data/vertical_grid.ods diff --git a/chart2/qa/extras/chart2dump/reference/axisgeometrytest/axis_special_positioning.txt b/chart2/qa/extras/chart2dump/reference/axisgeometrytest/axis_special_positioning.txt new file mode 100755 index 000000000000..0ee9485aaef2 --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/axisgeometrytest/axis_special_positioning.txt @@ -0,0 +1,38 @@ +/// CID/D=0:CS=0:Axis=0,0 +// aAxisPosition.X +4311 +// aAxisPosition.Y +1092 +// aAxisSize.Height +645 +// aAxisSize.Width +14441 +// sAxisTransformation +14442;0;43110;646;10920;0;1 +// nAxisGeometriesCount +4 +// sAxisLineDash +0;1;201;20;20 +// static_cast<sal_Int32>(aAxisLineColor) +0 +// nAxisLineWidth +0 +/// CID/D=0:CS=0:Axis=1,0 +// aAxisPosition.X +18752 +// aAxisPosition.Y +1587 +// aAxisSize.Height +5931 +// aAxisSize.Width +150 +// sAxisTransformation +151;0;187520;5932;15870;0;1 +// nAxisGeometriesCount +3 +// sAxisLineDash +0;1;201;20;20 +// static_cast<sal_Int32>(aAxisLineColor) +0 +// nAxisLineWidth +0 diff --git a/chart2/qa/extras/chart2dump/reference/axisgeometrytest/default_formated_axis.txt b/chart2/qa/extras/chart2dump/reference/axisgeometrytest/default_formated_axis.txt new file mode 100755 index 000000000000..dcc57166c70d --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/axisgeometrytest/default_formated_axis.txt @@ -0,0 +1,38 @@ +/// CID/D=0:CS=0:Axis=0,0 +// aAxisPosition.X +3510 +// aAxisPosition.Y +7520 +// aAxisSize.Height +495 +// aAxisSize.Width +14438 +// sAxisTransformation +14439;0;35100;496;75200;0;1 +// nAxisGeometriesCount +4 +// sAxisLineDash +0;1;201;20;20 +// static_cast<sal_Int32>(aAxisLineColor) +0 +// nAxisLineWidth +0 +/// CID/D=0:CS=0:Axis=1,0 +// aAxisPosition.X +3360 +// aAxisPosition.Y +1588 +// aAxisSize.Height +5932 +// aAxisSize.Width +150 +// sAxisTransformation +151;0;33600;5933;15880;0;1 +// nAxisGeometriesCount +2 +// sAxisLineDash +0;1;201;20;20 +// static_cast<sal_Int32>(aAxisLineColor) +0 +// nAxisLineWidth +0 diff --git a/chart2/qa/extras/chart2dump/reference/axisgeometrytest/formated_axis_lines.txt b/chart2/qa/extras/chart2dump/reference/axisgeometrytest/formated_axis_lines.txt new file mode 100755 index 000000000000..c39f32badf6c --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/axisgeometrytest/formated_axis_lines.txt @@ -0,0 +1,38 @@ +/// CID/D=0:CS=0:Axis=0,0 +// aAxisPosition.X +3510 +// aAxisPosition.Y +7520 +// aAxisSize.Height +495 +// aAxisSize.Width +14439 +// sAxisTransformation +14440;0;35100;496;75200;0;1 +// nAxisGeometriesCount +4 +// sAxisLineDash +0;1;00;0;457 +// static_cast<sal_Int32>(aAxisLineColor) +0 +// nAxisLineWidth +100 +/// CID/D=0:CS=0:Axis=1,0 +// aAxisPosition.X +3360 +// aAxisPosition.Y +1588 +// aAxisSize.Height +5932 +// aAxisSize.Width +150 +// sAxisTransformation +151;0;33600;5933;15880;0;1 +// nAxisGeometriesCount +2 +// sAxisLineDash +0;1;511;51;51 +// static_cast<sal_Int32>(aAxisLineColor) +65280 +// nAxisLineWidth +100 diff --git a/chart2/qa/extras/chart2dump/reference/axisgeometrytest/rotated_axis_labels.txt b/chart2/qa/extras/chart2dump/reference/axisgeometrytest/rotated_axis_labels.txt new file mode 100755 index 000000000000..b53820a9cb0e --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/axisgeometrytest/rotated_axis_labels.txt @@ -0,0 +1,38 @@ +/// CID/D=0:CS=0:Axis=0,0 +// aAxisPosition.X +3510 +// aAxisPosition.Y +7520 +// aAxisSize.Height +1724 +// aAxisSize.Width +14439 +// sAxisTransformation +14440;0;35100;1725;75200;0;1 +// nAxisGeometriesCount +4 +// sAxisLineDash +0;1;201;20;20 +// static_cast<sal_Int32>(aAxisLineColor) +0 +// nAxisLineWidth +0 +/// CID/D=0:CS=0:Axis=1,0 +// aAxisPosition.X +3360 +// aAxisPosition.Y +1588 +// aAxisSize.Height +5932 +// aAxisSize.Width +150 +// sAxisTransformation +151;0;33600;5933;15880;0;1 +// nAxisGeometriesCount +2 +// sAxisLineDash +0;1;201;20;20 +// static_cast<sal_Int32>(aAxisLineColor) +0 +// nAxisLineWidth +0 diff --git a/chart2/qa/extras/chart2dump/reference/axislabeltest/default_formated_axis.txt b/chart2/qa/extras/chart2dump/reference/axislabeltest/default_formated_axis.txt new file mode 100755 index 000000000000..7a67db66c07a --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/axislabeltest/default_formated_axis.txt @@ -0,0 +1,198 @@ +/// CID/D=0:CS=0:Axis=0,0 +// nAxisLabelsCount +4 +// xLabel->getString() +1. negyedév +// aLabelPosition.X +4374 +// aLabelPosition.Y +7770 +// aLabelSize.Height +345 +// aLabelSize.Width +1881 +// sLabelTransformation +1882;0;43740;346;77700;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +2. negyedév +// aLabelPosition.X +7984 +// aLabelPosition.Y +7770 +// aLabelSize.Height +345 +// aLabelSize.Width +1881 +// sLabelTransformation +1882;0;79840;346;77700;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +3. negyedév +// aLabelPosition.X +11593 +// aLabelPosition.Y +7770 +// aLabelSize.Height +345 +// aLabelSize.Width +1881 +// sLabelTransformation +1882;0;115930;346;77700;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +4. negyedév +// aLabelPosition.X +15203 +// aLabelPosition.Y +7770 +// aLabelSize.Height +345 +// aLabelSize.Width +1881 +// sLabelTransformation +1882;0;152030;346;77700;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +/// CID/D=0:CS=0:Axis=1,0 +// nAxisLabelsCount +8 +// xLabel->getString() +- Ft +// aLabelPosition.X +2518 +// aLabelPosition.Y +7348 +// aLabelSize.Height +345 +// aLabelSize.Width +743 +// sLabelTransformation +744;0;25180;346;73480;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +5,000,000 Ft +// aLabelPosition.X +1116 +// aLabelPosition.Y +6500 +// aLabelSize.Height +345 +// aLabelSize.Width +2145 +// sLabelTransformation +2146;0;11160;346;65000;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +10,000,000 Ft +// aLabelPosition.X +930 +// aLabelPosition.Y +5653 +// aLabelSize.Height +345 +// aLabelSize.Width +2331 +// sLabelTransformation +2332;0;9300;346;56530;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +15,000,000 Ft +// aLabelPosition.X +930 +// aLabelPosition.Y +4805 +// aLabelSize.Height +345 +// aLabelSize.Width +2331 +// sLabelTransformation +2332;0;9300;346;48050;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +20,000,000 Ft +// aLabelPosition.X +930 +// aLabelPosition.Y +3958 +// aLabelSize.Height +345 +// aLabelSize.Width +2331 +// sLabelTransformation +2332;0;9300;346;39580;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +25,000,000 Ft +// aLabelPosition.X +930 +// aLabelPosition.Y +3110 +// aLabelSize.Height +345 +// aLabelSize.Width +2331 +// sLabelTransformation +2332;0;9300;346;31100;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +30,000,000 Ft +// aLabelPosition.X +930 +// aLabelPosition.Y +2263 +// aLabelSize.Height +345 +// aLabelSize.Width +2331 +// sLabelTransformation +2332;0;9300;346;22630;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +35,000,000 Ft +// aLabelPosition.X +930 +// aLabelPosition.Y +1416 +// aLabelSize.Height +345 +// aLabelSize.Width +2331 +// sLabelTransformation +2332;0;9300;346;14160;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 diff --git a/chart2/qa/extras/chart2dump/reference/axislabeltest/formated_axis_labels.txt b/chart2/qa/extras/chart2dump/reference/axislabeltest/formated_axis_labels.txt new file mode 100755 index 000000000000..c1baec952f25 --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/axislabeltest/formated_axis_labels.txt @@ -0,0 +1,198 @@ +/// CID/D=0:CS=0:Axis=0,0 +// nAxisLabelsCount +4 +// xLabel->getString() +1. negyedév +// aLabelPosition.X +4520 +// aLabelPosition.Y +7770 +// aLabelSize.Height +292 +// aLabelSize.Width +1590 +// sLabelTransformation +1591;0;45200;293;77700;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +16711680 +// fLabelFontHeight +8 +// xLabel->getString() +2. negyedév +// aLabelPosition.X +8130 +// aLabelPosition.Y +7770 +// aLabelSize.Height +292 +// aLabelSize.Width +1590 +// sLabelTransformation +1591;0;81300;293;77700;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +16711680 +// fLabelFontHeight +8 +// xLabel->getString() +3. negyedév +// aLabelPosition.X +11740 +// aLabelPosition.Y +7770 +// aLabelSize.Height +292 +// aLabelSize.Width +1590 +// sLabelTransformation +1591;0;117400;293;77700;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +16711680 +// fLabelFontHeight +8 +// xLabel->getString() +4. negyedév +// aLabelPosition.X +15350 +// aLabelPosition.Y +7770 +// aLabelSize.Height +292 +// aLabelSize.Width +1590 +// sLabelTransformation +1591;0;153500;293;77700;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +16711680 +// fLabelFontHeight +8 +/// CID/D=0:CS=0:Axis=1,0 +// nAxisLabelsCount +8 +// xLabel->getString() +- Ft +// aLabelPosition.X +2730 +// aLabelPosition.Y +7401 +// aLabelSize.Height +239 +// aLabelSize.Width +531 +// sLabelTransformation +532;0;27300;240;74010;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +32767 +// fLabelFontHeight +7 +// xLabel->getString() +5,000,000 Ft +// aLabelPosition.X +1725 +// aLabelPosition.Y +6553 +// aLabelSize.Height +239 +// aLabelSize.Width +1536 +// sLabelTransformation +1537;0;17250;240;65530;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +32767 +// fLabelFontHeight +7 +// xLabel->getString() +10,000,000 Ft +// aLabelPosition.X +1592 +// aLabelPosition.Y +5706 +// aLabelSize.Height +239 +// aLabelSize.Width +1669 +// sLabelTransformation +1670;0;15920;240;57060;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +32767 +// fLabelFontHeight +7 +// xLabel->getString() +15,000,000 Ft +// aLabelPosition.X +1592 +// aLabelPosition.Y +4858 +// aLabelSize.Height +239 +// aLabelSize.Width +1669 +// sLabelTransformation +1670;0;15920;240;48580;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +32767 +// fLabelFontHeight +7 +// xLabel->getString() +20,000,000 Ft +// aLabelPosition.X +1592 +// aLabelPosition.Y +4011 +// aLabelSize.Height +239 +// aLabelSize.Width +1669 +// sLabelTransformation +1670;0;15920;240;40110;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +32767 +// fLabelFontHeight +7 +// xLabel->getString() +25,000,000 Ft +// aLabelPosition.X +1592 +// aLabelPosition.Y +3163 +// aLabelSize.Height +239 +// aLabelSize.Width +1669 +// sLabelTransformation +1670;0;15920;240;31630;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +32767 +// fLabelFontHeight +7 +// xLabel->getString() +30,000,000 Ft +// aLabelPosition.X +1592 +// aLabelPosition.Y +2316 +// aLabelSize.Height +239 +// aLabelSize.Width +1669 +// sLabelTransformation +1670;0;15920;240;23160;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +32767 +// fLabelFontHeight +7 +// xLabel->getString() +35,000,000 Ft +// aLabelPosition.X +1592 +// aLabelPosition.Y +1469 +// aLabelSize.Height +239 +// aLabelSize.Width +1669 +// sLabelTransformation +1670;0;15920;240;14690;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +32767 +// fLabelFontHeight +7 diff --git a/chart2/qa/extras/chart2dump/reference/axislabeltest/rotated_axis_labels.txt b/chart2/qa/extras/chart2dump/reference/axislabeltest/rotated_axis_labels.txt new file mode 100755 index 000000000000..0e62ab0fbf64 --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/axislabeltest/rotated_axis_labels.txt @@ -0,0 +1,150 @@ +/// CID/D=0:CS=0:Axis=0,0 +// nAxisLabelsCount +4 +// xLabel->getString() +1. negyedév +// aLabelPosition.X +4527 +// aLabelPosition.Y +9100 +// aLabelSize.Height +345 +// aLabelSize.Width +1881 +// sLabelTransformation +1330.77496219308;244.658946290545;4527-1330.77496219308;244.658946290545;91000;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +2. negyedév +// aLabelPosition.X +8137 +// aLabelPosition.Y +9100 +// aLabelSize.Height +345 +// aLabelSize.Width +1881 +// sLabelTransformation +1330.77496219308;244.658946290545;8137-1330.77496219308;244.658946290545;91000;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +3. negyedév +// aLabelPosition.X +11747 +// aLabelPosition.Y +9100 +// aLabelSize.Height +345 +// aLabelSize.Width +1881 +// sLabelTransformation +1330.77496219308;244.658946290545;11747-1330.77496219308;244.658946290545;91000;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +4. negyedév +// aLabelPosition.X +15357 +// aLabelPosition.Y +9100 +// aLabelSize.Height +345 +// aLabelSize.Width +1881 +// sLabelTransformation +1330.77496219308;244.658946290545;15357-1330.77496219308;244.658946290545;91000;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +/// CID/D=0:CS=0:Axis=1,0 +// nAxisLabelsCount +5 +// xLabel->getString() +- Ft +// aLabelPosition.X +2616 +// aLabelPosition.Y +7000 +// aLabelSize.Height +345 +// aLabelSize.Width +743 +// sLabelTransformation +644.322900415622;-173;2616372;299.644789709416;70000;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +10,000,000 Ft +// aLabelPosition.X +1241 +// aLabelPosition.Y +4723 +// aLabelSize.Height +345 +// aLabelSize.Width +2331 +// sLabelTransformation +2019.57124162531;-173;12411166;299.644789709416;47230;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +20,000,000 Ft +// aLabelPosition.X +1241 +// aLabelPosition.Y +3240 +// aLabelSize.Height +345 +// aLabelSize.Width +2331 +// sLabelTransformation +2019.57124162531;-173;12411166;299.644789709416;32400;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +30,000,000 Ft +// aLabelPosition.X +1241 +// aLabelPosition.Y +1757 +// aLabelSize.Height +345 +// aLabelSize.Width +2331 +// sLabelTransformation +2019.57124162531;-173;12411166;299.644789709416;17570;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 +// xLabel->getString() +40,000,000 Ft +// aLabelPosition.X +1241 +// aLabelPosition.Y +274 +// aLabelSize.Height +345 +// aLabelSize.Width +2331 +// sLabelTransformation +2019.57124162531;-173;12411166;299.644789709416;2740;0;1 +// static_cast<sal_Int32>(aLabelFontColor) +0 +// fLabelFontHeight +10 diff --git a/chart2/qa/extras/chart2dump/reference/chartdatatest/multiple_categories.txt b/chart2/qa/extras/chart2dump/reference/chartdatatest/multiple_categories.txt new file mode 100755 index 000000000000..1d0e3ea39df5 --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/chartdatatest/multiple_categories.txt @@ -0,0 +1,70 @@ +// sChartTitle +Chart Title +// sChartType +com.sun.star.chart2.LineChartType +// nXAxisNumberFormat +0 +// nXAxisNumberType +16 +// nYAxisNumberFormat +0 +// nYAxisNumberType +16 +// aColumnLabels.getLength() +8 +// sColumnLabels +A In0;A In100;A In200;A In400;B In0;B In100;B In200;B In400; +// aRowLabels.getLength() +49 +// sRowLabels +M 14;M 15;M 99;M 22;M 17;M 25;M 28;M 25;M 26;M 24;M 25;M 22;M 33;M 22;M 25;M 32;M 19;M 14;M 18;F 22;F 16;F 26;F 18;F 48;F 19;F 24;F 22;F 25;F 28;F 23;F 25;F 29;F 24;F 27;F 24;F 27;F 27;F 31;F 17;F 50;F 17;F 16;F 17;F 15;F 17;F 17;F 17;F 17;F 18; +// aDataSeriesYValues.size() +8 +// aYValuesOfSeries.size() +49 +// sYValuesOfSeries +0.533;0.413;0.55;0.273;0.45;0.423;0.54;0.433;0.417;0.513;0.563;0.503;0.54;0.737;0.563;0.36;0.443;1.007;1.21;0.51;0.443;0.41;0.637;1.15;0.777;0.58;0.587;0.713;0.477;0.533;0.55;0.443;0.197;0.48;0.497;0.513;0.607;0.573;0.54;0.283;0.257;0.43;0.223;0.377;0.38;0.573;1.843;0.427;0.523; +// aYValuesOfSeries.size() +49 +// sYValuesOfSeries +0.8;0.287;0.457;0.143;0.61;0.373;0.47;0.397;0.413;0.337;0.347;0.447;0.467;0.587;0.533;0.34;0.647;0.647;0.823;0.77;0.743;0.607;0.523;0.7;1.053;0.407;0.577;0.533;0.54;0.347;0.633;0.56;0.397;0.423;0.393;0.707;0.703;0.65;0.487;0.437;0.937;0.547;0.357;0.61;0.597;0.517;0.503;0.333;0.84; +// aYValuesOfSeries.size() +49 +// sYValuesOfSeries +0.38;0.547;0.35;0.46;0.607;0.44;0.68;0.47;0.43;0.363;0.46;0.533;0.44;0.2;0.627;0.307;0.27;0.5;0.66;0.403;0.413;0.61;0.58;0.973;0.903;0.57;0.563;0.617;0.463;0.537;0.497;0.42;0.253;0.49;0.43;0.577;1.07;0.583;0.427;0.297;0.397;0.503;0.717;0.507;0.513;0.743;0.693;0.44;0.737; +// aYValuesOfSeries.size() +49 +// sYValuesOfSeries +0.467;0.467;0.463;0.367;0.457;0.443;0.63;0.48;0.38;0.577;0.477;0.443;0.47;0.557;0.45;0.46;0.283;0.523;0.527;0.537;0.34;0.32;0.51;1.12;0.897;0.437;0.673;0.637;0.463;0.613;0.72;0.443;0.25;0.497;0.393;0.503;0.617;0.87;0.383;0.383;0.39;0.467;0.373;0.523;0.553;0.353;0.37;0.493;0.52; +// aYValuesOfSeries.size() +49 +// sYValuesOfSeries +1.533;1.413;1.55;1.273;1.45;1.423;1.54;1.433;1.417;1.513;1.563;1.503;1.54;1.737;1.563;1.36;1.443;2.007;2.21;1.51;1.443;1.41;1.637;2.15;1.777;1.58;1.587;1.713;1.477;1.533;1.55;1.443;1.197;1.48;1.497;1.513;1.607;1.573;1.54;1.283;1.257;1.43;1.223;1.377;1.38;1.573;2.843;1.427;1.523; +// aYValuesOfSeries.size() +49 +// sYValuesOfSeries +0.7;0.187;0.357;0.043;0.51;0.273;0.37;0.297;0.313;0.237;0.247;0.347;0.367;0.487;0.433;0.24;0.547;0.547;0.723;0.67;0.643;0.507;0.423;0.6;0.953;0.307;0.477;0.433;0.44;0.247;0.533;0.46;0.297;0.323;0.293;0.607;0.603;0.55;0.387;0.337;0.837;0.447;0.257;0.51;0.497;0.417;0.403;0.233;0.74; +// aYValuesOfSeries.size() +49 +// sYValuesOfSeries +0.19;0.2735;0.175;0.23;0.3035;0.22;0.34;0.235;0.215;0.1815;0.23;0.2665;0.22;0.1;0.3135;0.1535;0.135;0.25;0.33;0.2015;0.2065;0.305;0.29;0.4865;0.4515;0.285;0.2815;0.3085;0.2315;0.2685;0.2485;0.21;0.1265;0.245;0.215;0.2885;0.535;0.2915;0.2135;0.1485;0.1985;0.2515;0.3585;0.2535;0.2565;0.3715;0.3465;0.22;0.3685; +// aYValuesOfSeries.size() +49 +// sYValuesOfSeries +0.0667142857142857;0.0667142857142857;0.0661428571428571;0.0524285714285714;0.0652857142857143;0.0632857142857143;0.09;0.0685714285714286;0.0542857142857143;0.0824285714285714;0.0681428571428571;0.0632857142857143;0.0671428571428571;0.0795714285714286;0.0642857142857143;0.0657142857142857;0.0404285714285714;0.0747142857142857;0.0752857142857143;0.0767142857142857;0.0485714285714286;0.0457142857142857;0.0728571428571429;0.16;0.128142857142857;0.0624285714285714;0.0961428571428572;0.091;0.0661428571428571;0.0875714285714286;0.102857142857143;0.0632857142857143;0.0357142857142857;0.071;0.0561428571428572;0.0718571428571429;0.0881428571428572;0.124285714285714;0.0547142857142857;0.0547142857142857;0.0557142857142857;0.0667142857142857;0.0532857142857143;0.0747142857142857;0.079;0.0504285714285714;0.0528571428571429;0.0704285714285714;0.0742857142857143; +// aYValuesSourceRange +$Table.$E$3:$E$51 +// aYValuesSourceRange +$Table.$F$3:$F$51 +// aYValuesSourceRange +$Table.$G$3:$G$51 +// aYValuesSourceRange +$Table.$H$3:$H$51 +// aYValuesSourceRange +$Table.$I$3:$I$51 +// aYValuesSourceRange +$Table.$J$3:$J$51 +// aYValuesSourceRange +$Table.$K$3:$K$51 +// aYValuesSourceRange +$Table.$L$3:$L$51 diff --git a/chart2/qa/extras/chart2dump/reference/chartdatatest/simple_chart.txt b/chart2/qa/extras/chart2dump/reference/chartdatatest/simple_chart.txt new file mode 100755 index 000000000000..34df4a47aabd --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/chartdatatest/simple_chart.txt @@ -0,0 +1,50 @@ +// sChartTitle +Éves árbevétel +// sChartType +com.sun.star.chart2.ColumnChartType +// sXAxisTitle +Negyedév +// nXAxisNumberFormat +0 +// nXAxisNumberType +16 +// sYAxisTitle +Árbevétel (Ft) +// nYAxisNumberFormat +151 +// nYAxisNumberType +17 +// aColumnLabels.getLength() +4 +// sColumnLabels +1. negyedév;2. negyedév;3. negyedév;4. negyedév; +// aRowLabels.getLength() +4 +// sRowLabels +Tintasugaras;Lézer ;Többfunkciós ;Fénykép ; +// aDataSeriesYValues.size() +4 +// aYValuesOfSeries.size() +4 +// sYValuesOfSeries +4399120;8098380;4799040;6448710; +// aYValuesOfSeries.size() +4 +// sYValuesOfSeries +3149650;4499500;5399400;7919120; +// aYValuesOfSeries.size() +4 +// sYValuesOfSeries +1599800;4399450;3199600;7999000; +// aYValuesOfSeries.size() +4 +// sYValuesOfSeries +2504850;5009700;7514550;10019400; +// aYValuesSourceRange +$Mo_példa_06_a.$E$11:$H$11 +// aYValuesSourceRange +$Mo_példa_06_a.$E$12:$H$12 +// aYValuesSourceRange +$Mo_példa_06_a.$E$13:$H$13 +// aYValuesSourceRange +$Mo_példa_06_a.$E$14:$H$14 diff --git a/chart2/qa/extras/chart2dump/reference/columncharttest/column_chart_small_spacing.txt b/chart2/qa/extras/chart2dump/reference/columncharttest/column_chart_small_spacing.txt new file mode 100755 index 000000000000..4539b1c435df --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/columncharttest/column_chart_small_spacing.txt @@ -0,0 +1,162 @@ +// nSeriesCount +4 +/// Series 0 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +1 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +16711807 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=2 +// aColumnPosition.X +13522 +// aColumnPosition.Y +4147 +// aColumnSize.Height +3202 +// aColumnSize.Width +1169 +// aColumnTransformation +1169;0;135220;3202;41470;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=1 +// aColumnPosition.X +8610 +// aColumnPosition.Y +1946 +// aColumnSize.Height +5403 +// aColumnSize.Width +1170 +// aColumnTransformation +1170;0;86100;5403;19460;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=0 +// aColumnPosition.X +3698 +// aColumnPosition.Y +4414 +// aColumnSize.Height +2935 +// aColumnSize.Width +1170 +// aColumnTransformation +1170;0;36980;2935;44140;0;1 +/// Series 1 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +4 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +10079487 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=2 +// aColumnPosition.X +14691 +// aColumnPosition.Y +3747 +// aColumnSize.Height +3602 +// aColumnSize.Width +1170 +// aColumnTransformation +1170;0;146910;3602;37470;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=1 +// aColumnPosition.X +9780 +// aColumnPosition.Y +4347 +// aColumnSize.Height +3002 +// aColumnSize.Width +1169 +// aColumnTransformation +1169;0;97800;3002;43470;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=0 +// aColumnPosition.X +4868 +// aColumnPosition.Y +5247 +// aColumnSize.Height +2102 +// aColumnSize.Width +1169 +// aColumnTransformation +1169;0;48680;2102;52470;0;1 +/// Series 2 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +3 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +10079487 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=2:Point=2 +// aColumnPosition.X +15861 +// aColumnPosition.Y +5214 +// aColumnSize.Height +2135 +// aColumnSize.Width +1169 +// aColumnTransformation +1169;0;158610;2135;52140;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=2:Point=1 +// aColumnPosition.X +10949 +// aColumnPosition.Y +4414 +// aColumnSize.Height +2935 +// aColumnSize.Width +1169 +// aColumnTransformation +1169;0;109490;2935;44140;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=2:Point=0 +// aColumnPosition.X +6037 +// aColumnPosition.Y +6281 +// aColumnSize.Height +1068 +// aColumnSize.Width +1170 +// aColumnTransformation +1170;0;60370;1068;62810;0;1 +/// Series 3 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +2 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +10079487 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=3:Point=2 +// aColumnPosition.X +17030 +// aColumnPosition.Y +2335 +// aColumnSize.Height +5014 +// aColumnSize.Width +1170 +// aColumnTransformation +1170;0;170300;5014;23350;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=3:Point=1 +// aColumnPosition.X +12118 +// aColumnPosition.Y +4006 +// aColumnSize.Height +3343 +// aColumnSize.Width +1170 +// aColumnTransformation +1170;0;121180;3343;40060;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=3:Point=0 +// aColumnPosition.X +7207 +// aColumnPosition.Y +5677 +// aColumnSize.Height +1672 +// aColumnSize.Width +1169 +// aColumnTransformation +1169;0;72070;1672;56770;0;1 diff --git a/chart2/qa/extras/chart2dump/reference/columncharttest/normal_column_chart.txt b/chart2/qa/extras/chart2dump/reference/columncharttest/normal_column_chart.txt new file mode 100755 index 000000000000..50c1df47d3fe --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/columncharttest/normal_column_chart.txt @@ -0,0 +1,162 @@ +// nSeriesCount +4 +/// Series 0 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +1 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +16711807 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=2 +// aColumnPosition.X +14075 +// aColumnPosition.Y +4147 +// aColumnSize.Height +3202 +// aColumnSize.Width +893 +// aColumnTransformation +893;0;140750;3202;41470;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=1 +// aColumnPosition.X +9163 +// aColumnPosition.Y +1946 +// aColumnSize.Height +5403 +// aColumnSize.Width +893 +// aColumnTransformation +893;0;91630;5403;19460;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=0 +// aColumnPosition.X +4251 +// aColumnPosition.Y +4414 +// aColumnSize.Height +2935 +// aColumnSize.Width +893 +// aColumnTransformation +893;0;42510;2935;44140;0;1 +/// Series 1 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +4 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +10079487 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=2 +// aColumnPosition.X +14968 +// aColumnPosition.Y +3747 +// aColumnSize.Height +3602 +// aColumnSize.Width +893 +// aColumnTransformation +893;0;149680;3602;37470;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=1 +// aColumnPosition.X +10056 +// aColumnPosition.Y +4347 +// aColumnSize.Height +3002 +// aColumnSize.Width +893 +// aColumnTransformation +893;0;100560;3002;43470;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=0 +// aColumnPosition.X +5144 +// aColumnPosition.Y +5247 +// aColumnSize.Height +2102 +// aColumnSize.Width +893 +// aColumnTransformation +893;0;51440;2102;52470;0;1 +/// Series 2 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +4 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +10079487 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=2:Point=2 +// aColumnPosition.X +15861 +// aColumnPosition.Y +5214 +// aColumnSize.Height +2135 +// aColumnSize.Width +893 +// aColumnTransformation +893;0;158610;2135;52140;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=2:Point=1 +// aColumnPosition.X +10949 +// aColumnPosition.Y +4414 +// aColumnSize.Height +2935 +// aColumnSize.Width +893 +// aColumnTransformation +893;0;109490;2935;44140;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=2:Point=0 +// aColumnPosition.X +6037 +// aColumnPosition.Y +6281 +// aColumnSize.Height +1068 +// aColumnSize.Width +893 +// aColumnTransformation +893;0;60370;1068;62810;0;1 +/// Series 3 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +4 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +10079487 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=3:Point=2 +// aColumnPosition.X +16754 +// aColumnPosition.Y +2335 +// aColumnSize.Height +5014 +// aColumnSize.Width +893 +// aColumnTransformation +893;0;167540;5014;23350;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=3:Point=1 +// aColumnPosition.X +11842 +// aColumnPosition.Y +4006 +// aColumnSize.Height +3343 +// aColumnSize.Width +893 +// aColumnTransformation +893;0;118420;3343;40060;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=3:Point=0 +// aColumnPosition.X +6930 +// aColumnPosition.Y +5677 +// aColumnSize.Height +1672 +// aColumnSize.Width +893 +// aColumnTransformation +893;0;69300;1672;56770;0;1 diff --git a/chart2/qa/extras/chart2dump/reference/columncharttest/percent_stacked_column_chart.txt b/chart2/qa/extras/chart2dump/reference/columncharttest/percent_stacked_column_chart.txt new file mode 100755 index 000000000000..b027540e89ee --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/columncharttest/percent_stacked_column_chart.txt @@ -0,0 +1,162 @@ +// nSeriesCount +4 +/// Series 0 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +1 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +16711807 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=2 +// aColumnPosition.X +14878 +// aColumnPosition.Y +5971 +// aColumnSize.Height +1378 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;148780;1378;59710;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=1 +// aColumnPosition.X +9967 +// aColumnPosition.Y +5139 +// aColumnSize.Height +2210 +// aColumnSize.Width +1964 +// aColumnTransformation +1964;0;99670;2210;51390;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=0 +// aColumnPosition.X +5055 +// aColumnPosition.Y +5082 +// aColumnSize.Height +2267 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;50550;2267;50820;0;1 +/// Series 1 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +4 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +10079487 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=2 +// aColumnPosition.X +14878 +// aColumnPosition.Y +4421 +// aColumnSize.Height +1550 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;148780;1550;44210;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=1 +// aColumnPosition.X +9967 +// aColumnPosition.Y +3912 +// aColumnSize.Height +1227 +// aColumnSize.Width +1964 +// aColumnTransformation +1964;0;99670;1227;39120;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=0 +// aColumnPosition.X +5055 +// aColumnPosition.Y +3459 +// aColumnSize.Height +1623 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;50550;1623;34590;0;1 +/// Series 2 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +3 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +10079487 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=2:Point=2 +// aColumnPosition.X +14878 +// aColumnPosition.Y +3502 +// aColumnSize.Height +919 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;148780;919;35020;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=2:Point=1 +// aColumnPosition.X +9967 +// aColumnPosition.Y +2711 +// aColumnSize.Height +1201 +// aColumnSize.Width +1964 +// aColumnTransformation +1964;0;99670;1201;27110;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=2:Point=0 +// aColumnPosition.X +5055 +// aColumnPosition.Y +2635 +// aColumnSize.Height +824 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;50550;824;26350;0;1 +/// Series 3 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +2 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +10079487 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=3:Point=2 +// aColumnPosition.X +14878 +// aColumnPosition.Y +1345 +// aColumnSize.Height +2157 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;148780;2157;13450;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=3:Point=1 +// aColumnPosition.X +9967 +// aColumnPosition.Y +1345 +// aColumnSize.Height +1366 +// aColumnSize.Width +1964 +// aColumnTransformation +1964;0;99670;1366;13450;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=3:Point=0 +// aColumnPosition.X +5055 +// aColumnPosition.Y +1345 +// aColumnSize.Height +1290 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;50550;1290;13450;0;1 diff --git a/chart2/qa/extras/chart2dump/reference/columncharttest/stacked_column_chart.txt b/chart2/qa/extras/chart2dump/reference/columncharttest/stacked_column_chart.txt new file mode 100755 index 000000000000..dd9103f8acb9 --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/columncharttest/stacked_column_chart.txt @@ -0,0 +1,162 @@ +// nSeriesCount +4 +/// Series 0 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +1 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +16711807 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=2 +// aColumnPosition.X +14878 +// aColumnPosition.Y +6196 +// aColumnSize.Height +1153 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;148780;1153;61960;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=1 +// aColumnPosition.X +9967 +// aColumnPosition.Y +5404 +// aColumnSize.Height +1945 +// aColumnSize.Width +1964 +// aColumnTransformation +1964;0;99670;1945;54040;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=0 +// aColumnPosition.X +5055 +// aColumnPosition.Y +6292 +// aColumnSize.Height +1057 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;50550;1057;62920;0;1 +/// Series 1 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +4 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +10079487 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=2 +// aColumnPosition.X +14878 +// aColumnPosition.Y +4899 +// aColumnSize.Height +1297 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;148780;1297;48990;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=1 +// aColumnPosition.X +9967 +// aColumnPosition.Y +4323 +// aColumnSize.Height +1081 +// aColumnSize.Width +1964 +// aColumnTransformation +1964;0;99670;1081;43230;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=0 +// aColumnPosition.X +5055 +// aColumnPosition.Y +5536 +// aColumnSize.Height +756 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;50550;756;55360;0;1 +/// Series 2 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +4 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +10079487 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=2:Point=2 +// aColumnPosition.X +14878 +// aColumnPosition.Y +4131 +// aColumnSize.Height +768 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;148780;768;41310;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=2:Point=1 +// aColumnPosition.X +9967 +// aColumnPosition.Y +3266 +// aColumnSize.Height +1057 +// aColumnSize.Width +1964 +// aColumnTransformation +1964;0;99670;1057;32660;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=2:Point=0 +// aColumnPosition.X +5055 +// aColumnPosition.Y +5151 +// aColumnSize.Height +385 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;50550;385;51510;0;1 +/// Series 3 Columns +// nColumnCountInSeries +3 +// static_cast<sal_Int32>(aSeriesColumnFillStyle) +2 +// static_cast<sal_Int32>(aSeriesColumnFillColor) +10079487 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=3:Point=2 +// aColumnPosition.X +14878 +// aColumnPosition.Y +2326 +// aColumnSize.Height +1805 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;148780;1805;23260;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=3:Point=1 +// aColumnPosition.X +9967 +// aColumnPosition.Y +2063 +// aColumnSize.Height +1203 +// aColumnSize.Width +1964 +// aColumnTransformation +1964;0;99670;1203;20630;0;1 +/// CID/MultiClick/D=0:CS=0:CT=0:Series=3:Point=0 +// aColumnPosition.X +5055 +// aColumnPosition.Y +4550 +// aColumnSize.Height +601 +// aColumnSize.Width +1965 +// aColumnTransformation +1965;0;50550;601;45500;0;1 diff --git a/chart2/qa/extras/chart2dump/reference/gridtest/formated_grid_line.txt b/chart2/qa/extras/chart2dump/reference/gridtest/formated_grid_line.txt new file mode 100755 index 000000000000..12fe524e97b1 --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/gridtest/formated_grid_line.txt @@ -0,0 +1,17 @@ +/// CID/D=0:CS=0:Axis=0,0:Grid=0 +// aGridPosition.X +3529 +// aGridPosition.Y +1344 +// aGridSize.Height +6005 +// aGridSize.Width +14515 +// sGridTransformation +14516;0;35290;6006;13440;0;1 +// sGridLineDash +2;1;1970;0;127 +// static_cast<sal_Int32>(aLineColor) +65280 +// nLineWidth +100 diff --git a/chart2/qa/extras/chart2dump/reference/gridtest/horizontal_grid.txt b/chart2/qa/extras/chart2dump/reference/gridtest/horizontal_grid.txt new file mode 100755 index 000000000000..502c08f5c387 --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/gridtest/horizontal_grid.txt @@ -0,0 +1,17 @@ +/// CID/D=0:CS=0:Axis=1,0:Grid=0 +// aGridPosition.X +3529 +// aGridPosition.Y +1344 +// aGridSize.Height +6005 +// aGridSize.Width +14515 +// sGridTransformation +14516;0;35290;6006;13440;0;1 +// sGridLineDash +0;1;201;20;20 +// static_cast<sal_Int32>(aLineColor) +0 +// nLineWidth +0 diff --git a/chart2/qa/extras/chart2dump/reference/gridtest/minor_grid.txt b/chart2/qa/extras/chart2dump/reference/gridtest/minor_grid.txt new file mode 100755 index 000000000000..57a6283365f8 --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/gridtest/minor_grid.txt @@ -0,0 +1,68 @@ +/// CID/D=0:CS=0:Axis=1,0:Grid=0 +// aGridPosition.X +3529 +// aGridPosition.Y +1344 +// aGridSize.Height +6005 +// aGridSize.Width +14515 +// sGridTransformation +14516;0;35290;6006;13440;0;1 +// sGridLineDash +0;1;201;20;20 +// static_cast<sal_Int32>(aLineColor) +0 +// nLineWidth +0 +/// CID/D=0:CS=0:Axis=0,0:Grid=0 +// aGridPosition.X +3529 +// aGridPosition.Y +1344 +// aGridSize.Height +6005 +// aGridSize.Width +14515 +// sGridTransformation +14516;0;35290;6006;13440;0;1 +// sGridLineDash +0;1;201;20;20 +// static_cast<sal_Int32>(aLineColor) +11776947 +// nLineWidth +0 +/// CID/D=0:CS=0:Axis=1,0:Grid=0:SubGrid=0 +// aGridPosition.X +3529 +// aGridPosition.Y +1773 +// aGridSize.Height +5147 +// aGridSize.Width +14515 +// sGridTransformation +14516;0;35290;5148;17730;0;1 +// sGridLineDash +0;1;201;20;20 +// static_cast<sal_Int32>(aLineColor) +14540253 +// nLineWidth +0 +/// CID/D=0:CS=0:Axis=0,0:Grid=0:SubGrid=0 +// aGridPosition.X +5343 +// aGridPosition.Y +1344 +// aGridSize.Height +6005 +// aGridSize.Width +10886 +// sGridTransformation +10887;0;53430;6006;13440;0;1 +// sGridLineDash +0;1;201;20;20 +// static_cast<sal_Int32>(aLineColor) +14540253 +// nLineWidth +0 diff --git a/chart2/qa/extras/chart2dump/reference/gridtest/vertical_grid.txt b/chart2/qa/extras/chart2dump/reference/gridtest/vertical_grid.txt new file mode 100755 index 000000000000..9ed96881df65 --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/gridtest/vertical_grid.txt @@ -0,0 +1,17 @@ +/// CID/D=0:CS=0:Axis=0,0:Grid=0 +// aGridPosition.X +3528 +// aGridPosition.Y +1343 +// aGridSize.Height +6120 +// aGridSize.Width +14723 +// sGridTransformation +14724;0;35280;6121;13430;0;1 +// sGridLineDash +0;1;201;20;20 +// static_cast<sal_Int32>(aLineColor) +11776947 +// nLineWidth +0 diff --git a/chart2/qa/extras/chart2dump/reference/legendtest/custom_legend_position.txt b/chart2/qa/extras/chart2dump/reference/legendtest/custom_legend_position.txt new file mode 100755 index 000000000000..c64d61405128 --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/legendtest/custom_legend_position.txt @@ -0,0 +1,98 @@ +// aLegendPosition.X +1398 +// aLegendPosition.Y +396 +// aLegendSize.Width +2144 +// aLegendSize.Height +2044 +// nLegendEntryCount +4 +// aLegendEntryPosition.X +1781 +// aLegendEntryPosition.Y +595 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;17810;212;5950;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +43091 +// aLegendEntryPosition.X +1781 +// aLegendEntryPosition.Y +1072 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;17810;212;10720;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +8388352 +// aLegendEntryPosition.X +1781 +// aLegendEntryPosition.Y +1549 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;17810;212;15490;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +16765728 +// aLegendEntryPosition.X +1781 +// aLegendEntryPosition.Y +2026 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;17810;212;20260;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +16711807 +// xLegendEntryText->getString() +A +// xLegendEntryText->getString() +B +// xLegendEntryText->getString() +C +// xLegendEntryText->getString() +DD diff --git a/chart2/qa/extras/chart2dump/reference/legendtest/legend_on_bottom.txt b/chart2/qa/extras/chart2dump/reference/legendtest/legend_on_bottom.txt new file mode 100755 index 000000000000..408131a1fe74 --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/legendtest/legend_on_bottom.txt @@ -0,0 +1,98 @@ +// aLegendPosition.X +4780 +// aLegendPosition.Y +8270 +// aLegendSize.Width +6440 +// aLegendSize.Height +545 +// nLegendEntryCount +4 +// aLegendEntryPosition.X +10304 +// aLegendEntryPosition.Y +8437 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;103040;212;84370;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +43091 +// aLegendEntryPosition.X +8694 +// aLegendEntryPosition.Y +8437 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;86940;212;84370;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +8388352 +// aLegendEntryPosition.X +7084 +// aLegendEntryPosition.Y +8437 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;70840;212;84370;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +16765728 +// aLegendEntryPosition.X +5474 +// aLegendEntryPosition.Y +8437 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;54740;212;84370;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +16711807 +// xLegendEntryText->getString() +AA +// xLegendEntryText->getString() +BB +// xLegendEntryText->getString() +CC +// xLegendEntryText->getString() +DD diff --git a/chart2/qa/extras/chart2dump/reference/legendtest/legend_on_left_side.txt b/chart2/qa/extras/chart2dump/reference/legendtest/legend_on_left_side.txt new file mode 100755 index 000000000000..9206644df39f --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/legendtest/legend_on_left_side.txt @@ -0,0 +1,98 @@ +// aLegendPosition.X +210 +// aLegendPosition.Y +3560 +// aLegendSize.Width +1610 +// aLegendSize.Height +1880 +// nLegendEntryCount +4 +// aLegendEntryPosition.X +326 +// aLegendEntryPosition.Y +3727 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;3260;212;37270;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +17798 +// aLegendEntryPosition.X +326 +// aLegendEntryPosition.Y +4172 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;3260;212;41720;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +8388352 +// aLegendEntryPosition.X +326 +// aLegendEntryPosition.Y +4617 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;3260;212;46170;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +16765728 +// aLegendEntryPosition.X +326 +// aLegendEntryPosition.Y +5062 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;3260;212;50620;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +32767 +// xLegendEntryText->getString() +AA +// xLegendEntryText->getString() +BB +// xLegendEntryText->getString() +CC +// xLegendEntryText->getString() +DD diff --git a/chart2/qa/extras/chart2dump/reference/legendtest/legend_on_right_side.txt b/chart2/qa/extras/chart2dump/reference/legendtest/legend_on_right_side.txt new file mode 100755 index 000000000000..94fc41730095 --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/legendtest/legend_on_right_side.txt @@ -0,0 +1,46 @@ +// aLegendPosition.X +14671 +// aLegendPosition.Y +4000 +// aLegendSize.Width +1127 +// aLegendSize.Height +990 +// nLegendEntryCount +2 +// aLegendEntryPosition.X +14787 +// aLegendEntryPosition.Y +4167 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +211 +// sLegendEntryTransformation +212;0;147870;212;41670;0;1 +// xLegendEntryContainer->getCount() +2 +// sEntryGeomShapeType +com.sun.star.drawing.RectangleShape +// static_cast<sal_Int32>(aEntryGeomColor) +17798 +// aLegendEntryPosition.X +14787 +// aLegendEntryPosition.Y +4612 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +211 +// sLegendEntryTransformation +212;0;147870;212;46120;0;1 +// xLegendEntryContainer->getCount() +2 +// sEntryGeomShapeType +com.sun.star.drawing.RectangleShape +// static_cast<sal_Int32>(aEntryGeomColor) +16728590 +// xLegendEntryText->getString() +A +// xLegendEntryText->getString() +C-B diff --git a/chart2/qa/extras/chart2dump/reference/legendtest/legend_on_top.txt b/chart2/qa/extras/chart2dump/reference/legendtest/legend_on_top.txt new file mode 100755 index 000000000000..60c4472d7021 --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/legendtest/legend_on_top.txt @@ -0,0 +1,98 @@ +// aLegendPosition.X +4780 +// aLegendPosition.Y +185 +// aLegendSize.Width +6440 +// aLegendSize.Height +545 +// nLegendEntryCount +4 +// aLegendEntryPosition.X +4896 +// aLegendEntryPosition.Y +352 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;48960;212;3520;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +43091 +// aLegendEntryPosition.X +6506 +// aLegendEntryPosition.Y +352 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;65060;212;3520;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +8388352 +// aLegendEntryPosition.X +8116 +// aLegendEntryPosition.Y +352 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;81160;212;3520;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +16765728 +// aLegendEntryPosition.X +9726 +// aLegendEntryPosition.Y +352 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;97260;212;3520;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +16711807 +// xLegendEntryText->getString() +AA +// xLegendEntryText->getString() +BB +// xLegendEntryText->getString() +CC +// xLegendEntryText->getString() +DD diff --git a/chart2/qa/extras/chart2dump/reference/legendtest/many_legend_entries.txt b/chart2/qa/extras/chart2dump/reference/legendtest/many_legend_entries.txt new file mode 100755 index 000000000000..c1d05a9be44f --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/legendtest/many_legend_entries.txt @@ -0,0 +1,340 @@ +// aLegendPosition.X +1474 +// aLegendPosition.Y +185 +// aLegendSize.Width +13039 +// aLegendSize.Height +990 +// nLegendEntryCount +15 +// aLegendEntryPosition.X +1590 +// aLegendEntryPosition.Y +352 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;15900;212;3520;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +43091 +// aLegendEntryPosition.X +3200 +// aLegendEntryPosition.Y +352 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;32000;212;3520;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +8388352 +// aLegendEntryPosition.X +4810 +// aLegendEntryPosition.Y +352 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;48100;212;3520;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +16765728 +// aLegendEntryPosition.X +6420 +// aLegendEntryPosition.Y +352 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;64200;212;3520;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +16711807 +// aLegendEntryPosition.X +8030 +// aLegendEntryPosition.Y +352 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;80300;212;3520;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +8257569 +// aLegendEntryPosition.X +9746 +// aLegendEntryPosition.Y +352 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;97460;212;3520;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +8637183 +// aLegendEntryPosition.X +11356 +// aLegendEntryPosition.Y +352 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;113560;212;3520;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +3227652 +// aLegendEntryPosition.X +13019 +// aLegendEntryPosition.Y +352 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;130190;212;3520;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +11456256 +// aLegendEntryPosition.X +1590 +// aLegendEntryPosition.Y +797 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;15900;212;7970;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +4923247 +// aLegendEntryPosition.X +3200 +// aLegendEntryPosition.Y +797 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;32000;212;7970;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +16749838 +// aLegendEntryPosition.X +4810 +// aLegendEntryPosition.Y +797 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;48100;212;7970;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +12910603 +// aLegendEntryPosition.X +6420 +// aLegendEntryPosition.Y +797 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;64200;212;7970;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +34001 +// aLegendEntryPosition.X +8030 +// aLegendEntryPosition.Y +797 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;80300;212;7970;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +17798 +// aLegendEntryPosition.X +9746 +// aLegendEntryPosition.Y +797 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;97460;212;7970;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +16728590 +// aLegendEntryPosition.X +11356 +// aLegendEntryPosition.Y +797 +// aLegendEntrySize.Height +211 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;113560;212;7970;0;1 +// xLegendEntryContainer->getCount() +3 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// sEntryGeomShapeType +com.sun.star.drawing.PolyPolygonShape +// static_cast<sal_Int32>(aEntryGeomColor) +16765728 +// xLegendEntryText->getString() +AA +// xLegendEntryText->getString() +BB +// xLegendEntryText->getString() +CC +// xLegendEntryText->getString() +DD +// xLegendEntryText->getString() +EE +// xLegendEntryText->getString() +FF +// xLegendEntryText->getString() +GG +// xLegendEntryText->getString() +HH +// xLegendEntryText->getString() +II +// xLegendEntryText->getString() +JJ +// xLegendEntryText->getString() +KK +// xLegendEntryText->getString() +LL +// xLegendEntryText->getString() +MM +// xLegendEntryText->getString() +NN +// xLegendEntryText->getString() +OO diff --git a/chart2/qa/extras/chart2dump/reference/legendtest/multiple_categories.txt b/chart2/qa/extras/chart2dump/reference/legendtest/multiple_categories.txt new file mode 100755 index 000000000000..6db03f534d40 --- /dev/null +++ b/chart2/qa/extras/chart2dump/reference/legendtest/multiple_categories.txt @@ -0,0 +1,154 @@ +// aLegendPosition.X +2397 +// aLegendPosition.Y +6498 +// aLegendSize.Width +8041 +// aLegendSize.Height +938 +// nLegendEntryCount +8 +// aLegendEntryPosition.X +2501 +// aLegendEntryPosition.Y +6662 +// aLegendEntrySize.Height +190 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;25010;191;66620;0;1 +// xLegendEntryContainer->getCount() +2 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// aLegendEntryPosition.X +4273 +// aLegendEntryPosition.Y +6662 +// aLegendEntrySize.Height +190 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;42730;191;66620;0;1 +// xLegendEntryContainer->getCount() +2 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// aLegendEntryPosition.X +6363 +// aLegendEntryPosition.Y +6662 +// aLegendEntrySize.Height +190 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;63630;191;66620;0;1 +// xLegendEntryContainer->getCount() +2 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// aLegendEntryPosition.X +8453 +// aLegendEntryPosition.Y +6662 +// aLegendEntrySize.Height +190 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;84530;191;66620;0;1 +// xLegendEntryContainer->getCount() +2 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// aLegendEntryPosition.X +2501 +// aLegendEntryPosition.Y +7081 +// aLegendEntrySize.Height +190 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;25010;191;70810;0;1 +// xLegendEntryContainer->getCount() +2 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// aLegendEntryPosition.X +4273 +// aLegendEntryPosition.Y +7081 +// aLegendEntrySize.Height +190 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;42730;191;70810;0;1 +// xLegendEntryContainer->getCount() +2 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// aLegendEntryPosition.X +6363 +// aLegendEntryPosition.Y +7081 +// aLegendEntrySize.Height +190 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;63630;191;70810;0;1 +// xLegendEntryContainer->getCount() +2 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// aLegendEntryPosition.X +8453 +// aLegendEntryPosition.Y +7081 +// aLegendEntrySize.Height +190 +// aLegendEntrySize.Width +800 +// sLegendEntryTransformation +801;0;84530;191;70810;0;1 +// xLegendEntryContainer->getCount() +2 +// sEntryGeomShapeType +com.sun.star.drawing.LineShape +// static_cast<sal_Int32>(aEntryGeomColor) +7512015 +// xLegendEntryText->getString() +A In0 +// xLegendEntryText->getString() +A In100 +// xLegendEntryText->getString() +A In200 +// xLegendEntryText->getString() +A In400 +// xLegendEntryText->getString() +B In0 +// xLegendEntryText->getString() +B In100 +// xLegendEntryText->getString() +B In200 +// xLegendEntryText->getString() +B In400 diff --git a/chart2/qa/extras/charttest.hxx b/chart2/qa/extras/charttest.hxx index 17ab82d1c718..1d2f4afe9150 100644 --- a/chart2/qa/extras/charttest.hxx +++ b/chart2/qa/extras/charttest.hxx @@ -113,7 +113,8 @@ void ChartTest::load( const OUString& aDir, const OUString& aName ) { maServiceName = "com.sun.star.drawing.DrawingDocument"; } - + if (mxComponent.is()) + mxComponent->dispose(); mxComponent = loadFromDesktop(m_directories.getURLFromSrc(aDir) + aName, maServiceName); CPPUNIT_ASSERT(mxComponent.is()); } @@ -317,7 +318,6 @@ Reference< chart2::data::XDataSequence > getDataSequenceFromDocByRole( return xLabelSeq; } - CPPUNIT_FAIL("no Label sequence found"); return Reference< chart2::data::XDataSequence > (); } |