diff options
author | Tomas O'Connor <toconnor@openoffice.org> | 2003-03-25 16:55:44 +0000 |
---|---|---|
committer | Tomas O'Connor <toconnor@openoffice.org> | 2003-03-25 16:55:44 +0000 |
commit | 6d2505eb901c07159107c97ec66830bbec840121 (patch) | |
tree | d3a9ece879902dc8ab8a83ea03a59fa50f53a7e3 /scripting | |
parent | 93b11bc7ec94ff0bc3b4a2e1fb974cf1165b6a07 (diff) |
Add test for getAllImplementations method of XScriptInfoAccess interface
Diffstat (limited to 'scripting')
4 files changed, 75 insertions, 28 deletions
diff --git a/scripting/workben/data/objdsc/drafts.com.sun.star.script.framework.storage.ScriptStorage.csv b/scripting/workben/data/objdsc/drafts.com.sun.star.script.framework.storage.ScriptStorage.csv index e55fbfc80dd1..69628462fedb 100644 --- a/scripting/workben/data/objdsc/drafts.com.sun.star.script.framework.storage.ScriptStorage.csv +++ b/scripting/workben/data/objdsc/drafts.com.sun.star.script.framework.storage.ScriptStorage.csv @@ -1,3 +1,4 @@ "ScriptStorage";"drafts::com::sun::star::script::framework::storage::XScriptInfoAccess";"getScriptLogicalNames()" "ScriptStorage";"drafts::com::sun::star::script::framework::storage::XScriptInfoAccess";"getImplementations()" +"ScriptStorage";"drafts::com::sun::star::script::framework::storage::XScriptInfoAccess";"getAllImplementations()" "ScriptStorage";"drafts::com::sun::star::script::framework::storage::XScriptStorageRefresh";"refresh()" diff --git a/scripting/workben/data/testdata/ScriptStorage.csv b/scripting/workben/data/testdata/ScriptStorage.csv index fadec6d23537..a5b4589e6f64 100644 --- a/scripting/workben/data/testdata/ScriptStorage.csv +++ b/scripting/workben/data/testdata/ScriptStorage.csv @@ -1,3 +1,4 @@ _getScriptLogicalNames;description=Try to get logical names;expected=MemoryUtils.MemUsage _getImplementations;description=Try to get a valid implementation;logicalname=script://MemoryUtils.MemUsage?location=document;expected=MemoryUtils.MemUsage +_getAllImplementations;description=Try to get all valid implementations;location=doc_with_beanshell_scripts.sxw;expected=returns-Integer,returns-String,returns-Frame _refresh;description=Try calling refresh;expected=success diff --git a/scripting/workben/ifc/scripting/ScriptingUtils.java b/scripting/workben/ifc/scripting/ScriptingUtils.java index 81104d66cbc8..4895de137073 100644 --- a/scripting/workben/ifc/scripting/ScriptingUtils.java +++ b/scripting/workben/ifc/scripting/ScriptingUtils.java @@ -2,9 +2,9 @@ * * $RCSfile: ScriptingUtils.java,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change:$Date: 2002-11-20 14:11:22 $ + * last change:$Date: 2003-03-25 17:55:43 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -75,28 +75,6 @@ public class ScriptingUtils { private XScriptStorageManager storageManager; private static ScriptingUtils utils; - public static final String USER_LOGICAL_NAME = - "script://user.jsuite.test"; - public static final String SHARE_LOGICAL_NAME = - "script://share.jsuite.test"; - public static final String DOC_LOGICAL_NAME = - "script://doc.jsuite.testMethod"; - - public static final String SCRIPT_IN_CLASSFILE_DOC_NAME = - "script_in_class_file.sxw"; - - public static final String SCRIPT_IN_JARFILE_DOC_NAME = - "script_in_jar_file.sxw"; - - public static final String DOC_WITH_ONE_SCRIPT = - "doc_with_one_script.sxw"; - - public static final String DOC_WITH_TWO_SCRIPTS = - "doc_with_two_scripts.sxw"; - - public static final String XSCRIPTCONTEXT_TEST_DOCUMENT = - "xscriptcontext_test_document.sxw"; - private ScriptingUtils() { } @@ -116,9 +94,21 @@ public class ScriptingUtils { public static void cleanShareDir() { } - public int getScriptStorageId(XMultiServiceFactory xMSF, String uri) { + public Object getScriptStorage(XMultiServiceFactory xMSF, String location) { + int id = getStorageId(xMSF, location); + return storageManager.getScriptStorage(id); + } + + public int getStorageId(XMultiServiceFactory xMSF, String location) { + + if (location.equals("share")) + return 0; + + if (location.equals("user")) + return 1; XSimpleFileAccess access = null; + String uri = util.utils.getFullTestURL(location); if (storageManager == null) { try { diff --git a/scripting/workben/ifc/scripting/_XScriptInfoAccess.java b/scripting/workben/ifc/scripting/_XScriptInfoAccess.java index e667ed519a4f..8f6499fd1a04 100644 --- a/scripting/workben/ifc/scripting/_XScriptInfoAccess.java +++ b/scripting/workben/ifc/scripting/_XScriptInfoAccess.java @@ -2,9 +2,9 @@ * * $RCSfile: _XScriptInfoAccess.java,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change:$Date: 2003-03-25 16:55:04 $ + * last change:$Date: 2003-03-25 17:55:44 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -61,7 +61,8 @@ package ifc.script.framework.storage; -import drafts.com.sun.star.script.framework.storage.XScriptStorageManager; +import ifc.script.framework.ScriptingUtils; + import drafts.com.sun.star.script.framework.storage.XScriptInfoAccess; import drafts.com.sun.star.script.framework.storage.XScriptInfo; @@ -204,4 +205,58 @@ public class _XScriptInfoAccess extends MultiMethodTest { 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; + } } |