use of org.mvel2.tests.core.res.Column in project mvel by mikebrock.
the class CompileException method generateErrorMessage.
private String generateErrorMessage() {
StringAppender appender = new StringAppender().append("[Error: " + super.getMessage() + "]\n");
int offset = appender.length();
appender.append("[Near : {... ");
offset = appender.length() - offset;
appender.append(showCodeNearError(expr, cursor)).append(" ....}]\n").append(repeatChar(' ', offset));
if (msgOffset < 0)
msgOffset = 0;
appender.append(repeatChar(' ', msgOffset)).append('^');
calcRowAndColumn();
if (lineNumber != -1) {
appender.append('\n').append("[Line: " + lineNumber + ", Column: " + (column) + "]");
}
return appender.toString();
}
use of org.mvel2.tests.core.res.Column in project mvel by mvel.
the class ArraysTests method testMultiDimensionalArrayType.
public void testMultiDimensionalArrayType() {
String str = "$c.cheeses[0][0] = new Cheese('brie', 15)";
ParserConfiguration pconf = new ParserConfiguration();
pconf.addImport(Cheese.class);
ParserContext pctx = new ParserContext(pconf);
pctx.addInput("$c", Column.class);
pctx.setStrongTyping(true);
ExecutableStatement stmt = (ExecutableStatement) MVEL.compileExpression(str, pctx);
Map<String, Object> vars = new HashMap<String, Object>();
Column c = new Column("x", 1);
c.setCheeses(new Cheese[5][5]);
vars.put("$c", c);
MVEL.executeExpression(stmt, null, vars);
assertEquals(new Cheese("brie", 15), c.getCheeses()[0][0]);
}
use of org.mvel2.tests.core.res.Column in project mvel by mvel.
the class CoreConfidenceTests method testJIRA140.
public void testJIRA140() {
ParserContext ctx = new ParserContext();
Serializable s = compileExpression("import org.mvel2.tests.core.res.*;" + "cols = new Column[] { new Column('name', 20), new Column('age', 2) };" + "grid = new Grid(new Model(cols));", ctx);
Grid g = (Grid) executeExpression(s, new HashMap());
assertEquals(g.getModel().getColumns()[0].getName(), "name");
assertEquals(g.getModel().getColumns()[0].getLength(), 20);
assertEquals(g.getModel().getColumns()[1].getName(), "age");
assertEquals(g.getModel().getColumns()[1].getLength(), 2);
}
use of org.mvel2.tests.core.res.Column in project mvel by mvel.
the class CoreConfidenceTests method testMinusOperatorWithoutSpace.
public void testMinusOperatorWithoutSpace() {
String str = "length == $c.length -1";
ParserConfiguration pconf = new ParserConfiguration();
ParserContext pctx = new ParserContext(pconf);
ExecutableStatement stmt = (ExecutableStatement) MVEL.compileExpression(str, pctx);
Column col1 = new Column("x", 0);
Column col2 = new Column("x", 0);
Map<String, Object> vars = new HashMap<String, Object>();
vars.put("$c", col2);
Boolean result = (Boolean) MVEL.executeExpression(stmt, col1, vars);
assertFalse(result);
}
use of org.mvel2.tests.core.res.Column in project mvel by mvel.
the class CompileException method generateErrorMessage.
private String generateErrorMessage() {
StringAppender appender = new StringAppender().append("[Error: " + super.getMessage() + "]\n");
int offset = appender.length();
appender.append("[Near : {... ");
offset = appender.length() - offset;
appender.append(showCodeNearError(expr, cursor)).append(" ....}]\n").append(repeatChar(' ', offset));
if (msgOffset < 0)
msgOffset = 0;
appender.append(repeatChar(' ', msgOffset)).append('^');
calcRowAndColumn();
if (evaluationContext != null) {
appender.append("\n").append("In ").append(evaluationContext);
} else if (lineNumber != -1) {
appender.append("\n").append("[Line: " + lineNumber + ", Column: " + (column) + "]");
}
return appender.toString();
}
Aggregations