diff options
author | Jens Carl <j.carl43@gmx.de> | 2019-04-24 21:04:10 +0000 |
---|---|---|
committer | Jens Carl <j.carl43@gmx.de> | 2019-04-25 01:21:49 +0200 |
commit | 7c88700b74346d58084b48656f1c7e28f891cf09 (patch) | |
tree | 99196c23486641cc280819af3e119d729c795ca0 | |
parent | 47e094c3b14f19fe719d4de56f1f14606efe4885 (diff) |
tdf#45904 Move TableColumn Java tests to C++
Move TableColumn Java tests to C++ for ScTableColumnObj.
Change-Id: I3f17fa1f25c2676124b56c384364e36736fac849
Reviewed-on: https://gerrit.libreoffice.org/71261
Tested-by: Jenkins
Reviewed-by: Jens Carl <j.carl43@gmx.de>
-rw-r--r-- | framework/qa/complex/api_internal/api.lst | 1 | ||||
-rw-r--r-- | include/test/table/tablecolumn.hxx | 41 | ||||
-rw-r--r-- | qadevOOo/Jar_OOoRunner.mk | 2 | ||||
-rw-r--r-- | qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableColumnObj.csv | 4 | ||||
-rw-r--r-- | qadevOOo/tests/java/ifc/table/_TableColumn.java | 64 | ||||
-rw-r--r-- | qadevOOo/tests/java/mod/_sc/ScTableColumnObj.java | 135 | ||||
-rw-r--r-- | sc/qa/extras/sctablecolumnobj.cxx | 6 | ||||
-rw-r--r-- | sc/qa/unoapi/sc_7.sce | 1 | ||||
-rw-r--r-- | test/Library_subsequenttest.mk | 1 | ||||
-rw-r--r-- | test/source/table/tablecolumn.cxx | 55 |
10 files changed, 103 insertions, 207 deletions
diff --git a/framework/qa/complex/api_internal/api.lst b/framework/qa/complex/api_internal/api.lst index 4e4166ee9835..f64d961474b4 100644 --- a/framework/qa/complex/api_internal/api.lst +++ b/framework/qa/complex/api_internal/api.lst @@ -79,7 +79,6 @@ job98=sc.ScHeaderFieldObj job99=sc.ScHeaderFieldsObj job126=sc.ScSheetLinkObj job132=sc.ScStyleObj -job134=sc.ScTableColumnObj job140=sc.XMLContentExporter job141=sc.XMLContentImporter job142=sc.XMLImporter diff --git a/include/test/table/tablecolumn.hxx b/include/test/table/tablecolumn.hxx new file mode 100644 index 000000000000..a6ea3a01b4fb --- /dev/null +++ b/include/test/table/tablecolumn.hxx @@ -0,0 +1,41 @@ +/* -*- 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/. + */ + +#pragma once + +#include <com/sun/star/uno/XInterface.hpp> +#include <com/sun/star/sheet/XSpreadsheet.hpp> + +#include <com/sun/star/uno/Reference.hxx> + +#include <test/testdllapi.hxx> + +namespace apitest +{ +class OOO_DLLPUBLIC_TEST TableColumn +{ +public: + virtual css::uno::Reference<css::uno::XInterface> init() = 0; + void setSpreadsheet(const css::uno::Reference<css::sheet::XSpreadsheet>& r_xSheet) + { + m_xSheet = r_xSheet; + } + + void testTableColumnProperties(); + +protected: + ~TableColumn() {} + +private: + css::uno::Reference<css::sheet::XSpreadsheet> m_xSheet; +}; + +} // namespace apitest + +/* 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 d235320fd5d7..4c12f9aa9994 100644 --- a/qadevOOo/Jar_OOoRunner.mk +++ b/qadevOOo/Jar_OOoRunner.mk @@ -582,7 +582,6 @@ $(eval $(call gb_Jar_add_sourcefiles,OOoRunner,\ qadevOOo/tests/java/ifc/system/_XSimpleMailClientSupplier \ qadevOOo/tests/java/ifc/system/_XSystemShellExecute \ qadevOOo/tests/java/ifc/table/_CellProperties \ - qadevOOo/tests/java/ifc/table/_TableColumn \ qadevOOo/tests/java/ifc/table/_XAutoFormattable \ qadevOOo/tests/java/ifc/table/_XCellRange \ qadevOOo/tests/java/ifc/table/_XTableChart \ @@ -967,7 +966,6 @@ $(eval $(call gb_Jar_add_sourcefiles,OOoRunner,\ qadevOOo/tests/java/mod/_sc/ScShapeObj \ qadevOOo/tests/java/mod/_sc/ScSheetLinkObj \ qadevOOo/tests/java/mod/_sc/ScStyleObj \ - qadevOOo/tests/java/mod/_sc/ScTableColumnObj \ qadevOOo/tests/java/mod/_sc/ScTableSheetObj \ qadevOOo/tests/java/mod/_sc/ScTableSheetsObj \ qadevOOo/tests/java/mod/_sc/ScTabViewObj \ diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableColumnObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableColumnObj.csv deleted file mode 100644 index 5a12a914c4c4..000000000000 --- a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableColumnObj.csv +++ /dev/null @@ -1,4 +0,0 @@ -"ScTableColumnObj";"com::sun::star::table::TableColumn";"Width" -"ScTableColumnObj";"com::sun::star::table::TableColumn";"OptimalWidth" -"ScTableColumnObj";"com::sun::star::table::TableColumn";"IsVisible" -"ScTableColumnObj";"com::sun::star::table::TableColumn";"IsStartOfNewPage" diff --git a/qadevOOo/tests/java/ifc/table/_TableColumn.java b/qadevOOo/tests/java/ifc/table/_TableColumn.java deleted file mode 100644 index b94a29017a22..000000000000 --- a/qadevOOo/tests/java/ifc/table/_TableColumn.java +++ /dev/null @@ -1,64 +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.table; - -import lib.MultiPropertyTest; -import util.ValueComparer; - -import com.sun.star.table.XCellRange; -import com.sun.star.uno.UnoRuntime; -import com.sun.star.uno.XInterface; - -/** -* Testing <code>com.sun.star.table.TableColumn</code> -* service properties : -* <ul> -* <li><code> Width</code></li> -* <li><code> OptimalWidth</code></li> -* <li><code> IsVisible</code></li> -* <li><code> IsStartOfNewPage</code></li> -* </ul> <p> -* Properties testing is automated by <code>lib.MultiPropertyTest</code>. -* @see com.sun.star.table.TableColumn -*/ -public class _TableColumn extends MultiPropertyTest { - - public void _OptimalWidth() { - boolean res = false; - try { - XInterface tObject = tEnv.getTestObject(); - XCellRange aRange = UnoRuntime.queryInterface(XCellRange.class, tObject); - aRange.getCellByPosition(0,0).setFormula("That's a pretty long text"); - Object width_before = oObj.getPropertyValue("Width"); - log.println("Before setting to optimal width: "+width_before); - oObj.setPropertyValue("OptimalWidth", Boolean.TRUE); - Object width_after = oObj.getPropertyValue("Width"); - log.println("After setting to optimal width: "+width_after); - res = ! ValueComparer.equalValue(width_before,width_after); - } catch (Exception e) { - res = false; - e.printStackTrace(log); - } - - tRes.tested("OptimalWidth",res ); - } - -} //finish class _TableColumn - - diff --git a/qadevOOo/tests/java/mod/_sc/ScTableColumnObj.java b/qadevOOo/tests/java/mod/_sc/ScTableColumnObj.java deleted file mode 100644 index 4a21e8d034d1..000000000000 --- a/qadevOOo/tests/java/mod/_sc/ScTableColumnObj.java +++ /dev/null @@ -1,135 +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 mod._sc; - -import java.io.PrintWriter; - -import lib.TestCase; -import lib.TestEnvironment; -import lib.TestParameters; -import util.SOfficeFactory; - -import com.sun.star.container.XIndexAccess; -import com.sun.star.container.XNameAccess; -import com.sun.star.lang.XComponent; -import com.sun.star.sheet.XSpreadsheet; -import com.sun.star.sheet.XSpreadsheetDocument; -import com.sun.star.sheet.XSpreadsheets; -import com.sun.star.table.XColumnRowRange; -import com.sun.star.table.XTableColumns; -import com.sun.star.uno.AnyConverter; -import com.sun.star.uno.Type; -import com.sun.star.uno.UnoRuntime; -import com.sun.star.uno.XInterface; - -/** -* Test for object which is represented by service -* <code>com.sun.star.table.TableColumn</code>. <p> -* Object implements the following interfaces : -* <ul> -* <li> <code>com::sun::star::container::XNamed</code></li> -* <li> <code>com::sun::star::table::TableColumn</code></li> -* <li> <code>com::sun::star::table::XCellRange</code></li> -* <li> <code>com::sun::star::beans::XPropertySet</code></li> -* </ul> -* @see com.sun.star.container.XNamed -* @see com.sun.star.table.TableColumn -* @see com.sun.star.table.XCellRange -* @see com.sun.star.beans.XPropertySet -* @see ifc.container._XNamed -* @see ifc.table._TableColumn -* @see ifc.table._XCellRange -* @see ifc.beans._XPropertySet -*/ -public class ScTableColumnObj extends TestCase { - private XSpreadsheetDocument xSheetDoc = null; - - /** - * Creates Spreadsheet document. - */ - @Override - protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception { - // get a soffice factory object - SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF()); - log.println( "creating a sheetdocument" ); - xSheetDoc = SOF.createCalcDoc(null); - } - - /** - * Disposes Spreadsheet document. - */ - @Override - protected void cleanup( TestParameters tParam, PrintWriter log ) { - log.println( " disposing xSheetDoc " ); - XComponent oComp = UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ; - util.DesktopTools.closeDoc(oComp); - } - - /** - * Creating a TestEnvironment for the interfaces to be tested. - * Retrieves a collection of spreadsheets from the document and takes one of - * them. Obtains the collection of columns in the range using the interface - * <code>XColumnRowRange</code>. Retrieves the column with index 10 that is - * the instance of the service <code>com.sun.star.table.TableColumn</code>. - * Object relations created : - * <ul> - * <li> <code>'setName'</code> for - * {@link ifc.container._XNamed} </li> - * <li> <code>'ValidRange'</code> for - * {@link ifc.table._XCellRange} </li> - * </ul> - * @see com.sun.star.table.XColumnRowRange - * @see com.sun.star.table.TableColumn - */ - @Override - protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception { - - XInterface oObj = null; - - // creation of the testobject here - // first we write what we are intend to do to log file - log.println("creating a test environment"); - - XSpreadsheet xSpreadsheet = null; - - XSpreadsheets xSpreadsheets = xSheetDoc.getSheets(); - XNameAccess oNames = UnoRuntime.queryInterface( XNameAccess.class, xSpreadsheets ); - xSpreadsheet = (XSpreadsheet) AnyConverter.toObject( - new Type(XSpreadsheet.class), - oNames.getByName(oNames.getElementNames()[0])); - - XColumnRowRange oColumnRowRange = UnoRuntime.queryInterface(XColumnRowRange.class, xSpreadsheet); - XTableColumns oColumns = oColumnRowRange.getColumns(); - XIndexAccess oIndexAccess = UnoRuntime.queryInterface(XIndexAccess.class, oColumns); - oObj = (XInterface) AnyConverter.toObject( - new Type(XInterface.class),oIndexAccess.getByIndex(10)); - - log.println("creating a new environment for object"); - TestEnvironment tEnv = new TestEnvironment(oObj); - - // a valid Range for XCellRange - tEnv.addObjRelation("ValidRange","K1:K1"); - - //since TableColumnsNames are fixed XNamed::setName() should always be OK - tEnv.addObjRelation("setName",Boolean.TRUE); - return tEnv; - } -} - - diff --git a/sc/qa/extras/sctablecolumnobj.cxx b/sc/qa/extras/sctablecolumnobj.cxx index 75736d6d45fc..f64b2c0b1822 100644 --- a/sc/qa/extras/sctablecolumnobj.cxx +++ b/sc/qa/extras/sctablecolumnobj.cxx @@ -10,6 +10,7 @@ #include <test/calc_unoapi_test.hxx> #include <test/beans/xpropertyset.hxx> #include <test/container/xnamed.hxx> +#include <test/table/tablecolumn.hxx> #include <test/table/xcellrange.hxx> #include <com/sun/star/container/XIndexAccess.hpp> @@ -28,6 +29,7 @@ using namespace css; namespace sc_apitest { class ScTableColumnObj : public CalcUnoApiTest, + public apitest::TableColumn, public apitest::XCellRange, public apitest::XNamed, public apitest::XPropertySet @@ -41,6 +43,9 @@ public: CPPUNIT_TEST_SUITE(ScTableColumnObj); + // TableColumn + CPPUNIT_TEST(testTableColumnProperties); + // XCellRange CPPUNIT_TEST(testGetCellByPosition); CPPUNIT_TEST(testGetCellRangeByName); @@ -113,6 +118,7 @@ uno::Reference<uno::XInterface> ScTableColumnObj::init() uno::Reference<container::XIndexAccess> xIA(xSheets, uno::UNO_QUERY_THROW); uno::Reference<sheet::XSpreadsheet> xSheet0(xIA->getByIndex(0), uno::UNO_QUERY_THROW); + setSpreadsheet(xSheet0); uno::Reference<table::XColumnRowRange> xCRR(xSheet0, uno::UNO_QUERY_THROW); uno::Reference<table::XTableColumns> xTC(xCRR->getColumns(), uno::UNO_QUERY_THROW); diff --git a/sc/qa/unoapi/sc_7.sce b/sc/qa/unoapi/sc_7.sce index 8fdce40c45c8..e88e9db49f4e 100644 --- a/sc/qa/unoapi/sc_7.sce +++ b/sc/qa/unoapi/sc_7.sce @@ -17,7 +17,6 @@ # # -o sc.ScStyleObj # # i84656 -o sc.ScTabViewObj -# -o sc.ScTableColumnObj # -o sc.ScTableSheetObj # -o sc.ScTableSheetsObj # #i89411 -o sc.XMLContentExporter diff --git a/test/Library_subsequenttest.mk b/test/Library_subsequenttest.mk index 31762106f3c0..95341a5f91f5 100644 --- a/test/Library_subsequenttest.mk +++ b/test/Library_subsequenttest.mk @@ -163,6 +163,7 @@ $(eval $(call gb_Library_add_exception_objects,subsequenttest,\ test/source/sheet/xviewpane \ test/source/sheet/xviewsplitable \ test/source/style/xstyleloader \ + test/source/table/tablecolumn \ test/source/table/tablerow \ test/source/table/xcell \ test/source/table/xcellcursor \ diff --git a/test/source/table/tablecolumn.cxx b/test/source/table/tablecolumn.cxx new file mode 100644 index 000000000000..52e688234c46 --- /dev/null +++ b/test/source/table/tablecolumn.cxx @@ -0,0 +1,55 @@ +/* -*- 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/table/tablecolumn.hxx> +#include <test/unoapi_property_testers.hxx> +#include <comphelper/types.hxx> +#include <rtl/ustring.hxx> + +#include <com/sun/star/beans/XPropertySet.hpp> +#include <com/sun/star/table/XCellRange.hpp> + +#include <com/sun/star/uno/Any.hxx> +#include <com/sun/star/uno/Reference.hxx> + +#include <cppunit/extensions/HelperMacros.h> + +using namespace css; + +namespace apitest +{ +void TableColumn::testTableColumnProperties() +{ + uno::Reference<beans::XPropertySet> xPS(init(), uno::UNO_QUERY_THROW); + + OUString aPropName; + + aPropName = "Width"; + testLongProperty(xPS, aPropName); + + // currently changing the value to false has no effect + aPropName = "OptimalWidth"; + uno::Reference<table::XCellRange> xCR(m_xSheet, uno::UNO_QUERY_THROW); + xCR->getCellByPosition(0, 0)->setFormula("That's a pretty long text."); + const sal_Int64 nWidthBefore = ::comphelper::getINT64(xPS->getPropertyValue("Width")); + xPS->setPropertyValue(aPropName, uno::makeAny(true)); + CPPUNIT_ASSERT(::comphelper::getBOOL(xPS->getPropertyValue(aPropName))); + const sal_Int64 nWidthAfter = ::comphelper::getINT64(xPS->getPropertyValue("Width")); + CPPUNIT_ASSERT(nWidthBefore != nWidthAfter); + + aPropName = "IsVisible"; + testBooleanProperty(xPS, aPropName); + + aPropName = "IsStartOfNewPage"; + testBooleanProperty(xPS, aPropName); +} + +} // namespace apitest + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ |