From 8f8ee6fd2c50572c44363a6d5d23bd9d192fe08d Mon Sep 17 00:00:00 2001 From: Tobias Lippert Date: Thu, 26 Jun 2014 19:59:15 +0200 Subject: fdo#76754 Add Positions by StyleSheetFamily to IndexedStyleSheets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I4eade2d00d145d8f65ccd70a1c6bbd0a134a1ad5 Reviewed-on: https://gerrit.libreoffice.org/10346 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- svl/qa/unit/items/test_IndexedStyleSheets.cxx | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'svl/qa') diff --git a/svl/qa/unit/items/test_IndexedStyleSheets.cxx b/svl/qa/unit/items/test_IndexedStyleSheets.cxx index 3b0a0e0b8eb7..99b816f2c781 100644 --- a/svl/qa/unit/items/test_IndexedStyleSheets.cxx +++ b/svl/qa/unit/items/test_IndexedStyleSheets.cxx @@ -21,8 +21,8 @@ using namespace svl; class MockedStyleSheet : public SfxStyleSheetBase { public: - MockedStyleSheet(const rtl::OUString& name) - : SfxStyleSheetBase(name, NULL, SFX_STYLE_FAMILY_CHAR, 0) + MockedStyleSheet(const rtl::OUString& name, SfxStyleFamily fam = SFX_STYLE_FAMILY_CHAR) + : SfxStyleSheetBase(name, NULL, fam, 0) {;} }; @@ -36,6 +36,7 @@ class IndexedStyleSheetsTest : public CppUnit::TestFixture void RemovingStyleSheetWhichIsNotAvailableHasNoEffect(); void StyleSheetsCanBeRetrievedByTheirName(); void KnowsThatItStoresAStyleSheet(); + void PositionCanBeQueriedByFamily(); // Adds code needed to register the test suite CPPUNIT_TEST_SUITE(IndexedStyleSheetsTest); @@ -47,6 +48,7 @@ class IndexedStyleSheetsTest : public CppUnit::TestFixture CPPUNIT_TEST(RemovingStyleSheetWhichIsNotAvailableHasNoEffect); CPPUNIT_TEST(StyleSheetsCanBeRetrievedByTheirName); CPPUNIT_TEST(KnowsThatItStoresAStyleSheet); + CPPUNIT_TEST(PositionCanBeQueriedByFamily); // End of test suite definition CPPUNIT_TEST_SUITE_END(); @@ -151,6 +153,27 @@ void IndexedStyleSheetsTest::KnowsThatItStoresAStyleSheet() true, iss.HasStyleSheet(sheet2)); CPPUNIT_ASSERT_EQUAL_MESSAGE("Does not find style sheet which is not stored and has the same name as a stored.", false, iss.HasStyleSheet(sheet4)); +} + +void IndexedStyleSheetsTest::PositionCanBeQueriedByFamily() +{ + rtl::OUString name1("name1"); + rtl::OUString name2("name2"); + rtl::OUString name3("name3"); + rtl::Reference sheet1(new MockedStyleSheet(name1, SFX_STYLE_FAMILY_CHAR)); + rtl::Reference sheet2(new MockedStyleSheet(name2, SFX_STYLE_FAMILY_PARA)); + rtl::Reference sheet3(new MockedStyleSheet(name3, SFX_STYLE_FAMILY_CHAR)); + + IndexedStyleSheets iss; + iss.AddStyleSheet(sheet1); + iss.AddStyleSheet(sheet2); + iss.AddStyleSheet(sheet3); + + const std::vector& v = iss.GetStyleSheetPositionsByFamily(SFX_STYLE_FAMILY_CHAR); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Separation by family works.", static_cast(2), v.size()); + + const std::vector& w = iss.GetStyleSheetPositionsByFamily(SFX_STYLE_FAMILY_ALL); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Wildcard works for family queries.", static_cast(3), w.size()); } -- cgit v1.2.3