assertAlert(new MissingExpressionError(pos(2, 1), "'iterator' attribute", "Scala"));
assertAlert(new LoopRequiresIterableInJavaScriptError(pos(2, 1), "<gxp:loop>"));
assertNoUnexpectedAlerts();
compile("<gxp:loop var='v' type='t' js:iterator='e' />");
assertAlert(new UnknownAttributeError("<gxp:loop>", pos(2, 1), "'js:iterator' attribute"));
assertNoUnexpectedAlerts();
// both tests
compile("<gxp:loop var='v' type='t' java:iterator='e' scala:iterator='e' js:iterable='e' />");
assertNoUnexpectedAlerts();