summaryrefslogtreecommitdiff
path: root/sc/qa
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-04-16 03:57:32 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-04-16 04:04:37 +0200
commit2a88873e96d5aa916146a74c20b34b2715418350 (patch)
tree25b6f3e17104afd31b7482aa89c29121990af920 /sc/qa
parent514433a819102e8463d90a907fcdb8e429e07917 (diff)
add test for tdf#90511
Change-Id: Id4f338d8f19b796be10f035df0bdf28076f6511e
Diffstat (limited to 'sc/qa')
-rw-r--r--sc/qa/unit/data/xlsx/condformat_theme_color.xlsxbin0 -> 8937 bytes
-rw-r--r--sc/qa/unit/subsequent_filters-test.cxx35
2 files changed, 35 insertions, 0 deletions
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 000000000000..8bab237406f4
--- /dev/null
+++ b/sc/qa/unit/data/xlsx/condformat_theme_color.xlsx
Binary files differ
diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx
index 07b224f3dd7b..dbc5ac173330 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);