From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- .../java/ifc/document/_XViewDataSupplier.java | 109 +++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 qadevOOo/tests/java/ifc/document/_XViewDataSupplier.java (limited to 'qadevOOo/tests/java/ifc/document/_XViewDataSupplier.java') diff --git a/qadevOOo/tests/java/ifc/document/_XViewDataSupplier.java b/qadevOOo/tests/java/ifc/document/_XViewDataSupplier.java new file mode 100644 index 000000000..81a92e7c3 --- /dev/null +++ b/qadevOOo/tests/java/ifc/document/_XViewDataSupplier.java @@ -0,0 +1,109 @@ +/* + * 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.document; + +import com.sun.star.beans.PropertyValue; +import com.sun.star.container.XIndexAccess; +import com.sun.star.container.XIndexContainer; +import com.sun.star.document.XViewDataSupplier; +import com.sun.star.uno.UnoRuntime; +import lib.MultiMethodTest; +import lib.Status; + +/** + * Check the XViewDataSupplier interface. + * Test idea: take the property values from the index access, change one + * property value, put this into the index access and write it back. + * Get the property value again and check that the change made it. + */ +public class _XViewDataSupplier extends MultiMethodTest { + public XViewDataSupplier oObj = null; + XIndexAccess xAccess = null; + PropertyValue[] newProps = null; + PropertyValue[] oldProps = null; + String myview = "myview1"; + + public void _getViewData() { + xAccess = oObj.getViewData(); + if (xAccess != null) { + setViewID(xAccess, myview); + } + tRes.tested("getViewData()", true); + } + + public void _setViewData() { + if (xAccess == null) { + log.println("No view data to change available"); + tRes.tested("setViewData()", Status.skipped(true)); + } + else { + // 2do: provide an own implementation of the XIndexAccess to set. + // this will work without "setViewData()", it just checks that a + // setViewData can be done. + oObj.setViewData(xAccess); + XIndexAccess xAccess2 = oObj.getViewData(); + String newView = getViewID(xAccess2); + tRes.tested("setViewData()", newView != null && newView.equals(myview)); + } + } + + private void setViewID(XIndexAccess xAccess, String value) { + XIndexContainer xIndexContainer = UnoRuntime.queryInterface(XIndexContainer.class, xAccess); + int count = xAccess.getCount(); + try { + if (count > 0) { + oldProps = (PropertyValue[])xAccess.getByIndex(0); + newProps = new PropertyValue[oldProps.length]; + for (int j=0; j 0) { + oldProps = (PropertyValue[])xAccess.getByIndex(0); + for (int j=0; j