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 --- qadevOOo/tests/java/ifc/sdbc/_XRowSet.java | 192 +++++++++++++++++++++++++++++ 1 file changed, 192 insertions(+) create mode 100644 qadevOOo/tests/java/ifc/sdbc/_XRowSet.java (limited to 'qadevOOo/tests/java/ifc/sdbc/_XRowSet.java') diff --git a/qadevOOo/tests/java/ifc/sdbc/_XRowSet.java b/qadevOOo/tests/java/ifc/sdbc/_XRowSet.java new file mode 100644 index 000000000..cda9da30b --- /dev/null +++ b/qadevOOo/tests/java/ifc/sdbc/_XRowSet.java @@ -0,0 +1,192 @@ +/* + * 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.sdbc; + +import ifc.sdb._XRowSetApproveBroadcaster; +import lib.MultiMethodTest; +import lib.StatusException; + +import com.sun.star.lang.EventObject; +import com.sun.star.sdbc.SQLException; +import com.sun.star.sdbc.XRowSet; +import com.sun.star.sdbc.XRowSetListener; + +/** +* Testing com.sun.star.sdbc.XRowSet +* interface methods : +*

+* Required object relations : +*

+* It is better to recreate the object after test, because of unknown +* actions made by RowSetApproveChecker interface implementation. +* @see com.sun.star.sdbc.XRowSet +* @see ifc.sdb._XRowSetApproveBroadcaster +*/ +public class _XRowSet extends MultiMethodTest { + + // oObj filled by MultiMethodTest + public XRowSet oObj = null ; + private _XRowSetApproveBroadcaster.RowSetApproveChecker checker = null ; + private final TestListener listener = new TestListener() ; + + private static class TestListener implements XRowSetListener { + public boolean cursorMoved = false ; + public boolean rowChanged = false ; + public boolean rowSetChanged = false ; + + public void reset() { + cursorMoved = false ; + rowChanged = false ; + rowSetChanged = false ; + } + public void cursorMoved(EventObject ev) { + cursorMoved = true ; + } + public void rowChanged(EventObject ev) { + rowChanged = true ; + } + public void rowSetChanged(EventObject ev) { + rowSetChanged = true ; + } + public void disposing(EventObject ev) {} + } + + /** + * Retrieves relation. + * @throw StatusException If relation not found. + */ + @Override + public void before() throws StatusException { + checker = (_XRowSetApproveBroadcaster.RowSetApproveChecker) + tEnv.getObjRelation("XRowSetApproveBroadcaster.ApproveChecker") ; + + if (checker == null) { + log.println("Required relation not found !!!") ; + throw new StatusException("Required relation not found !!!", + new NullPointerException()) ; + } + } + + /** + * Reexecutes the RowSet and checks that listener was called.

+ * Has OK status if no exceptions were raised and listener was called. + */ + public void _execute() { + requiredMethod("addRowSetListener()"); + listener.reset(); + try { + oObj.execute() ; + } catch (SQLException e) { + log.println("Exception occurred :" + e) ; + } + + tRes.tested("execute()", listener.rowSetChanged); + } + + /** + * Adds listener and calls methods moveCursor, changeRow, + * changeRowSet of the relation and then checks if appropriate + * methods of the listener were called.

+ * Has OK status if all listener methods were called. + */ + public void _addRowSetListener() { + boolean result = true ; + + oObj.addRowSetListener(listener) ; + + checker.moveCursor() ; + result &= listener.cursorMoved ; + if (!listener.cursorMoved) + log.println("cursorMoved event wasn't called") ; + listener.reset() ; + + checker.changeRow() ; + result &= listener.rowChanged ; + if (!listener.rowChanged) + log.println("rowChanged event wasn't called") ; + listener.reset() ; + + checker.changeRowSet() ; + result &= listener.rowSetChanged ; + if (!listener.rowSetChanged) + log.println("rowSetChanged event wasn't called") ; + listener.reset() ; + + tRes.tested("addRowSetListener()", result) ; + } + + /* + * Removes listener added before, and checks for no listener + * methods were called on response to rowSet manipulations.

+ * Methods to be successfully completed before : + *

+ * Has OK status if no listeners methods were called. + */ + public void _removeRowSetListener() { + requiredMethod("addRowSetListener()") ; + + boolean result = true ; + + oObj.removeRowSetListener(listener) ; + + checker.moveCursor() ; + if (listener.cursorMoved) { + log.println("cursorMoved is erroneously set"); + result = false; + } + listener.reset() ; + + checker.changeRow() ; + if (listener.rowChanged) { + log.println("rowChanged is erroneously set"); + result = false; + } + listener.reset() ; + + checker.changeRowSet() ; + if (listener.rowSetChanged) { + log.println("rowSetChanged is erroneously set"); + result = false; + } + + tRes.tested("removeRowSetListener()", result) ; + } + + /** + * Disposes test environment. + */ + @Override + public void after() { + disposeEnvironment() ; + } + +} // finish class _XRowSet + -- cgit v1.2.3