use of org.mvel2.tests.core.res.Foo in project mvel by mikebrock.
the class WithTests method testExecuteCoercionTwice.
public void testExecuteCoercionTwice() {
OptimizerFactory.setDefaultOptimizer("reflective");
Map<String, Object> vars = new HashMap<String, Object>();
vars.put("foo", new Foo());
vars.put("$value", new Long(5));
ExpressionCompiler compiler = new ExpressionCompiler("with (foo) { countTest = $value };");
ParserContext ctx = new ParserContext();
ctx.setSourceFile("test.mv");
ctx.setDebugSymbols(true);
CompiledExpression compiled = compiler.compile(ctx);
executeExpression(compiled, null, vars);
executeExpression(compiled, null, vars);
}
use of org.mvel2.tests.core.res.Foo in project mvel by mikebrock.
the class WithTests method testWith5.
public void testWith5() {
String expr = "with (foo) { countTest += 5, \n" + "// foobar!\n" + "aValue = 'Hello',\n" + "/** Comment! **/\n" + "bValue = 'Goodbye'\n }; with (foo) { countTest *= 2 }; foo";
Map vars = createTestMap();
assertEquals(true, MVEL.eval(expr, vars) instanceof Foo);
Foo foo = (Foo) test(expr);
assertEquals(10, foo.getCountTest());
assertEquals("Hello", foo.aValue);
assertEquals("Goodbye", foo.bValue);
}
use of org.mvel2.tests.core.res.Foo in project mvel by mikebrock.
the class WithTests method testExecuteCoercionTwice2.
public void testExecuteCoercionTwice2() {
OptimizerFactory.setDefaultOptimizer("ASM");
Map<String, Object> vars = new HashMap<String, Object>();
vars.put("foo", new Foo());
vars.put("$value", new Long(5));
ExpressionCompiler compiler = new ExpressionCompiler("with (foo) { countTest = $value };");
ParserContext ctx = new ParserContext();
ctx.setSourceFile("test.mv");
ctx.setDebugSymbols(true);
CompiledExpression compiled = compiler.compile(ctx);
executeExpression(compiled, null, vars);
executeExpression(compiled, null, vars);
}
use of org.mvel2.tests.core.res.Foo in project mvel by mikebrock.
the class WithTests method testInlineWith5.
public void testInlineWith5() {
OptimizerFactory.setDefaultOptimizer("ASM");
ParserContext pCtx = new ParserContext();
pCtx.setStrongTyping(true);
pCtx.addInput("foo", Foo.class);
CompiledExpression expr = new ExpressionCompiler("foo.{name='poopy', aValue='bar'}").compile(pCtx);
Foo f = (Foo) executeExpression(expr, createTestMap());
assertEquals("poopy", f.getName());
assertEquals("bar", f.aValue);
}
use of org.mvel2.tests.core.res.Foo in project mvel by mikebrock.
the class WithTests method testWithMultipleMethodCalls.
public void testWithMultipleMethodCalls() {
ParserContext ctx = ParserContext.create().stronglyTyped().withInput("foo", Foo.class);
MVEL.compileExpression("with (foo) { setName('foo'), setBar(null) }", ctx);
}
Aggregations