public void testSplit() { ValueHolder<String> value = new Constant<String>("buckminster.tigris.org:/cvs"); // $NON-NLS-1$ String fmtString = "First \"{0}\", second \"{1}\", third \"{2}\", and fourth \"{3}\""; //$NON-NLS-1$ Format fmt = new Format(fmtString); Split split = new Split("\\.|:", 0); // $NON-NLS-1$ split.addValueHolder(value); fmt.addValueHolder(split); String expected = new MessageFormat(fmtString) .format( new String[] { "buckminster", //$NON-NLS-1$ "tigris", "org", "/cvs" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ IProperties<String> props = BMProperties.getSystemProperties(); String result = fmt.getValue(props); log(result); assertEquals(expected, result); }
public void testSystemProperties() { Format fmt = new Format( "You are {0}, the parent of your home is {1} and you run Java version {2}"); //$NON-NLS-1$ fmt.addValueHolder(new PropertyRef<String>(String.class, "user.name")); // $NON-NLS-1$ Replace rpl1 = new Replace(); rpl1.addMatch(new Replace.Match(Pattern.quote("\\"), "/", false)); // $NON-NLS-1$ //$NON-NLS-2$ rpl1.addValueHolder(new PropertyRef<String>(String.class, "user.home")); // $NON-NLS-1$ Replace rpl2 = new Replace(); rpl2.addMatch(new Replace.Match("^(.*)/[^/]+$", "$1", false)); // $NON-NLS-1$ //$NON-NLS-2$ rpl2.addValueHolder(rpl1); fmt.addValueHolder(rpl2); fmt.addValueHolder(new PropertyRef<String>(String.class, "java.version")); // $NON-NLS-1$ IProperties<String> props = BMProperties.getSystemProperties(); String result = fmt.getValue(props); String expected = "You are " + props.get("user.name") + ", the parent of your home is " //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + (new File(props.get("user.home"))).getParent().replace('\\', '/') + " and you run Java version " //$NON-NLS-1$ //$NON-NLS-2$ + props.get("java.version"); // $NON-NLS-1$ log(result); assertEquals(expected, result); }
public void testExpressions() { ValueHolder<String> cvsRoot = new Constant<String>(":pserver:${user.name}@buckminster.tigris.org:/cvs"); // $NON-NLS-1$ String fmtString = "First \"{0}\", second \"{1}\", third \"{2}\", and fourth \"{3}\""; //$NON-NLS-1$ Format fmt = new Format(fmtString); Split split = new Split(":|@", 0); // $NON-NLS-1$ Replace rpl = new Replace(); rpl.addMatch(new Replace.Match("^:(.*)$", "$1", false)); // $NON-NLS-1$ //$NON-NLS-2$ rpl.addValueHolder(cvsRoot); split.addValueHolder(rpl); fmt.addValueHolder(split); String expected = new MessageFormat(fmtString) .format( new String[] { "pserver", //$NON-NLS-1$ System.getProperty("user.name"), "buckminster.tigris.org", "/cvs" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ IProperties<String> props = BMProperties.getSystemProperties(); String result = fmt.getValue(props); log(result); assertEquals(expected, result); }
public void testExpandingEnvVarProperties() { IProperties<String> props = new ExpandingProperties<String>(BMProperties.getSystemProperties()); props.put("env.salut", "Hello ${env_var:LOGNAME}!"); props.put("env.salut.home", "${env.salut} Your $${env_var:PATH} is ${env_var:PATH}"); String result = props.get("env.salut.home"); // $NON-NLS-1$ String expected = "Hello " + System.getenv("LOGNAME") + "! Your ${env_var:PATH} is " //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + System.getenv("PATH"); // $NON-NLS-1$ log(result); assertEquals(expected, result); }
public void testReplace() { ValueHolder<String> value = new Constant<String>("buckminster.tigris.org:/cvs"); // $NON-NLS-1$ Replace rpl = new Replace(); rpl.addMatch( new Replace.Match( "(.*)\\.tigris\\.org", "$1.eclipse.org", false)); // $NON-NLS-1$ //$NON-NLS-2$ rpl.addValueHolder(value); String expected = "buckminster.eclipse.org:/cvs"; // $NON-NLS-1$ IProperties<String> props = BMProperties.getSystemProperties(); String result = rpl.getValue(props); log(result); assertEquals(expected, result); }
public void testExpandingProperties() { IProperties<String> props = new ExpandingProperties<String>(BMProperties.getSystemProperties()); props.put("salut", "Hello ${user.name}!"); // $NON-NLS-1$ //$NON-NLS-2$ props.put( "salut.home", "${salut} Your $${user.home} is ${user.home}"); // $NON-NLS-1$ //$NON-NLS-2$ String result = props.get("salut.home"); // $NON-NLS-1$ String expected = "Hello " + System.getProperty("user.name") + "! Your ${user.home} is " //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + System.getProperty("user.home"); // $NON-NLS-1$ log(result); assertEquals(expected, result); }
public void testPropertyParser() throws Exception { IProperties<String> props = new ExpandingProperties<String>(BMProperties.getSystemProperties()); props.put("buckminster.component.target", "ant-optional"); // $NON-NLS-1$ //$NON-NLS-2$ props.put("buckminster.component.name", "org.apache.tools.ant"); // $NON-NLS-1$ //$NON-NLS-2$ props.put("buckminster.component.version", "1.7.0beta1"); // $NON-NLS-1$ //$NON-NLS-2$ DummyParser parser = new DummyParser(props); parser.parse(this.getClass().getResource("/testData/misc/valuetest.xml")); // $NON-NLS-1$ String result = props.get("maven.url"); // $NON-NLS-1$ String verboseResult = props.get("verbose.maven.url"); // $NON-NLS-1$ log(result); log(verboseResult); assertEquals( "http://www.ibiblio.org/maven/ant/jars/ant-optional-1.7.0.jar", result); // $NON-NLS-1$ assertEquals("The created URL is \"" + result + '"', verboseResult); // $NON-NLS-1$ }