diff options
Diffstat (limited to 'framework/qa/complex/path_substitution')
-rwxr-xr-x | framework/qa/complex/path_substitution/PathSubstitutionTest.java | 229 | ||||
-rwxr-xr-x | framework/qa/complex/path_substitution/makefile.mk | 83 |
2 files changed, 152 insertions, 160 deletions
diff --git a/framework/qa/complex/path_substitution/PathSubstitutionTest.java b/framework/qa/complex/path_substitution/PathSubstitutionTest.java index 27fe6410eca0..aeea9907e6bc 100755 --- a/framework/qa/complex/path_substitution/PathSubstitutionTest.java +++ b/framework/qa/complex/path_substitution/PathSubstitutionTest.java @@ -29,16 +29,26 @@ package complex.path_substitution; import com.sun.star.lang.XMultiServiceFactory; import com.sun.star.uno.UnoRuntime; import com.sun.star.util.XStringSubstitution; -import complexlib.ComplexTestCase; + import java.util.Vector; +// ---------- junit imports ----------------- +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.openoffice.test.OfficeConnection; +import static org.junit.Assert.*; +// ------------------------------------------ + /** * */ -public class PathSubstitutionTest extends ComplexTestCase { +public class PathSubstitutionTest +{ private static XMultiServiceFactory xMSF; - // all substitution variables private VariableContainer substVars = null; @@ -47,14 +57,14 @@ public class PathSubstitutionTest extends ComplexTestCase { * Right now, it's only 'checkXStringSubstitution'. * @return All test methods. */ - public String[] getTestMethodNames() { - return new String[]{"checkXStringSubstitution"}; - } - +// public String[] getTestMethodNames() { +// return new String[]{"checkXStringSubstitution"}; +// } /** * Create an array with all substitution variables */ - private void initialize() { + @Before private void initialize() + { substVars = new VariableContainer(); substVars.add("$(prog)", false, true); substVars.add("$(inst)", false, true); @@ -64,65 +74,72 @@ public class PathSubstitutionTest extends ComplexTestCase { substVars.add("$(temp)", false, true); substVars.add("$(lang)", false, false); substVars.add("$(langid)", false, false); - substVars.add("$(vlang)", false,false); + substVars.add("$(vlang)", false, false); // path won't resubstitute - substVars.add("$(path)", false,false); + substVars.add("$(path)", false, false); } /** * One actual test: as the method 'getTestMethodNames()' tells. */ - public void checkXStringSubstitution() + @Test public void checkXStringSubstitution() { - xMSF = (XMultiServiceFactory)param.getMSF(); - log.println("---- Testing the XStringSubstitution interface ----"); - log.println("Create intance of test object.\n"); + xMSF = getMSF(); + System.out.println("---- Testing the XStringSubstitution interface ----"); + System.out.println("Create intance of test object.\n"); XStringSubstitution oObj = null; - try { + try + { Object x = xMSF.createInstance( - "com.sun.star.util.PathSubstitution"); - oObj = (XStringSubstitution) - UnoRuntime.queryInterface(XStringSubstitution.class, x); - if (oObj == null) throw new com.sun.star.uno.Exception(); - } - catch(com.sun.star.uno.Exception e) { - log.println(e.getClass().getName()); - log.println("Message: " + e.getMessage()); - failed("Could not create an instance of the test object."); + "com.sun.star.util.PathSubstitution"); + oObj = UnoRuntime.queryInterface(XStringSubstitution.class, x); + if (oObj == null) + { + throw new com.sun.star.uno.Exception(); + } + } + catch (com.sun.star.uno.Exception e) + { + System.out.println(e.getClass().getName()); + System.out.println("Message: " + e.getMessage()); + fail("Could not create an instance of the test object."); return; } - initialize(); +// initialize(); - for (int i=0; i<substVars.size(); i++) { + for (int i = 0; i < substVars.size(); i++) + { String var = substVars.getVariable(i); - log.println("Testing var '" + var + "'"); - try { + System.out.println("Testing var '" + var + "'"); + try + { String substVal = oObj.getSubstituteVariableValue(var); - log.println("\tvalue '" + substVal + "'"); - substVars.putValue(i,substVal); + System.out.println("\tvalue '" + substVal + "'"); + substVars.putValue(i, substVal); // simple check: let path in a string replace String substString = var + "/additional/path"; - log.println("Substitute '"+substString+"'"); + System.out.println("Substitute '" + substString + "'"); String newValue = oObj.substituteVariables(substString, true); - log.println("Return value '"+newValue+"'"); + System.out.println("Return value '" + newValue + "'"); // 2do: better check for correct substitution - assure("Did not substitute '" - + substString+"' to '" + newValue + assertTrue("Did not substitute '" + + substString + "' to '" + newValue + "' correctly:", newValue.startsWith(substVal)); // simple check part two: //make substitution backwards if possible - if (substVars.canReSubstitute(i)) { + if (substVars.canReSubstitute(i)) + { substString = substVal + "/additional/path"; - log.println("Substitute backwards '"+substString+"'"); + System.out.println("Substitute backwards '" + substString + "'"); newValue = oObj.reSubstituteVariables(substString); - log.println("Return value '"+newValue+"'"); + System.out.println("Return value '" + newValue + "'"); // 2do: better check for correct substitution - assure("Did not reSubstitute '" + assertTrue("Did not reSubstitute '" + substString + "' to '" + newValue + "' correctly:", checkResubstitute(newValue, var)); } @@ -131,28 +148,32 @@ public class PathSubstitutionTest extends ComplexTestCase { //in middle of text works substString = "file:///starting/" + var + "/path"; - log.println("Substitute '"+substString+"'"); + System.out.println("Substitute '" + substString + "'"); newValue = oObj.substituteVariables(substString, false); - log.println("Return value '"+newValue+"'"); + System.out.println("Return value '" + newValue + "'"); boolean erg = true; - if(substVars.onlySubstituteAtBegin(i)) + if (substVars.onlySubstituteAtBegin(i)) + { // in this case it should not have worked - erg = newValue.indexOf(substVal)==-1; + erg = newValue.indexOf(substVal) == -1; + } else - erg = newValue.indexOf(substVal)!=-1; - - assure("Did not substitute '" + { + erg = newValue.indexOf(substVal) != -1; + } + assertTrue("Did not substitute '" + substString + "' to '" + newValue + "' correctly:", erg); } - catch(com.sun.star.uno.Exception e) { - log.println(e.getClass().getName()); - log.println("Message: " + e.getMessage()); - failed("Could not create an instance of the test object."); + catch (com.sun.star.uno.Exception e) + { + System.out.println(e.getClass().getName()); + System.out.println("Message: " + e.getMessage()); + fail("Could not create an instance of the test object."); return; } - log.println("Finish testing '" + var + "'\n"); + System.out.println("Finish testing '" + var + "'\n"); } // check of greedy resubstitution @@ -161,20 +182,21 @@ public class PathSubstitutionTest extends ComplexTestCase { String instPth = substVars.getValue(inst); String progPth = substVars.getValue(prog); - if (progPth.startsWith(instPth) && instPth.startsWith(progPth)) { - log.println("Greedy ReSubstitute"); + if (progPth.startsWith(instPth) && instPth.startsWith(progPth)) + { + System.out.println("Greedy ReSubstitute"); String substString = progPth + "/additional/path"; String newVal = oObj.reSubstituteVariables(substString); - log.println("String '" + substString + - "' should be resubstituted with"); - log.println("Variable '" + prog + "' instead of Variable '" + - inst + "'"); - assure("Did not reSubstitute '" + substString + System.out.println("String '" + substString + + "' should be resubstituted with"); + System.out.println("Variable '" + prog + "' instead of Variable '" + + inst + "'"); + assertTrue("Did not reSubstitute '" + substString + "' to '" + newVal + "' correctly:", newVal.startsWith(prog)); } - log.println( + System.out.println( "---- Finish testing the XStringSubstitution interface ----"); } @@ -182,65 +204,118 @@ public class PathSubstitutionTest extends ComplexTestCase { * test the resubstitution * @return true, if resubstitution is correct. */ - private boolean checkResubstitute(String subst, String original) { + private boolean checkResubstitute(String subst, String original) + { // simple: subst starts with original - if ( subst.startsWith(original) ) { + if (subst.startsWith(original)) + { return true; } - else { // hard: been resubstituted with a differernt variable. - for (int i=0; i<substVars.size(); i++) { + else + { // hard: been resubstituted with a differernt variable. + for (int i = 0; i < substVars.size(); i++) + { String var = substVars.getVariable(i); - if ( subst.startsWith(var) && original.startsWith(original)) { + if (subst.startsWith(var) && original.startsWith(original)) + { return true; } } } return false; } + /** * Class for containing the substitution variables with their * values and some information. */ - private class VariableContainer { + private class VariableContainer + { + public Vector varName; public Vector varValue; public Vector substAtBegin; public Vector resubst; - public VariableContainer() { + public VariableContainer() + { varName = new Vector(); varValue = new Vector(); substAtBegin = new Vector(); resubst = new Vector(); } - public void add(String var) { + public void add(String var) + { varName.add(var); substAtBegin.add(Boolean.TRUE); resubst.add(Boolean.TRUE); } + public void add(String var, boolean onlySubstAtBegin, - boolean canResubst) { + boolean canResubst) + { varName.add(var); this.substAtBegin.add(new Boolean(onlySubstAtBegin)); this.resubst.add(new Boolean(canResubst)); } - public void putValue(int i, String val) { + public void putValue(int i, String val) + { varValue.add(i, val); } - public int size() { return varName.size(); } - public String getVariable(int i) { return (String)varName.get(i); } - public String getValue(int i) { return (String)varName.get(i); } - public String getValue(String var) { - return (String)varValue.get(varName.indexOf(var)); + public int size() + { + return varName.size(); } - public boolean onlySubstituteAtBegin(int i) { - return ((Boolean)substAtBegin.get(i)).booleanValue(); + + public String getVariable(int i) + { + return (String) varName.get(i); } - public boolean canReSubstitute(int i) { - return ((Boolean)resubst.get(i)).booleanValue(); + + public String getValue(int i) + { + return (String) varName.get(i); } + + public String getValue(String var) + { + return (String) varValue.get(varName.indexOf(var)); + } + + public boolean onlySubstituteAtBegin(int i) + { + return ((Boolean) substAtBegin.get(i)).booleanValue(); + } + + public boolean canReSubstitute(int i) + { + return ((Boolean) resubst.get(i)).booleanValue(); + } + } + + private XMultiServiceFactory getMSF() + { + final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface(XMultiServiceFactory.class, connection.getComponentContext().getServiceManager()); + return xMSF1; + } + + // setup and close connections + @BeforeClass + public static void setUpConnection() throws Exception + { + System.out.println("setUpConnection()"); + connection.setUp(); + } + + @AfterClass + public static void tearDownConnection() + throws InterruptedException, com.sun.star.uno.Exception + { + System.out.println("tearDownConnection()"); + connection.tearDown(); } + private static final OfficeConnection connection = new OfficeConnection(); } diff --git a/framework/qa/complex/path_substitution/makefile.mk b/framework/qa/complex/path_substitution/makefile.mk deleted file mode 100755 index a266d3fa4123..000000000000 --- a/framework/qa/complex/path_substitution/makefile.mk +++ /dev/null @@ -1,83 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* - -PRJ = ..$/..$/.. -TARGET = PathSubstitution -PRJNAME = $(TARGET) -PACKAGE = complex$/path_substitution - -# --- Settings ----------------------------------------------------- -.INCLUDE: settings.mk - - -#----- compile .java files ----------------------------------------- - -JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar mysql.jar -JAVAFILES = PathSubstitutionTest.java -JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class) - -#----- make a jar from compiled files ------------------------------ - -MAXLINELENGTH = 100000 - -JARCLASSDIRS = $(PACKAGE) -JARTARGET = $(TARGET).jar -JARCOMPRESS = TRUE - -# --- Parameters for the test -------------------------------------- - -# start an office if the parameter is set for the makefile -.IF "$(OFFICE)" == "" -CT_APPEXECCOMMAND = -.ELSE -CT_APPEXECCOMMAND = -AppExecutionCommand "$(OFFICE)$/soffice -accept=socket,host=localhost,port=8100;urp;" -.ENDIF - -# test base is java complex -CT_TESTBASE = -TestBase java_complex - -# test looks something like the.full.package.TestName -CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b) - -# start the runner application -CT_APP = org.openoffice.Runner - -# --- Targets ------------------------------------------------------ - -.IF "$(depend)" == "" -ALL : ALLTAR -.ELSE -ALL: ALLDEP -.ENDIF - -.INCLUDE : target.mk - -RUN: run - -run: - +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_TEST) - |