UNPKG

siesta-lite

Version:

Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers

77 lines (60 loc) 2.76 kB
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>The source code</title> <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="../resources/prettify/prettify.js"></script> <style type="text/css"> .highlight { display: block; background-color: #ddd; } </style> <script type="text/javascript"> function highlight() { document.getElementById(location.hash.replace(/#/, "")).className = "highlight"; } </script> </head> <body onload="prettyPrint(); highlight();"> <pre class="prettyprint lang-js">/* Siesta 5.6.1 Copyright(c) 2009-2022 Bryntum AB https://bryntum.com/contact https://bryntum.com/products/siesta/license */ Singleton(&#39;Siesta.Project.Browser.Automation.ScriptExecutor&#39;, { has : { currentScriptExecution : null }, methods : { // trying to prevent any possibility of the mess with the script acceptScriptChunk : function (scriptId, maxMessageSize, chunk, index, isLast) { var currentScriptExecution = this.currentScriptExecution if (currentScriptExecution) { if (currentScriptExecution.id != scriptId) throw new Error(&quot;Another execution in progress&quot;) if (currentScriptExecution.maxMessageSize != maxMessageSize) throw new Error(&quot;`maxMessageSize` has changed&quot;) } else { if (index) throw new Error(&quot;Starting from non-zero chunk&quot;) this.currentScriptExecution = currentScriptExecution = new Siesta.Project.Browser.Automation.ScriptExecution({ id : scriptId, maxMessageSize : maxMessageSize }) } currentScriptExecution.addChunk(chunk, index) if (isLast) { currentScriptExecution.execute() return this.retrieveScriptResult(scriptId, 0) } else { return &quot;Chunk received successfully&quot; } }, retrieveScriptResult : function (scriptId, index) { var currentScriptExecution = this.currentScriptExecution if (!currentScriptExecution) throw new Error(&quot;No current script execution&quot;) var res = currentScriptExecution.getPartialResult(scriptId, index) if (currentScriptExecution.isDestroyed) this.currentScriptExecution = null return res } } })</pre> </body> </html>