include/test/sheet/globalsheetsettings.hxx                            |   34 +
 qadevOOo/Jar_OOoRunner.mk                                             |    1 
 qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSpreadsheetSettings.csv |   18 
 qadevOOo/tests/java/ifc/sheet/_GlobalSheetSettings.java               |   47 --
 sc/CppunitTest_sc_spreadsheetsettingsobj.mk                           |  105 
++++
 sc/Module_sc.mk                                                       |    1 
 sc/qa/extras/scspreadsheetsettingsobj.cxx                             |   94 
++++
 test/Library_subsequenttest.mk                                        |    1 
 test/source/sheet/globalsheetsettings.cxx                             |  233 
++++++++++
 9 files changed, 468 insertions(+), 66 deletions(-)

New commits:
commit 6e31851e72520ce08e5cd2bf1f3aaa9f100a3eff
Author: Jens Carl <j.car...@gmx.de>
Date:   Tue Jan 16 08:25:25 2018 +0000

    tdf#45904 Move _GlobalSheetSettings Java tests to C++
    
    Change-Id: Icdc30eb65b10a72b66f26c0d55844b8fb433f090
    Reviewed-on: https://gerrit.libreoffice.org/47976
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Jens Carl <j.car...@gmx.de>

diff --git a/include/test/sheet/globalsheetsettings.hxx 
b/include/test/sheet/globalsheetsettings.hxx
new file mode 100644
index 000000000000..8ae2968deedc
--- /dev/null
+++ b/include/test/sheet/globalsheetsettings.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_TEST_SHEET_GLOBALSHEETSETTINGS_HXX
+#define INCLUDED_TEST_SHEET_GLOBALSHEETSETTINGS_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <test/testdllapi.hxx>
+
+namespace apitest
+{
+class OOO_DLLPUBLIC_TEST GlobalSheetSettings
+{
+public:
+    virtual css::uno::Reference<css::uno::XInterface> init() = 0;
+
+    void testGlobalSheetSettingsProperties();
+
+protected:
+    ~GlobalSheetSettings() {}
+};
+}
+
+#endif // INCLUDED_TEST_SHEET_GLOBALSHEETSETTINGS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/qadevOOo/Jar_OOoRunner.mk b/qadevOOo/Jar_OOoRunner.mk
index 227ede99d893..72f64db9f389 100644
--- a/qadevOOo/Jar_OOoRunner.mk
+++ b/qadevOOo/Jar_OOoRunner.mk
@@ -564,7 +564,6 @@ $(eval $(call gb_Jar_add_sourcefiles,OOoRunner,\
     qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryComposer \
     qadevOOo/tests/java/ifc/sdb/_XSQLErrorBroadcaster \
     qadevOOo/tests/java/ifc/sheet/_FunctionDescription \
-    qadevOOo/tests/java/ifc/sheet/_GlobalSheetSettings \
     qadevOOo/tests/java/ifc/sheet/_Shape \
     qadevOOo/tests/java/ifc/sheet/_SheetCell \
     qadevOOo/tests/java/ifc/sheet/_SheetCellRange \
diff --git 
a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSpreadsheetSettings.csv 
b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSpreadsheetSettings.csv
index e7f234204af5..63db656f8011 100644
--- a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSpreadsheetSettings.csv
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSpreadsheetSettings.csv
@@ -5,21 +5,3 @@
 
"ScSpreadsheetSettings";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
 
"ScSpreadsheetSettings";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
 
"ScSpreadsheetSettings";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"MoveSelection"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"MoveDirection"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"EnterEdit"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"ExtendFormat"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"RangeFinder"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"ExpandReferences"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"MarkHeader"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"UseTabCol"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"Metric"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"Scale"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"DoAutoComplete"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"StatusBarFunction"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"UserLists"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"LinkUpdateMode#optional"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"PrintAllSheets#optional"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"PrintEmptyPages#optional"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"UsePrinterMetrics#optional"
-"ScSpreadsheetSettings";"com::sun::star::sheet::GlobalSheetSettings";"ReplaceCellsWarning#optional"
diff --git a/qadevOOo/tests/java/ifc/sheet/_GlobalSheetSettings.java 
b/qadevOOo/tests/java/ifc/sheet/_GlobalSheetSettings.java
deleted file mode 100644
index f0768b82eb0f..000000000000
--- a/qadevOOo/tests/java/ifc/sheet/_GlobalSheetSettings.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package ifc.sheet;
-
-import lib.MultiPropertyTest;
-
-/**
-* Testing <code>com.sun.star.sheet.GlobalSheetSettings</code>
-* service properties :
-* <ul>
-*  <li><code> MoveSelection</code></li>
-*  <li><code> MoveDirection</code></li>
-*  <li><code> EnterEdit</code></li>
-*  <li><code> ExtendFormat</code></li>
-*  <li><code> RangeFinder</code></li>
-*  <li><code> ExpandReferences</code></li>
-*  <li><code> MarkHeader</code></li>
-*  <li><code> UseTabCol</code></li>
-*  <li><code> Metric</code></li>
-*  <li><code> Scale</code></li>
-*  <li><code> DoAutoComplete</code></li>
-*  <li><code> StatusBarFunction</code></li>
-*  <li><code> UserLists</code></li>
-* </ul> <p>
-* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
-* @see com.sun.star.sheet.GlobalSheetSettings
-*/
-public class _GlobalSheetSettings extends MultiPropertyTest {
-}
-
-
diff --git a/sc/CppunitTest_sc_spreadsheetsettingsobj.mk 
b/sc/CppunitTest_sc_spreadsheetsettingsobj.mk
new file mode 100644
index 000000000000..bb658b1b2074
--- /dev/null
+++ b/sc/CppunitTest_sc_spreadsheetsettingsobj.mk
@@ -0,0 +1,105 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#*************************************************************************
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+#*************************************************************************
+
+$(eval $(call gb_CppunitTest_CppunitTest,sc_spreadsheetsettingsobj))
+
+$(eval $(call 
gb_CppunitTest_use_external,sc_spreadsheetsettingsobj,boost_headers))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,sc_spreadsheetsettingsobj, \
+       sc/qa/extras/scspreadsheetsettingsobj \
+))
+
+$(eval $(call gb_CppunitTest_use_libraries,sc_spreadsheetsettingsobj, \
+       basegfx \
+       comphelper \
+       cppu \
+       cppuhelper \
+       drawinglayer \
+       editeng \
+       for \
+       forui \
+       i18nlangtag \
+       msfilter \
+       oox \
+       sal \
+       salhelper \
+       sax \
+       sb \
+       sc \
+       sfx \
+       sot \
+       subsequenttest \
+       svl \
+       svt \
+       svx \
+       svxcore \
+       test \
+       tk \
+       tl \
+       ucbhelper \
+       unotest \
+       utl \
+       vbahelper \
+       vcl \
+       xo \
+))
+
+$(eval $(call gb_CppunitTest_set_include,sc_spreadsheetsettingsobj,\
+       -I$(SRCDIR)/sc/source/ui/inc \
+       -I$(SRCDIR)/sc/inc \
+       $$(INCLUDE) \
+))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,sc_spreadsheetsettingsobj))
+
+$(eval $(call gb_CppunitTest_use_ure,sc_spreadsheetsettingsobj))
+$(eval $(call gb_CppunitTest_use_vcl,sc_spreadsheetsettingsobj))
+
+$(eval $(call gb_CppunitTest_use_components,sc_spreadsheetsettingsobj,\
+       basic/util/sb \
+       comphelper/util/comphelp \
+       configmgr/source/configmgr \
+       dbaccess/util/dba \
+       filter/source/config/cache/filterconfig1 \
+       filter/source/storagefilterdetect/storagefd \
+       forms/util/frm \
+       framework/util/fwk \
+       i18npool/util/i18npool \
+       linguistic/source/lng \
+       oox/util/oox \
+       package/source/xstor/xstor \
+       package/util/package2 \
+       sax/source/expatwrap/expwrap \
+       scripting/source/basprov/basprov \
+       scripting/util/scriptframe \
+       sc/util/sc \
+       sc/util/scd \
+       sc/util/scfilt \
+       $(call gb_Helper_optional,SCRIPTING, \
+               sc/util/vbaobj) \
+       sfx2/util/sfx \
+       sot/util/sot \
+       svl/source/fsstor/fsstorage \
+       toolkit/util/tk \
+       ucb/source/core/ucb1 \
+       ucb/source/ucp/file/ucpfile1 \
+       ucb/source/ucp/tdoc/ucptdoc1 \
+       unotools/util/utl \
+       unoxml/source/rdf/unordf \
+       unoxml/source/service/unoxml \
+       uui/util/uui \
+       xmloff/util/xo \
+       svtools/util/svt \
+))
+
+$(eval $(call gb_CppunitTest_use_configuration,sc_spreadsheetsettingsobj))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sc/Module_sc.mk b/sc/Module_sc.mk
index 81214ee5c5ef..9015f886187f 100644
--- a/sc/Module_sc.mk
+++ b/sc/Module_sc.mk
@@ -151,6 +151,7 @@ $(eval $(call gb_Module_add_subsequentcheck_targets,sc,\
        CppunitTest_sc_autoformatobj \
        CppunitTest_sc_importdescriptorbaseobj \
        CppunitTest_sc_documentconfigurationobj \
+       CppunitTest_sc_spreadsheetsettingsobj \
 ))
 
 $(eval $(call gb_Module_add_perfcheck_targets,sc,\
diff --git a/sc/qa/extras/scspreadsheetsettingsobj.cxx 
b/sc/qa/extras/scspreadsheetsettingsobj.cxx
new file mode 100644
index 000000000000..7cb3e22a6f90
--- /dev/null
+++ b/sc/qa/extras/scspreadsheetsettingsobj.cxx
@@ -0,0 +1,94 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <test/calc_unoapi_test.hxx>
+#include <test/sheet/globalsheetsettings.hxx>
+
+#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
+
+#include <com/sun/star/uno/Reference.hxx>
+
+using namespace css;
+using namespace css::uno;
+using namespace com::sun::star;
+
+namespace sc_apitest
+{
+#define NUMBER_OF_TESTS 1
+
+class ScSpreadsheetSettingsObj : public CalcUnoApiTest, public 
apitest::GlobalSheetSettings
+{
+public:
+    ScSpreadsheetSettingsObj();
+
+    virtual uno::Reference<uno::XInterface> init() override;
+    virtual void setUp() override;
+    virtual void tearDown() override;
+
+    CPPUNIT_TEST_SUITE(ScSpreadsheetSettingsObj);
+
+    // GlobalSheetSettings
+    CPPUNIT_TEST(testGlobalSheetSettingsProperties);
+
+    CPPUNIT_TEST_SUITE_END();
+
+private:
+    static sal_Int32 nTest;
+    static uno::Reference<lang::XComponent> mxComponent;
+};
+
+sal_Int32 ScSpreadsheetSettingsObj::nTest = 0;
+uno::Reference<lang::XComponent> ScSpreadsheetSettingsObj::mxComponent;
+
+ScSpreadsheetSettingsObj::ScSpreadsheetSettingsObj()
+    : CalcUnoApiTest("/sc/qa/extras/testdocuments")
+{
+}
+
+uno::Reference<uno::XInterface> ScSpreadsheetSettingsObj::init()
+{
+    // create a calc document
+    if (!mxComponent.is())
+        mxComponent = loadFromDesktop("private:factory/scalc");
+
+    uno::Reference<sheet::XSpreadsheetDocument> xDoc(mxComponent, 
UNO_QUERY_THROW);
+    CPPUNIT_ASSERT_MESSAGE("no calc document", xDoc.is());
+
+    uno::Reference<lang::XMultiServiceFactory> xMSF(xDoc, UNO_QUERY_THROW);
+    return xMSF->createInstance("com.sun.star.sheet.GlobalSheetSettings");
+}
+
+void ScSpreadsheetSettingsObj::setUp()
+{
+    nTest++;
+    CPPUNIT_ASSERT(nTest <= NUMBER_OF_TESTS);
+    CalcUnoApiTest::setUp();
+}
+
+void ScSpreadsheetSettingsObj::tearDown()
+{
+    if (nTest == NUMBER_OF_TESTS)
+    {
+        closeDocument(mxComponent);
+        mxComponent.clear();
+    }
+
+    CalcUnoApiTest::tearDown();
+}
+
+CPPUNIT_TEST_SUITE_REGISTRATION(ScSpreadsheetSettingsObj);
+
+} // end namespace
+
+CPPUNIT_PLUGIN_IMPLEMENT();
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/test/Library_subsequenttest.mk b/test/Library_subsequenttest.mk
index fd771e86495d..7b2a550b42bc 100644
--- a/test/Library_subsequenttest.mk
+++ b/test/Library_subsequenttest.mk
@@ -49,6 +49,7 @@ $(eval $(call 
gb_Library_add_exception_objects,subsequenttest,\
        test/source/sheet/datapilotfield \
        test/source/sheet/datapilotitem \
        test/source/sheet/documentsettings \
+       test/source/sheet/globalsheetsettings \
        test/source/sheet/scenario \
        test/source/sheet/spreadsheetviewsettings \
        test/source/sheet/subtotaldescriptor \
diff --git a/test/source/sheet/globalsheetsettings.cxx 
b/test/source/sheet/globalsheetsettings.cxx
new file mode 100644
index 000000000000..d877e7c3ceab
--- /dev/null
+++ b/test/source/sheet/globalsheetsettings.cxx
@@ -0,0 +1,233 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <test/sheet/globalsheetsettings.hxx>
+
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/uno/Any.hxx>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <cppunit/extensions/HelperMacros.h>
+
+using namespace com::sun::star;
+using namespace com::sun::star::uno;
+
+namespace apitest
+{
+void GlobalSheetSettings::testGlobalSheetSettingsProperties()
+{
+    uno::Reference<beans::XPropertySet> xGlobalSheetSettings(init(), 
UNO_QUERY_THROW);
+    OUString propName;
+    uno::Any aNewValue;
+
+    propName = "MoveSelection";
+    bool aMoveSelection = false;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aMoveSelection);
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue MoveSelection", 
aMoveSelection);
+
+    aNewValue <<= false;
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aMoveSelection);
+    CPPUNIT_ASSERT_MESSAGE("Unable to set PropertyValue MoveSelection", 
!aMoveSelection);
+
+    propName = "MoveDirection";
+    sal_Int16 aMoveDirection = 42;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aMoveDirection);
+    CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to get PropertyValue MoveDirection", 
sal_Int16(0),
+                                 aMoveDirection);
+
+    aNewValue <<= sal_Int16(1);
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aMoveDirection);
+    CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to set PropertyValue MoveDirection", 
sal_Int16(1),
+                                 aMoveDirection);
+
+    propName = "EnterEdit";
+    bool aEnterEdit = true;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aEnterEdit);
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue EnterEdit", 
!aEnterEdit);
+
+    aNewValue <<= true;
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aEnterEdit);
+    CPPUNIT_ASSERT_MESSAGE("Unable to set PropertyValue EnterEdit", 
aEnterEdit);
+
+    propName = "ExtendFormat";
+    bool aExtendFormat = true;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aExtendFormat);
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue ExtendFormat", 
!aExtendFormat);
+
+    aNewValue <<= true;
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aExtendFormat);
+    CPPUNIT_ASSERT_MESSAGE("Unable to set PropertyValue ExtendFormat", 
aExtendFormat);
+
+    propName = "RangeFinder";
+    bool aRangeFinder = false;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aRangeFinder);
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue RangeFinder", 
aRangeFinder);
+
+    aNewValue <<= false;
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aRangeFinder);
+    CPPUNIT_ASSERT_MESSAGE("Unable to set PropertyValue RangeFinder", 
!aRangeFinder);
+
+    propName = "ExpandReferences";
+    bool aExpandReferences = true;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aExpandReferences);
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue ExpandReferences", 
!aExpandReferences);
+
+    aNewValue <<= true;
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aExpandReferences);
+    CPPUNIT_ASSERT_MESSAGE("Unable to set PropertyValue ExpandReferences", 
aExpandReferences);
+
+    propName = "MarkHeader";
+    bool aMarkHeader = false;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aMarkHeader);
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue MarkHeader", 
aMarkHeader);
+
+    aNewValue <<= false;
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aMarkHeader);
+    CPPUNIT_ASSERT_MESSAGE("Unable to set PropertyValue MarkHeader", 
!aMarkHeader);
+
+    propName = "UseTabCol";
+    bool aUseTabCol = true;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aUseTabCol);
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue UseTabCol", 
!aUseTabCol);
+
+    aNewValue <<= true;
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aUseTabCol);
+    CPPUNIT_ASSERT_MESSAGE("Unable to set PropertyValue UseTabCol", 
aUseTabCol);
+
+    propName = "Metric";
+    sal_Int16 aMetric = 42;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aMetric);
+    CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to get PropertyValue Metric", 
sal_Int16(8), aMetric);
+
+    aNewValue <<= sal_Int16(1);
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aMetric);
+    CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to set PropertyValue Metric", 
sal_Int16(1), aMetric);
+
+    propName = "Scale";
+    sal_Int16 aScale = 42;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aScale);
+    CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to get PropertyValue Scale", 
sal_Int16(100), aScale);
+
+    aNewValue <<= sal_Int16(-1);
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aScale);
+    CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to set PropertyValue Scale", 
sal_Int16(-1), aScale);
+
+    propName = "DoAutoComplete";
+    bool aDoAutoComplete = false;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aDoAutoComplete);
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue DoAutoComplete", 
aDoAutoComplete);
+
+    aNewValue <<= false;
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aDoAutoComplete);
+    CPPUNIT_ASSERT_MESSAGE("Unable to set PropertyValue DoAutoComplete", 
!aDoAutoComplete);
+
+    propName = "StatusBarFunction";
+    sal_Int16 aStatusBarFunction = 42;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aStatusBarFunction);
+    CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to get PropertyValue 
StatusBarFunction", sal_Int16(514),
+                                 aStatusBarFunction);
+
+    aNewValue <<= sal_Int16(1);
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aStatusBarFunction);
+    CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to set PropertyValue 
StatusBarFunction", sal_Int16(1),
+                                 aStatusBarFunction);
+
+    propName = "UserLists";
+    uno::Sequence<OUString> aSeq(6);
+    aSeq[0] = "Sun,Mon,Tue,Wed,Thu,Fri,Sat";
+    aSeq[1] = "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday";
+    aSeq[2] = "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec";
+    aSeq[3]
+        = 
"January,February,March,April,May,June,July,August,September,October,November,December";
+    aSeq[4] = "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Shabbat";
+    aSeq[5] = 
"Nissan,Iyar,Sivan,Tammuz,Av,Elul,Tishri,Heshvan,Kislev,Tevet,Shevat,Adar,Adar 
B";
+
+    uno::Sequence<OUString> aUserLists;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aUserLists);
+    for (auto i = 0; i < aUserLists.getLength(); i++)
+    {
+        CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to get PropertyValue UserLists[" 
+ std::to_string(i)
+                                         + "]",
+                                     aSeq[i], aUserLists[i]);
+    }
+
+    aNewValue <<= uno::Sequence<OUString>();
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aUserLists);
+    CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to set PropertyValue UserLists", 
sal_Int32(0),
+                                 aUserLists.getLength());
+
+    propName = "LinkUpdateMode";
+    sal_Int16 aLinkUpdateMode = 42;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aLinkUpdateMode);
+    CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to get PropertyValue LinkUpdateMode", 
sal_Int16(2),
+                                 aLinkUpdateMode);
+
+    aNewValue <<= sal_Int16(1);
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aLinkUpdateMode);
+    CPPUNIT_ASSERT_EQUAL_MESSAGE("Unable to set PropertyValue LinkUpdateMode", 
sal_Int16(1),
+                                 aLinkUpdateMode);
+
+    propName = "PrintAllSheets";
+    bool aPrintAllSheets = true;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aPrintAllSheets);
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue PrintAllSheets", 
!aPrintAllSheets);
+
+    aNewValue <<= true;
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aPrintAllSheets);
+    CPPUNIT_ASSERT_MESSAGE("Unable to set PropertyValue PrintAllSheets", 
aPrintAllSheets);
+
+    propName = "PrintEmptyPages";
+    bool aPrintEmptyPages = true;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aPrintEmptyPages);
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue PrintEmptyPages", 
!aPrintEmptyPages);
+
+    aNewValue <<= true;
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aPrintEmptyPages);
+    CPPUNIT_ASSERT_MESSAGE("Unable to set PropertyValue PrintEmptyPages", 
aPrintEmptyPages);
+
+    propName = "UsePrinterMetrics";
+    bool aUsePrinterMetrics = true;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aUsePrinterMetrics);
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue UsePrinterMetrics", 
!aUsePrinterMetrics);
+
+    aNewValue <<= true;
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aUsePrinterMetrics);
+    CPPUNIT_ASSERT_MESSAGE("Unable to set PropertyValue UsePrinterMetrics", 
aUsePrinterMetrics);
+
+    propName = "ReplaceCellsWarning";
+    bool aReplaceCellsWarning = false;
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aReplaceCellsWarning);
+    CPPUNIT_ASSERT_MESSAGE("Unable to get PropertyValue ReplaceCellsWarning", 
aReplaceCellsWarning);
+
+    aNewValue <<= false;
+    xGlobalSheetSettings->setPropertyValue(propName, aNewValue);
+    CPPUNIT_ASSERT(xGlobalSheetSettings->getPropertyValue(propName) >>= 
aReplaceCellsWarning);
+    CPPUNIT_ASSERT_MESSAGE("Unable to set PropertyValue ReplaceCellsWarning",
+                           !aReplaceCellsWarning);
+}
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to