Kaydet (Commit) c94ae402 authored tarafından Mike Kaganski's avatar Mike Kaganski

Fix sc_ddelinkobj tests

Regression from commit 63ff8602.
See thread started at
  https://lists.freedesktop.org/archives/libreoffice/2018-December/081542.html

The Application::SetName is mandatory for DDE to work; otherwise
InitializeDde() in SfxApplication::SfxApplication() fails.

DDE spreadsheet formula expects full name of the target spreadsheet,
including path.

Fixed sheet name (it's "Sheet1", not "Sheet").

Removed redundant tests (former "testRemoveRefreshListener" tests all).

Change-Id: I6299a9ec03c3657a21ad42d0ff87db25cf2be905
Reviewed-on: https://gerrit.libreoffice.org/65079
Tested-by: Jenkins
Reviewed-by: 's avatarMike Kaganski <mike.kaganski@collabora.com>
üst 7b148b0e
...@@ -23,9 +23,7 @@ class OOO_DLLPUBLIC_TEST XRefreshable ...@@ -23,9 +23,7 @@ class OOO_DLLPUBLIC_TEST XRefreshable
public: public:
virtual css::uno::Reference<css::uno::XInterface> init() = 0; virtual css::uno::Reference<css::uno::XInterface> init() = 0;
void testAddRefreshListener(); void testRefreshListener();
void testRefresh();
void testRemoveRefreshListener();
protected: protected:
~XRefreshable() {} ~XRefreshable() {}
......
...@@ -23,6 +23,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sc_ddelinkobj, \ ...@@ -23,6 +23,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sc_ddelinkobj, \
subsequenttest \ subsequenttest \
test \ test \
unotest \ unotest \
vcl \
)) ))
$(eval $(call gb_CppunitTest_set_include,sc_ddelinkobj,\ $(eval $(call gb_CppunitTest_set_include,sc_ddelinkobj,\
......
...@@ -56,9 +56,7 @@ public: ...@@ -56,9 +56,7 @@ public:
CPPUNIT_TEST(testCreateEnumeration); CPPUNIT_TEST(testCreateEnumeration);
// XRefreshable // XRefreshable
CPPUNIT_TEST(testAddRefreshListener); CPPUNIT_TEST(testRefreshListener);
CPPUNIT_TEST(testRefresh);
CPPUNIT_TEST(testRemoveRefreshListener);
CPPUNIT_TEST_SUITE_END(); CPPUNIT_TEST_SUITE_END();
......
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
#include <test/sheet/xddelink.hxx> #include <test/sheet/xddelink.hxx>
#include <test/util/xrefreshable.hxx> #include <test/util/xrefreshable.hxx>
#include <sfx2/app.hxx>
#include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/container/XIndexAccess.hpp> #include <com/sun/star/container/XIndexAccess.hpp>
#include <com/sun/star/container/XNameAccess.hpp> #include <com/sun/star/container/XNameAccess.hpp>
...@@ -55,9 +57,7 @@ public: ...@@ -55,9 +57,7 @@ public:
CPPUNIT_TEST(testSetNameThrowsException); CPPUNIT_TEST(testSetNameThrowsException);
// XRefreshable // XRefreshable
CPPUNIT_TEST(testAddRefreshListener); CPPUNIT_TEST(testRefreshListener);
CPPUNIT_TEST(testRefresh);
CPPUNIT_TEST(testRemoveRefreshListener);
CPPUNIT_TEST_SUITE_END(); CPPUNIT_TEST_SUITE_END();
...@@ -67,7 +67,9 @@ private: ...@@ -67,7 +67,9 @@ private:
ScDDELinkObj::ScDDELinkObj() ScDDELinkObj::ScDDELinkObj()
: CalcUnoApiTest("/sc/qa/extras/testdocuments") : CalcUnoApiTest("/sc/qa/extras/testdocuments")
, XNamed("soffice|ScDDELinksObj.ods!Sheet.A1") , XNamed("soffice|"
+ m_directories.getURLFromSrc("/sc/qa/unoapi/testdocuments/ScDDELinksObj.ods")
+ "!Sheet1.A1")
{ {
} }
...@@ -79,10 +81,13 @@ uno::Reference<uno::XInterface> ScDDELinkObj::init() ...@@ -79,10 +81,13 @@ uno::Reference<uno::XInterface> ScDDELinkObj::init()
uno::Reference<container::XIndexAccess> xIA(xSheets, UNO_QUERY_THROW); uno::Reference<container::XIndexAccess> xIA(xSheets, UNO_QUERY_THROW);
uno::Reference<sheet::XSpreadsheet> xSheet(xIA->getByIndex(0), UNO_QUERY_THROW); uno::Reference<sheet::XSpreadsheet> xSheet(xIA->getByIndex(0), UNO_QUERY_THROW);
xSheet->getCellByPosition(5, 5)->setFormula( const OUString testdoc
"=DDE(\"soffice\";\"ScDDELinksObj.ods\";\"Sheet.A1\""); = m_directories.getURLFromSrc("/sc/qa/unoapi/testdocuments/ScDDELinksObj.ods");
xSheet->getCellByPosition(1, 4)->setFormula(
"=DDE(\"soffice\";\"ScDDELinksObj.ods\";\"Sheet.A1\""); xSheet->getCellByPosition(5, 5)->setFormula("=DDE(\"soffice\";\"" + testdoc
+ "\";\"Sheet1.A1\")");
xSheet->getCellByPosition(1, 4)->setFormula("=DDE(\"soffice\";\"" + testdoc
+ "\";\"Sheet1.A1\")");
uno::Reference<beans::XPropertySet> xPropSet(xDoc, UNO_QUERY_THROW); uno::Reference<beans::XPropertySet> xPropSet(xDoc, UNO_QUERY_THROW);
uno::Any aDDELinks = xPropSet->getPropertyValue("DDELinks"); uno::Any aDDELinks = xPropSet->getPropertyValue("DDELinks");
...@@ -94,6 +99,7 @@ uno::Reference<uno::XInterface> ScDDELinkObj::init() ...@@ -94,6 +99,7 @@ uno::Reference<uno::XInterface> ScDDELinkObj::init()
void ScDDELinkObj::setUp() void ScDDELinkObj::setUp()
{ {
Application::SetAppName("soffice"); // Enable DDE
CalcUnoApiTest::setUp(); CalcUnoApiTest::setUp();
// create a calc document // create a calc document
mxComponent = loadFromDesktop("private:factory/scalc"); mxComponent = loadFromDesktop("private:factory/scalc");
......
...@@ -30,15 +30,15 @@ void XDDELink::testGetItem() ...@@ -30,15 +30,15 @@ void XDDELink::testGetItem()
{ {
uno::Reference<sheet::XDDELink> xLink(init(), UNO_QUERY_THROW); uno::Reference<sheet::XDDELink> xLink(init(), UNO_QUERY_THROW);
CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to execute getItem()", OUString("Sheet.A1"), CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to execute getItem()", OUString("Sheet1.A1"),
xLink->getItem()); xLink->getItem());
} }
void XDDELink::testGetTopic() void XDDELink::testGetTopic()
{ {
uno::Reference<sheet::XDDELink> xLink(init(), UNO_QUERY_THROW); uno::Reference<sheet::XDDELink> xLink(init(), UNO_QUERY_THROW);
CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to execute getTopic()", OUString("ScDDELinksObj.ods"), CPPUNIT_ASSERT_MESSAGE("Unable to execute getTopic()",
xLink->getTopic()); xLink->getTopic().endsWith("ScDDELinksObj.ods"));
} }
} // namespace apitest } // namespace apitest
......
...@@ -41,27 +41,7 @@ public: ...@@ -41,27 +41,7 @@ public:
virtual void SAL_CALL disposing(const lang::EventObject& /* xEventObj */) override {} virtual void SAL_CALL disposing(const lang::EventObject& /* xEventObj */) override {}
}; };
void XRefreshable::testAddRefreshListener() void XRefreshable::testRefreshListener()
{
uno::Reference<util::XRefreshable> xRefreshable(init(), uno::UNO_QUERY_THROW);
rtl::Reference<MockedRefreshListener> xListener = new MockedRefreshListener();
xRefreshable->addRefreshListener(uno::Reference<util::XRefreshListener>(xListener.get()));
}
void XRefreshable::testRefresh()
{
uno::Reference<util::XRefreshable> xRefreshable(init(), uno::UNO_QUERY_THROW);
rtl::Reference<MockedRefreshListener> xListener = new MockedRefreshListener();
xRefreshable->addRefreshListener(uno::Reference<util::XRefreshListener>(xListener.get()));
xRefreshable->refresh();
CPPUNIT_ASSERT(xListener->m_bListenerCalled);
}
void XRefreshable::testRemoveRefreshListener()
{ {
uno::Reference<util::XRefreshable> xRefreshable(init(), uno::UNO_QUERY_THROW); uno::Reference<util::XRefreshable> xRefreshable(init(), uno::UNO_QUERY_THROW);
......
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