Kaydet (Commit) 5a342653 authored tarafından Bjoern Michaelsen's avatar Bjoern Michaelsen Kaydeden (comit) Björn Michaelsen

remove this nonsense of init() returning a map, and then ...

- make the DocumentIndex and the DocumentSettings test against XServiceInfo and
  XComponent, if applicable
- fix SwXDocumentSettings implementation name to meet expectations, almost [API CHANGE]
- leave out tests on Desktop->terminate() for now though

Change-Id: I1e1ab69dd6f6aa67f2cb9291a5665f3f94ff4a38
Reviewed-on: https://gerrit.libreoffice.org/69339
Tested-by: Jenkins
Reviewed-by: 's avatarBjörn Michaelsen <bjoern.michaelsen@libreoffice.org>
üst 5d1bc45e
...@@ -15,8 +15,6 @@ ...@@ -15,8 +15,6 @@
#include <com/sun/star/beans/XPropertySetInfo.hpp> #include <com/sun/star/beans/XPropertySetInfo.hpp>
#include <com/sun/star/beans/PropertyAttribute.hpp> #include <com/sun/star/beans/PropertyAttribute.hpp>
#include <unordered_map>
namespace apitest namespace apitest
{ {
class ApiTestBase class ApiTestBase
...@@ -50,7 +48,7 @@ protected: ...@@ -50,7 +48,7 @@ protected:
virtual ~ApiTestBase() {} virtual ~ApiTestBase() {}
virtual std::unordered_map<OUString, css::uno::Reference<css::uno::XInterface>> init() = 0; virtual css::uno::Reference<css::uno::XInterface> init() = 0;
}; };
} }
......
...@@ -58,10 +58,7 @@ class BaseIndexTest : public ApiTestBase ...@@ -58,10 +58,7 @@ class BaseIndexTest : public ApiTestBase
public: public:
void testBaseIndexProperties() void testBaseIndexProperties()
{ {
auto map = init(); css::uno::Reference<css::beans::XPropertySet> xBaseIndex(init(), css::uno::UNO_QUERY_THROW);
css::uno::Reference<css::beans::XPropertySet> xBaseIndex(map["text::BaseIndex"],
css::uno::UNO_QUERY_THROW);
testStringProperty(xBaseIndex, "Title", "Value"); testStringProperty(xBaseIndex, "Title", "Value");
testBooleanProperty(xBaseIndex, "IsProtected"); testBooleanProperty(xBaseIndex, "IsProtected");
......
...@@ -24,9 +24,7 @@ class DocumentIndexTest : public ApiTestBase ...@@ -24,9 +24,7 @@ class DocumentIndexTest : public ApiTestBase
public: public:
void testDocumentIndexProperties() void testDocumentIndexProperties()
{ {
auto map = init(); css::uno::Reference<css::beans::XPropertySet> xDocumnetIndex(init(),
css::uno::Reference<css::beans::XPropertySet> xDocumnetIndex(map["text::DocumentIndex"],
css::uno::UNO_QUERY_THROW); css::uno::UNO_QUERY_THROW);
testBooleanProperty(xDocumnetIndex, "UseAlphabeticalSeparators"); testBooleanProperty(xDocumnetIndex, "UseAlphabeticalSeparators");
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
*/ */
#include <test/bootstrapfixture.hxx> #include <test/bootstrapfixture.hxx>
#include <test/lang/xserviceinfo.hxx>
#include <unotest/macros_test.hxx> #include <unotest/macros_test.hxx>
#include <com/sun/star/frame/Desktop.hpp> #include <com/sun/star/frame/Desktop.hpp>
...@@ -35,7 +36,8 @@ class DocumentSettingsTest : public test::BootstrapFixture, ...@@ -35,7 +36,8 @@ class DocumentSettingsTest : public test::BootstrapFixture,
public unotest::MacrosTest, public unotest::MacrosTest,
public apitest::DocumentSettingsTest, public apitest::DocumentSettingsTest,
public apitest::SettingsTest, public apitest::SettingsTest,
public apitest::PrinterSettingsTest public apitest::PrinterSettingsTest,
public apitest::XServiceInfo
{ {
private: private:
uno::Reference<uno::XComponentContext> mxComponentContext; uno::Reference<uno::XComponentContext> mxComponentContext;
...@@ -45,9 +47,14 @@ public: ...@@ -45,9 +47,14 @@ public:
virtual void setUp() override; virtual void setUp() override;
virtual void tearDown() override; virtual void tearDown() override;
std::unordered_map<OUString, uno::Reference<uno::XInterface>> init() override; DocumentSettingsTest()
: apitest::XServiceInfo("SwXDocumentSettings", "com.sun.star.text.DocumentSettings"){};
uno::Reference<uno::XInterface> init() override;
CPPUNIT_TEST_SUITE(DocumentSettingsTest); CPPUNIT_TEST_SUITE(DocumentSettingsTest);
CPPUNIT_TEST(testGetImplementationName);
CPPUNIT_TEST(testGetSupportedServiceNames);
CPPUNIT_TEST(testSupportsService);
CPPUNIT_TEST(testDocumentSettingsProperties); CPPUNIT_TEST(testDocumentSettingsProperties);
CPPUNIT_TEST(testSettingsProperties); CPPUNIT_TEST(testSettingsProperties);
CPPUNIT_TEST(testPrinterSettingsProperties); CPPUNIT_TEST(testPrinterSettingsProperties);
...@@ -70,10 +77,8 @@ void DocumentSettingsTest::tearDown() ...@@ -70,10 +77,8 @@ void DocumentSettingsTest::tearDown()
test::BootstrapFixture::tearDown(); test::BootstrapFixture::tearDown();
} }
std::unordered_map<OUString, uno::Reference<uno::XInterface>> DocumentSettingsTest::init() uno::Reference<uno::XInterface> DocumentSettingsTest::init()
{ {
std::unordered_map<OUString, uno::Reference<uno::XInterface>> map;
mxComponent = loadFromDesktop("private:factory/swriter", "com.sun.star.text.TextDocument"); mxComponent = loadFromDesktop("private:factory/swriter", "com.sun.star.text.TextDocument");
CPPUNIT_ASSERT(mxComponent.is()); CPPUNIT_ASSERT(mxComponent.is());
...@@ -83,13 +88,7 @@ std::unordered_map<OUString, uno::Reference<uno::XInterface>> DocumentSettingsTe ...@@ -83,13 +88,7 @@ std::unordered_map<OUString, uno::Reference<uno::XInterface>> DocumentSettingsTe
uno::Reference<uno::XInterface> xDocumentSettings( uno::Reference<uno::XInterface> xDocumentSettings(
xFactory->createInstance("com.sun.star.text.DocumentSettings"), uno::UNO_QUERY_THROW); xFactory->createInstance("com.sun.star.text.DocumentSettings"), uno::UNO_QUERY_THROW);
// DocumentSettings return xDocumentSettings;
map["text::DocumentSettings"] = xDocumentSettings;
// Settings
map["document::Settings"] = xDocumentSettings;
// Printer Settings
map["text::PrinterSettings"] = xDocumentSettings;
return map;
} }
CPPUNIT_TEST_SUITE_REGISTRATION(DocumentSettingsTest); CPPUNIT_TEST_SUITE_REGISTRATION(DocumentSettingsTest);
......
...@@ -24,10 +24,8 @@ class DocumentSettingsTest : public ApiTestBase ...@@ -24,10 +24,8 @@ class DocumentSettingsTest : public ApiTestBase
public: public:
void testDocumentSettingsProperties() void testDocumentSettingsProperties()
{ {
auto map = init(); css::uno::Reference<css::beans::XPropertySet> xDocumentSettings(init(),
css::uno::UNO_QUERY_THROW);
css::uno::Reference<css::beans::XPropertySet> xDocumentSettings(
map["text::DocumentSettings"], css::uno::UNO_QUERY_THROW);
testBooleanOptionalProperty(xDocumentSettings, "ChartAutoUpdate"); testBooleanOptionalProperty(xDocumentSettings, "ChartAutoUpdate");
testBooleanOptionalProperty(xDocumentSettings, "AddParaTableSpacing"); testBooleanOptionalProperty(xDocumentSettings, "AddParaTableSpacing");
......
...@@ -52,9 +52,7 @@ class PrinterSettingsTest : public ApiTestBase ...@@ -52,9 +52,7 @@ class PrinterSettingsTest : public ApiTestBase
public: public:
void testPrinterSettingsProperties() void testPrinterSettingsProperties()
{ {
auto map = init(); css::uno::Reference<css::beans::XPropertySet> xPrinterSettings(init(),
css::uno::Reference<css::beans::XPropertySet> xPrinterSettings(map["text::PrinterSettings"],
css::uno::UNO_QUERY_THROW); css::uno::UNO_QUERY_THROW);
testBooleanProperty(xPrinterSettings, "PrintGraphics"); testBooleanProperty(xPrinterSettings, "PrintGraphics");
......
...@@ -93,10 +93,7 @@ class SettingsTest : public ApiTestBase ...@@ -93,10 +93,7 @@ class SettingsTest : public ApiTestBase
public: public:
void testSettingsProperties() void testSettingsProperties()
{ {
auto map = init(); css::uno::Reference<css::beans::XPropertySet> xSettings(init(), css::uno::UNO_QUERY_THROW);
css::uno::Reference<css::beans::XPropertySet> xSettings(map["document::Settings"],
css::uno::UNO_QUERY_THROW);
testForbiddenCharacters(xSettings); testForbiddenCharacters(xSettings);
//testShortOptionalProperty(xSettings, "LinkUpdateMode"); //testShortOptionalProperty(xSettings, "LinkUpdateMode");
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include "XTextContentTest.hxx" #include "XTextContentTest.hxx"
#include <test/bootstrapfixture.hxx> #include <test/bootstrapfixture.hxx>
#include <test/lang/xserviceinfo.hxx>
#include <test/lang/xcomponent.hxx>
#include <unotest/macros_test.hxx> #include <unotest/macros_test.hxx>
#include <com/sun/star/frame/Desktop.hpp> #include <com/sun/star/frame/Desktop.hpp>
...@@ -40,24 +42,34 @@ class SwXDocumentIndexTest : public test::BootstrapFixture, ...@@ -40,24 +42,34 @@ class SwXDocumentIndexTest : public test::BootstrapFixture,
public apitest::XDocumentIndexTest, public apitest::XDocumentIndexTest,
public apitest::BaseIndexTest, public apitest::BaseIndexTest,
public apitest::DocumentIndexTest, public apitest::DocumentIndexTest,
public apitest::XTextContentTest public apitest::XTextContentTest,
public apitest::XServiceInfo,
public apitest::XComponent
{ {
uno::Reference<uno::XComponentContext> mxComponentContext; uno::Reference<uno::XComponentContext> mxComponentContext;
uno::Reference<lang::XComponent> mxComponent; uno::Reference<text::XTextDocument> mxTextDocument;
public: public:
virtual void setUp() override; virtual void setUp() override;
virtual void tearDown() override; virtual void tearDown() override;
std::unordered_map<OUString, uno::Reference<uno::XInterface>> init() override; SwXDocumentIndexTest()
: apitest::XServiceInfo("SwXDocumentIndex", "com.sun.star.text.BaseIndex"){};
uno::Reference<uno::XInterface> init() override;
uno::Reference<text::XTextDocument> getTextDocument() override { return mxTextDocument; }
void triggerDesktopTerminate() override {}
CPPUNIT_TEST_SUITE(SwXDocumentIndexTest); CPPUNIT_TEST_SUITE(SwXDocumentIndexTest);
CPPUNIT_TEST(testGetServiceName); CPPUNIT_TEST(testGetImplementationName);
CPPUNIT_TEST(testGetSupportedServiceNames);
CPPUNIT_TEST(testSupportsService);
CPPUNIT_TEST(testUpdate); CPPUNIT_TEST(testUpdate);
CPPUNIT_TEST(testBaseIndexProperties); CPPUNIT_TEST(testBaseIndexProperties);
CPPUNIT_TEST(testDocumentIndexProperties); CPPUNIT_TEST(testDocumentIndexProperties);
CPPUNIT_TEST(testAttach); CPPUNIT_TEST(testAttach);
CPPUNIT_TEST(testGetAnchor); CPPUNIT_TEST(testGetAnchor);
CPPUNIT_TEST(testAddEventListener);
CPPUNIT_TEST(testRemoveEventListener);
CPPUNIT_TEST_SUITE_END(); CPPUNIT_TEST_SUITE_END();
}; };
...@@ -67,53 +79,31 @@ void SwXDocumentIndexTest::setUp() ...@@ -67,53 +79,31 @@ void SwXDocumentIndexTest::setUp()
mxComponentContext.set(comphelper::getComponentContext(getMultiServiceFactory())); mxComponentContext.set(comphelper::getComponentContext(getMultiServiceFactory()));
mxDesktop.set(frame::Desktop::create(mxComponentContext)); mxDesktop.set(frame::Desktop::create(mxComponentContext));
mxTextDocument = uno::Reference<text::XTextDocument>(
loadFromDesktop("private:factory/swriter", "com.sun.star.text.TextDocument"),
uno::UNO_QUERY_THROW);
CPPUNIT_ASSERT(mxTextDocument.is());
} }
void SwXDocumentIndexTest::tearDown() void SwXDocumentIndexTest::tearDown()
{ {
if (mxComponent.is()) if (mxTextDocument.is())
mxComponent->dispose(); mxTextDocument->dispose();
test::BootstrapFixture::tearDown(); test::BootstrapFixture::tearDown();
} }
std::unordered_map<OUString, uno::Reference<uno::XInterface>> SwXDocumentIndexTest::init() uno::Reference<uno::XInterface> SwXDocumentIndexTest::init()
{ {
std::unordered_map<OUString, uno::Reference<uno::XInterface>> map; uno::Reference<lang::XMultiServiceFactory> xMSF(mxTextDocument, uno::UNO_QUERY_THROW);
mxComponent = loadFromDesktop("private:factory/swriter", "com.sun.star.text.TextDocument");
CPPUNIT_ASSERT(mxComponent.is());
uno::Reference<text::XTextDocument> xTextDocument(mxComponent, uno::UNO_QUERY_THROW);
uno::Reference<lang::XMultiServiceFactory> xFactory(xTextDocument, uno::UNO_QUERY_THROW);
uno::Reference<text::XDocumentIndex> xDocumentIndex( uno::Reference<text::XDocumentIndex> xDocumentIndex(
xFactory->createInstance("com.sun.star.text.DocumentIndex"), uno::UNO_QUERY_THROW); xMSF->createInstance("com.sun.star.text.DocumentIndex"), uno::UNO_QUERY_THROW);
auto xText = getTextDocument()->getText();
uno::Reference<text::XTextContent> xTextContent(xDocumentIndex, uno::UNO_QUERY_THROW); auto xTextCursor = xText->createTextCursor();
uno::Reference<text::XText> xText = xTextDocument->getText();
uno::Reference<text::XTextCursor> xTextCursor = xText->createTextCursor();
CPPUNIT_ASSERT(xTextCursor.is()); CPPUNIT_ASSERT(xTextCursor.is());
xText->insertTextContent(xTextCursor, xTextContent, false); xText->insertTextContent(xTextCursor, xDocumentIndex, false);
xTextCursor->gotoEnd(false); xTextCursor->gotoEnd(false);
return xDocumentIndex;
uno::Reference<text::XDocumentIndex> xDocumentIndexInstance(
xFactory->createInstance("com.sun.star.text.DocumentIndex"), uno::UNO_QUERY_THROW);
// XDocumentIndexTest
map["text::XDocumentIndex"] = xDocumentIndex;
map["text::XTextDocument"] = xTextDocument;
// BaseIndexTest
map["text::BaseIndex"] = xDocumentIndex;
// DocumentIndex
map["text::DocumentIndex"] = xDocumentIndex;
// XTextContentTest
map["text::XTextRange"] = xTextCursor;
map["text::XTextContent"] = xDocumentIndex;
map["text::XTextContent#Instance"] = xDocumentIndexInstance;
return map;
} }
CPPUNIT_TEST_SUITE_REGISTRATION(SwXDocumentIndexTest); CPPUNIT_TEST_SUITE_REGISTRATION(SwXDocumentIndexTest);
......
...@@ -7,14 +7,11 @@ ...@@ -7,14 +7,11 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/ */
#include "XTextContentTest.hxx"
#include <test/bootstrapfixture.hxx> #include <test/bootstrapfixture.hxx>
#include <test/lang/xcomponent.hxx> #include <test/lang/xcomponent.hxx>
#include <unotest/macros_test.hxx> #include <unotest/macros_test.hxx>
#include <com/sun/star/frame/Desktop.hpp> #include <com/sun/star/frame/Desktop.hpp>
//#include <com/sun/star/frame/DispatchHelper.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp> #include <com/sun/star/lang/XMultiServiceFactory.hpp>
......
...@@ -33,19 +33,7 @@ namespace apitest ...@@ -33,19 +33,7 @@ namespace apitest
class XDocumentIndexTest : public ApiTestBase class XDocumentIndexTest : public ApiTestBase
{ {
public: public:
/** virtual css::uno::Reference<css::text::XTextDocument> getTextDocument() = 0;
* Has <b>OK</b> status if the returned service name
* is equal to 'com.sun.star.text.DocumentIndex'.
*/
void testGetServiceName()
{
auto inputMap = init();
css::uno::Reference<css::text::XDocumentIndex> xDocumentIndex(
inputMap["text::XDocumentIndex"], css::uno::UNO_QUERY_THROW);
CPPUNIT_ASSERT_EQUAL(OUString("com.sun.star.text.DocumentIndex"),
xDocumentIndex->getServiceName());
}
/** /**
* Gets the document from relation and insert a new index mark. * Gets the document from relation and insert a new index mark.
...@@ -57,21 +45,17 @@ public: ...@@ -57,21 +45,17 @@ public:
*/ */
void testUpdate() void testUpdate()
{ {
auto inputMap = init(); css::uno::Reference<css::text::XDocumentIndex> xDocumentIndex(init(),
css::uno::UNO_QUERY_THROW);
css::uno::Reference<css::text::XDocumentIndex> xDocumentIndex(
inputMap["text::XDocumentIndex"], css::uno::UNO_QUERY_THROW);
css::uno::Reference<css::text::XTextDocument> xTextDocument(inputMap["text::XTextDocument"],
css::uno::UNO_QUERY_THROW);
bool bOK = true; bool bOK = true;
try try
{ {
css::uno::Reference<css::text::XText> xText = xTextDocument->getText(); auto xText = getTextDocument()->getText();
css::uno::Reference<css::text::XTextRange> xTextRange = xText->getEnd(); auto xTextRange = xText->getEnd();
xTextRange->setString("IndexMark"); xTextRange->setString("IndexMark");
css::uno::Reference<css::lang::XMultiServiceFactory> xFactory( css::uno::Reference<css::lang::XMultiServiceFactory> xFactory(
xTextDocument, css::uno::UNO_QUERY_THROW); getTextDocument(), css::uno::UNO_QUERY_THROW);
css::uno::Reference<css::text::XTextContent> xTextContentMark( css::uno::Reference<css::text::XTextContent> xTextContentMark(
xFactory->createInstance("com.sun.star.text.DocumentIndexMark"), xFactory->createInstance("com.sun.star.text.DocumentIndexMark"),
css::uno::UNO_QUERY_THROW); css::uno::UNO_QUERY_THROW);
......
...@@ -26,6 +26,7 @@ namespace apitest ...@@ -26,6 +26,7 @@ namespace apitest
class XTextContentTest : public ApiTestBase class XTextContentTest : public ApiTestBase
{ {
public: public:
virtual css::uno::Reference<css::text::XTextDocument> getTextDocument() = 0;
/** /**
* Tries to attach the text content to the test range * Tries to attach the text content to the test range
* gotten with getAnchor(). If relations are found * gotten with getAnchor(). If relations are found
...@@ -35,19 +36,20 @@ public: ...@@ -35,19 +36,20 @@ public:
*/ */
void testAttach() void testAttach()
{ {
auto map = init(); css::uno::Reference<css::text::XTextContent> xTextContent(init(),
css::uno::Reference<css::text::XTextContent> xTextContent( css::uno::UNO_QUERY_THROW);
map["text::XTextContent#Instance"], css::uno::UNO_QUERY_THROW); auto xTextCursor = getTextDocument()->getText()->createTextCursor();
css::uno::Reference<css::text::XTextRange> xTextRange(map["text::XTextRange"], xTextCursor->gotoEnd(false);
css::uno::UNO_QUERY_THROW); css::uno::Reference<css::lang::XMultiServiceFactory> xMSF(getTextDocument(),
css::uno::UNO_QUERY_THROW);
xTextContent->attach(xTextRange); css::uno::Reference<css::text::XDocumentIndex> xDocumentIndex(
xMSF->createInstance("com.sun.star.text.DocumentIndex"), css::uno::UNO_QUERY_THROW);
xDocumentIndex->attach(xTextCursor);
} }
void testGetAnchor() void testGetAnchor()
{ {
auto map = init(); css::uno::Reference<css::text::XTextContent> xTextContent(init(),
css::uno::Reference<css::text::XTextContent> xTextContent(map["text::XTextContent"],
css::uno::UNO_QUERY_THROW); css::uno::UNO_QUERY_THROW);
CPPUNIT_ASSERT_EQUAL(OUString(""), xTextContent->getAnchor()->getString()); CPPUNIT_ASSERT_EQUAL(OUString(""), xTextContent->getAnchor()->getString());
} }
......
...@@ -1394,7 +1394,7 @@ void SwXDocumentSettings::_postGetValues () ...@@ -1394,7 +1394,7 @@ void SwXDocumentSettings::_postGetValues ()
// XServiceInfo // XServiceInfo
OUString SAL_CALL SwXDocumentSettings::getImplementationName( ) OUString SAL_CALL SwXDocumentSettings::getImplementationName( )
{ {
return OUString("com.sun.star.comp.Writer.DocumentSettings"); return OUString("SwXDocumentSettings");
} }
sal_Bool SAL_CALL SwXDocumentSettings::supportsService( const OUString& ServiceName ) sal_Bool SAL_CALL SwXDocumentSettings::supportsService( const OUString& ServiceName )
......
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