use of aQute.bnd.osgi.Macro in project bnd by bndtools.
the class MacroTest method testBasename.
public static void testBasename() {
Processor p = new Processor();
Macro m = new Macro(p);
assertEquals("biz.aQute.bndlib.tests", m.process("${basename;${dir;.project}}"));
}
use of aQute.bnd.osgi.Macro in project bnd by bndtools.
the class MacroTest method testVersion.
public static void testVersion() throws Exception {
Processor proc = new Processor();
Macro macro = new Macro(proc);
assertEquals("1.0.0", macro.process("${version;===;1.0.0}"));
assertEquals("1.0.1", macro.process("${version;==+;1.0.0}"));
assertEquals("1.1.1", macro.process("${version;=++;1.0.0}"));
assertEquals("2.1.1", macro.process("${version;+++;1.0.0}"));
assertEquals("0.1.1", macro.process("${version;-++;1.0.0}"));
assertEquals("0.1.1", macro.process("${version;-++;1.0.0}"));
assertEquals("0.0.0", macro.process("${version;---;1.1.1}"));
assertEquals("0.0", macro.process("${version;--;1.1.1}"));
assertEquals("1", macro.process("${version;=;1.1.1}"));
assertEquals("[1.1,1.2)", macro.process("[${version;==;1.1.1},${version;=+;1.1.1})"));
assertEquals("1.1", macro.process("${version;==;1.1.1}"));
assertEquals("0.1.0", macro.process("${version;=+0;0.0.1}"));
assertEquals("1.0.0", macro.process("${version;+00;0.1.1}"));
// Test implicit version
proc.setProperty("@", "1.2.3");
assertEquals("[1.2,1.3)", macro.process("[${version;==},${version;=+})"));
assertEquals("1.2", macro.process("${version;==}"));
assertEquals("1.3.0", macro.process("${version;=+0}"));
assertEquals("2.0.0", macro.process("${version;+00}"));
assertEquals(0, proc.getErrors().size());
assertEquals(0, proc.getWarnings().size());
//
// Add the S modifier. If qualifier is SNAPSHOT, it will return a
// maven version
//
assertEquals("1.2.3-SNAPSHOT", macro.process("${version;===S;1.2.3.SNAPSHOT}"));
assertEquals("1.2.3-SNAPSHOT", macro.process("${version;===s;1.2.3.SNAPSHOT}"));
assertEquals("1.2.3.SNAPSHOT", macro.process("${version;====;1.2.3.SNAPSHOT}"));
assertEquals("1.2.3-SNAPSHOT", macro.process("${version;===S;1.2.3.BUILD-SNAPSHOT}"));
assertEquals("1.2.3-SNAPSHOT", macro.process("${version;===s;1.2.3.BUILD-SNAPSHOT}"));
assertEquals("1.2.3.BUILD-SNAPSHOT", macro.process("${version;====;1.2.3.BUILD-SNAPSHOT}"));
assertEquals("1.2.3.X", macro.process("${version;===S;1.2.3.X}"));
assertEquals("1.2.3", macro.process("${version;===s;1.2.3.X}"));
assertEquals("1.2.3.X", macro.process("${version;====;1.2.3.X}"));
}
use of aQute.bnd.osgi.Macro in project bnd by bndtools.
the class MacroTest method testIf.
public static void testIf() {
Processor p = new Processor();
p.setProperty("a", "aaaa");
Macro m = new Macro(p);
assertEquals("aaaa", m.process("${if;1;$<a>}"));
assertEquals("", m.process("${if;;$<a>}"));
assertEquals("yes", m.process("${if;;$<a>;yes}"));
assertEquals("yes", m.process("${if;false;$<a>;yes}"));
}
use of aQute.bnd.osgi.Macro in project bnd by bndtools.
the class MacroTest method testToClassName.
public static void testToClassName() {
Processor p = new Processor();
Macro m = new Macro(p);
assertEquals("com.acme.test.Test", m.process("${toclassname;com/acme/test/Test.class}"));
assertEquals("Test", m.process("$<toclassname;Test.class>"));
assertEquals("Test,com.acme.test.Test", m.process("${toclassname;Test.class, com/acme/test/Test.class}"));
assertEquals("", m.process("$(toclassname;Test)"));
assertEquals("com/acme/test/Test.class", m.process("$[toclasspath;com.acme.test.Test]"));
assertEquals("Test.class", m.process("${toclasspath;Test}"));
assertEquals("Test.class,com/acme/test/Test.class", m.process("${toclasspath;Test,com.acme.test.Test}"));
}
use of aQute.bnd.osgi.Macro in project bnd by bndtools.
the class MacroTest method testGlobToRegExp.
public void testGlobToRegExp() {
Processor p = new Processor();
Macro m = p.getReplacer();
assertEquals(".*x", m.process("${glob;*x}"));
assertEquals("(?!.*x)", m.process("${glob;!*x}"));
}
Aggregations