summaryrefslogtreecommitdiff
path: root/scripting/workben/ifc/scripting/_XScriptInfoAccess.java
diff options
context:
space:
mode:
Diffstat (limited to 'scripting/workben/ifc/scripting/_XScriptInfoAccess.java')
-rw-r--r--scripting/workben/ifc/scripting/_XScriptInfoAccess.java228
1 files changed, 228 insertions, 0 deletions
diff --git a/scripting/workben/ifc/scripting/_XScriptInfoAccess.java b/scripting/workben/ifc/scripting/_XScriptInfoAccess.java
new file mode 100644
index 000000000000..bb26d5110dd0
--- /dev/null
+++ b/scripting/workben/ifc/scripting/_XScriptInfoAccess.java
@@ -0,0 +1,228 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+package ifc.script.framework.storage;
+
+import ifc.script.framework.ScriptingUtils;
+
+import drafts.com.sun.star.script.framework.storage.XScriptInfoAccess;
+import drafts.com.sun.star.script.framework.storage.XScriptInfo;
+
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.Exception;
+import com.sun.star.beans.XPropertySet;
+
+import java.io.PrintWriter;
+import lib.MultiMethodTest;
+import lib.StatusException;
+import lib.Parameters;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+public class _XScriptInfoAccess extends MultiMethodTest {
+
+ public XScriptInfoAccess oObj = null;
+
+ /**
+ * Retrieves object relation.
+ */
+ public void before() throws StatusException {
+ }
+
+ public void _getScriptLogicalNames() {
+ boolean result = true;
+
+ Collection c =
+ (Collection) tEnv.getObjRelation("_getScriptLogicalNames");
+
+ Iterator tests;
+
+ if (c != null) {
+ tests = c.iterator();
+
+ while (tests.hasNext()) {
+ result &= runGetScriptLogicalNamesTest((Parameters)tests.next());
+ }
+ }
+ else {
+ result = false;
+ }
+
+ tRes.tested("getScriptLogicalNames()", result);
+ }
+
+ private boolean runGetScriptLogicalNamesTest(Parameters testdata) {
+ String description = testdata.get("description");
+ String expected = testdata.get("expected");
+ String output = "";
+
+ log.println(testdata.get("description"));
+
+ // try {
+ log.println("In _XScriptInfoAccess.getScriptLogicalNames()");
+ String[] logicalNames = oObj.getScriptLogicalNames();
+
+ if (logicalNames == null)
+ output = "null";
+ else if (logicalNames.length == 0)
+ output = "empty";
+ else {
+ for (int i = 0; i < logicalNames.length; i++) {
+ if (logicalNames[i].equals(expected)) {
+ output = logicalNames[i];
+ break;
+ }
+ }
+ }
+ // }
+ // catch (com.sun.star.uno.Exception e) {
+ // log.println("Caught UNO Exception :" + e);
+ // output = "com.sun.star.uno.Exception";
+ // }
+
+ log.println("expected: " + expected + ", output: " + output);
+ if (output.equals(expected))
+ return true;
+ else
+ return false;
+ }
+
+ public void _getImplementations() {
+ boolean result = true;
+
+ Collection c =
+ (Collection) tEnv.getObjRelation("_getImplementations");
+
+ Iterator tests;
+
+ if (c != null) {
+ tests = c.iterator();
+
+ while (tests.hasNext()) {
+ result &= runGetImplementationsTest((Parameters)tests.next());
+ }
+ }
+ else {
+ result = false;
+ }
+
+ tRes.tested("getImplementations()", result);
+ }
+
+ private boolean runGetImplementationsTest(Parameters testdata) {
+ String description = testdata.get("description");
+ String logicalname = testdata.get("logicalname");
+ String expected = testdata.get("expected");
+ String output = "";
+
+ log.println(testdata.get("description"));
+
+ // performs a basic check to see if 1 match (XScriptInfo) is returned
+ // the XScriptInfo object is tested more completely in _XScriptInfo
+ // which is drive from ScriptInfo
+
+ try {
+ XScriptInfo[] impls = oObj.getImplementations(logicalname);
+
+ // should only be one match
+ if (impls == null)
+ output = "null";
+ else if (impls.length == 0)
+ output = "empty";
+ else
+ output = impls[0].getLogicalName();
+ }
+ catch (com.sun.star.uno.Exception e) {
+ log.println("Caught UNO Exception:" + e);
+ output = "com.sun.star.uno.Exception";
+ }
+
+ log.println("expected: " + expected + ", output: " + output);
+ if (output.equals(expected))
+ return true;
+ else
+ return false;
+ }
+
+ public void _getAllImplementations() {
+ boolean result = true;
+
+ Collection c =
+ (Collection) tEnv.getObjRelation("_getAllImplementations");
+
+ Iterator tests;
+
+ if (c != null) {
+ tests = c.iterator();
+
+ while (tests.hasNext()) {
+ result &= runGetAllImplementationsTest((Parameters)tests.next());
+ }
+ }
+ else {
+ result = false;
+ }
+
+ tRes.tested("getAllImplementations()", result);
+ }
+
+ private boolean runGetAllImplementationsTest(Parameters testdata) {
+ String description = testdata.get("description");
+ String location = testdata.get("location");
+ String expected = testdata.get("expected");
+ String output = "";
+
+ log.println(testdata.get("description"));
+
+ Object obj = ScriptingUtils.getDefault().getScriptStorage(
+ tParam.getMSF(), location);
+
+ XScriptInfoAccess access = (XScriptInfoAccess)
+ UnoRuntime.queryInterface(XScriptInfoAccess.class, obj);
+
+ XScriptInfo[] impls = access.getAllImplementations();
+
+ if (impls == null || impls.length == 0) {
+ output = "empty";
+ }
+ else {
+ for (int i = 0; i < impls.length - 1; i++)
+ output += impls[i].getLogicalName() + ",";
+ output += impls[impls.length - 1].getLogicalName();
+ }
+
+ log.println("expected: " + expected + ", output: " + output);
+ if (output.equals(expected))
+ return true;
+ else
+ return false;
+ }
+}