### Question:
ScriptCommand implements ClientCommand { public boolean execute(ClientMain client, String[] args) { if (null == bindings) { initBindings(client); } if (isScriptFileCommandLine(args)) { try { CmdLineParser cmdLineParser = new CmdLineParser(); ScriptCmdLine scriptCmdLine = cmdLineParser.parse(args); bindScriptArgs(client, scriptCmdLine); executeUtilScripts(client); FileReader reader = new FileReader(scriptCmdLine.getScriptFileName()); try { return executeScriptFile(reader, client); } finally { try { reader.close(); } catch (IOException ignore) { } } } catch (FileNotFoundException e) { if (client.isInteractiveMode()) { client.getPrintWriter().println(e.getMessage()); if (log.isDebugEnabled()) { log.debug("Unable to locate script file: " + e.getMessage()); } } else { throw new CLIScriptException(e); } } catch (CommandLineParseException e) { if (client.isInteractiveMode()) { client.getPrintWriter().println("parse error: " + e.getMessage()); if (log.isDebugEnabled()) { log.debug("A parse error occurred.", e); } } else { throw new CLIScriptException(e); } } return true; } isMultilineScript = "\\".equals(args[args.length - 1]); inMultilineScript = inMultilineScript || isMultilineScript; if (!isMultilineScript && !inMultilineScript) { script = new StringBuilder(); } if (isMultilineScript) { args = Arrays.copyOfRange(args, 0, args.length - 1); } for (int i = ("exec".equals(args[0]) ? 1 : 0); i < args.length; i++) { script.append(args[i]); script.append(" "); } if (isMultilineScript) { return true; } try { Object result = client.getScriptEngine().eval(script.toString()); inMultilineScript = false; script = new StringBuilder(); if (result != null) { TabularWriter writer = new TabularWriter(client.getPrintWriter()); if (client.isInteractiveMode()) { writer.setWidth(client.getConsoleWidth()); } writer.print(result); } } catch (ScriptException e) { if (client.isInteractiveMode()) { String message = client.getUsefulErrorMessage(e); client.getPrintWriter().println(message); client.getPrintWriter().println(script); for (int i = 0; i < e.getColumnNumber(); i++) { client.getPrintWriter().print(" "); } client.getPrintWriter().println("^"); script = new StringBuilder(); inMultilineScript = false; } else { throw new CLIScriptException(e); } } client.getPrintWriter().println(); return true; }  String getPromptCommandString(); boolean execute(ClientMain client, String[] args); void initClient(ClientMain client); String getSyntax(); String getHelp(); String getDetailedHelp();  }### Answer:
@Test(enabled=false) public void executeShouldSetDefaultBindings() throws Exception { client = createClient(); cmd = new ScriptCommand(); String script = "exec var x = 1;"; String[] args = asList(script).toArray(new String[] {}); cmd.execute(client, args); assertSubjectBoundToScript(); assertManagersBoundToScript(); assertPrettyWriterBoundToScript(); assertScriptUtilsBoundToScript(); assertIsDefinedFunctionBoundToScript(); }