sc/inc/colorscale.hxx | 1 sc/qa/unit/data/xlsx/condformat_theme_color.xlsx |binary sc/qa/unit/helper/qahelper.cxx | 2 - sc/qa/unit/helper/qahelper.hxx | 10 +++--- sc/qa/unit/subsequent_filters-test.cxx | 35 +++++++++++++++++++++++ sc/source/core/data/colorscale.cxx | 8 +++++ 6 files changed, 50 insertions(+), 6 deletions(-)
New commits: commit 2a88873e96d5aa916146a74c20b34b2715418350 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Thu Apr 16 03:57:32 2015 +0200 add test for tdf#90511 Change-Id: Id4f338d8f19b796be10f035df0bdf28076f6511e diff --git a/sc/inc/colorscale.hxx b/sc/inc/colorscale.hxx index 110a27a..593a662 100644 --- a/sc/inc/colorscale.hxx +++ b/sc/inc/colorscale.hxx @@ -282,6 +282,7 @@ public: const_iterator end() const; ScColorScaleEntry* GetEntry(size_t nPos); + const ScColorScaleEntry* GetEntry(size_t nPos) const; size_t size() const; diff --git a/sc/qa/unit/data/xlsx/condformat_theme_color.xlsx b/sc/qa/unit/data/xlsx/condformat_theme_color.xlsx new file mode 100644 index 0000000..8bab237 Binary files /dev/null and b/sc/qa/unit/data/xlsx/condformat_theme_color.xlsx differ diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx index 07b224f..dbc5ac1 100644 --- a/sc/qa/unit/subsequent_filters-test.cxx +++ b/sc/qa/unit/subsequent_filters-test.cxx @@ -131,6 +131,7 @@ public: void testColorScaleXLSX(); void testNewCondFormatODS(); void testNewCondFormatXLSX(); + void testCondFormatThemeColorXLSX(); void testLiteralInFormulaXLS(); @@ -237,6 +238,7 @@ public: CPPUNIT_TEST(testColorScaleXLSX); CPPUNIT_TEST(testNewCondFormatODS); CPPUNIT_TEST(testNewCondFormatXLSX); + CPPUNIT_TEST(testCondFormatThemeColorXLSX); CPPUNIT_TEST(testLiteralInFormulaXLS); CPPUNIT_TEST(testNumberFormatHTML); @@ -2342,6 +2344,39 @@ void ScFiltersTest::testNewCondFormatXLSX() xDocSh->DoClose(); } +void ScFiltersTest::testCondFormatThemeColorXLSX() +{ + ScDocShellRef xDocSh = ScBootstrapFixture::loadDoc( "condformat_theme_color.", XLSX ); + + CPPUNIT_ASSERT_MESSAGE("Failed to load condformat_theme_color.xlsx", xDocSh.Is()); + + ScDocument& rDoc = xDocSh->GetDocument(); + ScConditionalFormat* pFormat = rDoc.GetCondFormat(0, 0, 0); + const ScFormatEntry* pEntry = pFormat->GetEntry(0); + CPPUNIT_ASSERT(pEntry); + CPPUNIT_ASSERT_EQUAL(pEntry->GetType(), condformat::DATABAR); + const ScDataBarFormat* pDataBar = static_cast<const ScDataBarFormat*>(pEntry); + const ScDataBarFormatData* pDataBarFormatData = pDataBar->GetDataBarData(); + + CPPUNIT_ASSERT_EQUAL(Color(157, 195, 230), pDataBarFormatData->maPositiveColor); + CPPUNIT_ASSERT(pDataBarFormatData->mpNegativeColor.get()); + CPPUNIT_ASSERT_EQUAL(Color(COL_LIGHTRED), *pDataBarFormatData->mpNegativeColor.get()); + + pFormat = rDoc.GetCondFormat(0, 0, 1); + pEntry = pFormat->GetEntry(0); + CPPUNIT_ASSERT(pEntry); + CPPUNIT_ASSERT_EQUAL(pEntry->GetType(), condformat::COLORSCALE); + const ScColorScaleFormat* pColorScale = static_cast<const ScColorScaleFormat*>(pEntry); + CPPUNIT_ASSERT_EQUAL(size_t(2), pColorScale->size()); + const ScColorScaleEntry* pColorScaleEntry = pColorScale->GetEntry(0); + CPPUNIT_ASSERT(pColorScaleEntry); + CPPUNIT_ASSERT_EQUAL(Color(255, 230, 153), pColorScaleEntry->GetColor()); + + pColorScaleEntry = pColorScale->GetEntry(1); + CPPUNIT_ASSERT(pColorScaleEntry); + CPPUNIT_ASSERT_EQUAL(Color(157, 195, 230), pColorScaleEntry->GetColor()); +} + void ScFiltersTest::testLiteralInFormulaXLS() { ScDocShellRef xDocSh = loadDoc("shared-string/literal-in-formula.", XLS); diff --git a/sc/source/core/data/colorscale.cxx b/sc/source/core/data/colorscale.cxx index 15fc616..c41fc68 100644 --- a/sc/source/core/data/colorscale.cxx +++ b/sc/source/core/data/colorscale.cxx @@ -679,6 +679,14 @@ ScColorScaleEntry* ScColorScaleFormat::GetEntry(size_t nPos) return &maColorScales[nPos]; } +const ScColorScaleEntry* ScColorScaleFormat::GetEntry(size_t nPos) const +{ + if (maColorScales.size() <= nPos) + return NULL; + + return &maColorScales[nPos]; +} + size_t ScColorScaleFormat::size() const { return maColorScales.size(); commit 514433a819102e8463d90a907fcdb8e429e07917 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Thu Apr 16 03:58:07 2015 +0200 export and fix pretty printers for calc unit tests Change-Id: Ifa5d097e3c09fa0c96339b4eb6fd2be81516856d diff --git a/sc/qa/unit/helper/qahelper.cxx b/sc/qa/unit/helper/qahelper.cxx index d45340a..96307e1 100644 --- a/sc/qa/unit/helper/qahelper.cxx +++ b/sc/qa/unit/helper/qahelper.cxx @@ -62,7 +62,7 @@ std::ostream& operator<<(std::ostream& rStrm, const ScRangeList& rList) std::ostream& operator<<(std::ostream& rStrm, const Color& rColor) { - rStrm << "Color: R:" << rColor.GetRed() << " G:" << rColor.GetGreen() << " B: << rColor.GetBlue()"; + rStrm << "Color: R:" << (int)rColor.GetRed() << " G:" << (int)rColor.GetGreen() << " B: " << (int)rColor.GetBlue(); return rStrm; } diff --git a/sc/qa/unit/helper/qahelper.hxx b/sc/qa/unit/helper/qahelper.hxx index 460d0fca..829c127 100644 --- a/sc/qa/unit/helper/qahelper.hxx +++ b/sc/qa/unit/helper/qahelper.hxx @@ -97,15 +97,15 @@ struct FileFormat { // Printers for the calc data structures. Needed for the EQUAL assertion // macros from CPPUNIT. -std::ostream& operator<<(std::ostream& rStrm, const ScAddress& rAddr); +SCQAHELPER_DLLPUBLIC std::ostream& operator<<(std::ostream& rStrm, const ScAddress& rAddr); -std::ostream& operator<<(std::ostream& rStrm, const ScRange& rRange); +SCQAHELPER_DLLPUBLIC std::ostream& operator<<(std::ostream& rStrm, const ScRange& rRange); -std::ostream& operator<<(std::ostream& rStrm, const ScRangeList& rList); +SCQAHELPER_DLLPUBLIC std::ostream& operator<<(std::ostream& rStrm, const ScRangeList& rList); -std::ostream& operator<<(std::ostream& rStrm, const Color& rColor); +SCQAHELPER_DLLPUBLIC std::ostream& operator<<(std::ostream& rStrm, const Color& rColor); -std::ostream& operator<<(std::ostream& rStrm, const OpCode& rCode); +SCQAHELPER_DLLPUBLIC std::ostream& operator<<(std::ostream& rStrm, const OpCode& rCode); // Why is this here and not in osl, and using the already existing file // handling APIs? Do we really want to add arbitrary new file handling _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits