tdf#45904 Move XRefreshable Java tests to C++

Move XRefreshable Java tests to C++ for ScSheetLinkObj.

Change-Id: I8225a3eb8be903ebcf51950431a5f6810a5aaa4f
Reviewed-on: https://gerrit.libreoffice.org/69906
Tested-by: Jenkins
Reviewed-by: Jens Carl <j.carl43@gmx.de>
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinkObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinkObj.csv
index fb11276..2d72f68 100644
--- a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinkObj.csv
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinkObj.csv
@@ -1,6 +1,3 @@
"ScSheetLinkObj";"com::sun::star::util::XRefreshable";"refresh()"
"ScSheetLinkObj";"com::sun::star::util::XRefreshable";"addRefreshListener()"
"ScSheetLinkObj";"com::sun::star::util::XRefreshable";"removeRefreshListener()"
"ScSheetLinkObj";"com::sun::star::container::XNamed";"getName()"
"ScSheetLinkObj";"com::sun::star::container::XNamed";"setName()"
"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
diff --git a/sc/qa/extras/scsheetlinkobj.cxx b/sc/qa/extras/scsheetlinkobj.cxx
index fbad33a..2819c91 100644
--- a/sc/qa/extras/scsheetlinkobj.cxx
+++ b/sc/qa/extras/scsheetlinkobj.cxx
@@ -9,6 +9,8 @@

#include <test/calc_unoapi_test.hxx>
#include <test/sheet/sheetlink.hxx>
#include <test/util/xrefreshable.hxx>
#include <sfx2/app.hxx>

#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/container/XIndexAccess.hpp>
@@ -24,12 +26,12 @@
#include <com/sun/star/uno/Reference.hxx>

using namespace css;
using namespace css::uno;
using namespace com::sun::star;

namespace sc_apitest
{
class ScSheetLinkObj : public CalcUnoApiTest, public apitest::SheetLink
class ScSheetLinkObj : public CalcUnoApiTest,
                       public apitest::SheetLink,
                       public apitest::XRefreshable
{
public:
    ScSheetLinkObj();
@@ -44,6 +46,9 @@
    // SheetLink
    CPPUNIT_TEST(testSheetLinkProperties);

    // XRefreshable
    CPPUNIT_TEST(testRefreshListener);

    CPPUNIT_TEST_SUITE_END();

private:
@@ -57,18 +62,17 @@

uno::Reference<uno::XInterface> ScSheetLinkObj::init()
{
    uno::Reference<sheet::XSpreadsheetDocument> xDoc(mxComponent, UNO_QUERY_THROW);
    uno::Reference<sheet::XSpreadsheetDocument> xDoc(mxComponent, uno::UNO_QUERY_THROW);

    uno::Reference<sheet::XSpreadsheets> xSheets(xDoc->getSheets(), 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::XSpreadsheets> xSheets(xDoc->getSheets(), uno::UNO_QUERY_THROW);
    uno::Reference<container::XIndexAccess> xIA(xSheets, uno::UNO_QUERY_THROW);
    uno::Reference<sheet::XSpreadsheet> xSheet(xIA->getByIndex(0), uno::UNO_QUERY_THROW);

    uno::Reference<sheet::XSheetLinkable> xSL(xSheet, UNO_QUERY_THROW);
    OUString aFileURL;
    createFileURL("ScSheetLinkObj.ods", aFileURL);
    xSL->link(aFileURL, "Sheet1", "", "", sheet::SheetLinkMode_VALUE);
    uno::Reference<sheet::XSheetLinkable> xSL(xSheet, uno::UNO_QUERY_THROW);
    xSL->link(m_directories.getURLFromSrc("/sc/qa/extras/testdocuments/ScSheetLinkObj.ods"),
              "Sheet1", "", "", sheet::SheetLinkMode_VALUE);

    uno::Reference<beans::XPropertySet> xPropSet(xDoc, UNO_QUERY_THROW);
    uno::Reference<beans::XPropertySet> xPropSet(xDoc, uno::UNO_QUERY_THROW);
    uno::Reference<container::XNameAccess> sheetLinks;
    CPPUNIT_ASSERT(xPropSet->getPropertyValue("SheetLinks") >>= sheetLinks);
    CPPUNIT_ASSERT(sheetLinks.is());
@@ -94,7 +98,7 @@

CPPUNIT_TEST_SUITE_REGISTRATION(ScSheetLinkObj);

} // end namespace
} // namespace sc_apitest

CPPUNIT_PLUGIN_IMPLEMENT();

diff --git a/sc/qa/extras/testdocuments/ScSheetLinkObj.ods b/sc/qa/extras/testdocuments/ScSheetLinkObj.ods
new file mode 100644
index 0000000..7f09e0d
--- /dev/null
+++ b/sc/qa/extras/testdocuments/ScSheetLinkObj.ods
Binary files differ