diff options
author | Markus Mohrhard <markus.mohrhard@collabora.co.uk> | 2015-03-27 19:56:04 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@collabora.co.uk> | 2015-03-27 19:58:28 +0100 |
commit | 5b7d51af074aa1c4616a6f411892974cc28d2e00 (patch) | |
tree | 9c7980c0cfa2e91773b1d5a3fa8d1ab9d786f6f7 /sc/qa | |
parent | 8dd2888ac75c2c2ee9ca0ed0c6abda4dab7420cc (diff) |
add test for tdf#89170
Change-Id: Ia3458ae91ea20aa3f5090f9b85a5030ddde81c3c
Diffstat (limited to 'sc/qa')
-rw-r--r-- | sc/qa/unit/data/xlsx/strike-through.xlsx | bin | 0 -> 8914 bytes | |||
-rw-r--r-- | sc/qa/unit/subsequent_filters-test.cxx | 34 |
2 files changed, 34 insertions, 0 deletions
diff --git a/sc/qa/unit/data/xlsx/strike-through.xlsx b/sc/qa/unit/data/xlsx/strike-through.xlsx Binary files differnew file mode 100644 index 000000000000..ca5676892761 --- /dev/null +++ b/sc/qa/unit/data/xlsx/strike-through.xlsx diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx index 16a0e08d2264..07b224f3dd7b 100644 --- a/sc/qa/unit/subsequent_filters-test.cxx +++ b/sc/qa/unit/subsequent_filters-test.cxx @@ -27,6 +27,7 @@ #include <svx/svdoole2.hxx> #include <editeng/wghtitem.hxx> #include <editeng/postitem.hxx> +#include <editeng/crossedoutitem.hxx> #include <editeng/udlnitem.hxx> #include <editeng/editobj.hxx> #include <editeng/borderline.hxx> @@ -188,6 +189,7 @@ public: void testCopyMergedNumberFormats(); void testVBAUserFunctionXLSM(); void testEmbeddedImageXLS(); + void testEditEngStrikeThroughXLSX(); CPPUNIT_TEST_SUITE(ScFiltersTest); CPPUNIT_TEST(testBooleanFormatXLSX); @@ -275,6 +277,7 @@ public: CPPUNIT_TEST(testVBAUserFunctionXLSM); CPPUNIT_TEST(testEmbeddedImageXLS); CPPUNIT_TEST(testErrorOnExternalReferences); + CPPUNIT_TEST(testEditEngStrikeThroughXLSX); CPPUNIT_TEST_SUITE_END(); private: @@ -2867,6 +2870,37 @@ void ScFiltersTest::testErrorOnExternalReferences() xDocSh->DoClose(); } +void ScFiltersTest::testEditEngStrikeThroughXLSX() +{ + ScDocShellRef xDocSh = loadDoc("strike-through.", XLSX); + CPPUNIT_ASSERT_MESSAGE("Failed to open doc", xDocSh.Is()); + + ScDocument& rDoc = xDocSh->GetDocument(); + + const EditTextObject* pObj = rDoc.GetEditText(ScAddress(0, 0, 0)); + CPPUNIT_ASSERT(pObj); + CPPUNIT_ASSERT_EQUAL(sal_Int32(1), pObj->GetParagraphCount()); + CPPUNIT_ASSERT_EQUAL(OUString("this is strike through this not"), pObj->GetText(0)); + + std::vector<EECharAttrib> aAttribs; + pObj->GetCharAttribs(0, aAttribs); + for (std::vector<EECharAttrib>::const_iterator itr = aAttribs.begin(); itr != aAttribs.end(); ++itr) + { + if (itr->pAttr->Which() == EE_CHAR_STRIKEOUT) + { + const SvxCrossedOutItem& rItem = static_cast<const SvxCrossedOutItem&>(*itr->pAttr); + if (itr->nStart == 0) + { + CPPUNIT_ASSERT(rItem.GetStrikeout() != STRIKEOUT_NONE); + } + else + { + CPPUNIT_ASSERT_EQUAL(STRIKEOUT_NONE, rItem.GetStrikeout()); + } + } + } +} + ScFiltersTest::ScFiltersTest() : ScBootstrapFixture( "/sc/qa/unit/data" ) { |