package org.mozilla.javascript.tests; import org.mozilla.javascript.Context; import org.mozilla.javascript.ContextAction; import org.mozilla.javascript.ContextFactory; /** * Misc utilities to make test code easier. * @author Marc Guillemot */ public class Utils { /** * Runs the action successively with all available optimization levels */ public static void runWithAllOptimizationLevels(final ContextAction action) { runWithOptimizationLevel(action, -1); runWithOptimizationLevel(action, 0); runWithOptimizationLevel(action, 1); } /** * Runs the provided action at the given optimization level */ public static void runWithOptimizationLevel(final ContextAction action, final int optimizationLevel) { final Context cx = new ContextFactory().enterContext(); try { cx.setOptimizationLevel(optimizationLevel); action.run(cx); } finally { Context.exit(); } } }