diff options
Diffstat (limited to 'framework/qa/complex/path_substitution/PathSubstitutionTest.java')
-rwxr-xr-x | framework/qa/complex/path_substitution/PathSubstitutionTest.java | 229 |
1 files changed, 152 insertions, 77 deletions
diff --git a/framework/qa/complex/path_substitution/PathSubstitutionTest.java b/framework/qa/complex/path_substitution/PathSubstitutionTest.java index 88877d8c76..23eea8da42 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(); } |