RubyInstanceConfig config = new RubyInstanceConfig() {{
setInput(System.in); setOutput(System.out); setError(new PrintStream(err)); setObjectSpaceEnabled(false);
setTraceType(TraceType.traceTypeFor("mri"));
}};
Ruby ruby = Ruby.newInstance(config);
RubyException exception = (RubyException)runtime.getClass("NameError").newInstance(ruby.getCurrentContext(), new IRubyObject[]{ruby.newString("A message")}, Block.NULL_BLOCK);
RubyString[] lines = new RubyString[]{
RubyString.newString(ruby, "Line 1"),
RubyString.newString(ruby, "Line 2"),
};
RubyArray backtrace = RubyArray.newArray(ruby, Arrays.<IRubyObject>asList(lines));
exception.set_backtrace(backtrace);
ruby.printError(exception);
assertEquals("Line 1: A message (NameError)\n\tfrom Line 2\n", err.toString());
}