summaryrefslogtreecommitdiff
path: root/framework/qa/complex/path_substitution/PathSubstitutionTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/qa/complex/path_substitution/PathSubstitutionTest.java')
-rwxr-xr-xframework/qa/complex/path_substitution/PathSubstitutionTest.java229
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 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();
}