Kaydet (Commit) 2a88873e authored tarafından Markus Mohrhard's avatar Markus Mohrhard

add test for tdf#90511

Change-Id: Id4f338d8f19b796be10f035df0bdf28076f6511e
üst 514433a8
......@@ -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;
......
......@@ -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);
......
......@@ -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();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment