UNPKG

siesta-lite

Version:

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

644 lines (573 loc) 40.9 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 */ Siesta.CurrentLocale = Siesta.CurrentLocale || { &quot;Siesta.Project&quot; : { preloadHasFailed : &#39;Preload of {url} has failed&#39;, preloadHasFailedForTest : &#39;Preload of {url} has failed for test {test}&#39;, staticDeprecationWarning : &#39;You are calling static method `{methodName}` of the project class {projectClass}. Such usage is deprecated now, please switch to creation of the project class instance: `var project = new {projectClass}()`&#39;, resourceFailedToLoad : &#39;Loading of a {nodeName} resource failed&#39;, crossOriginFailed : &#39;Failed to access cross-origin page: {url}. \nIn general tests should reside on the same domain as the app itself,\nbut you can try to disable web security:\nhttps://www.bryntum.com/blog/testing-x-domain-websites-with-siesta-in-chrome/&#39; }, &quot;Siesta.Project.Browser.UI.AboutWindow&quot; : { upgradeText : &#39;Upgrade to Siesta Standard&#39;, closeText : &#39;Close&#39;, titleText : &#39;ABOUT SIESTA (v{VERSION})&#39;, bodyText : &#39;&lt;img height=&quot;35&quot; src=&quot;https://www.bryntum.com/bryntum-logo.png&quot;/&gt;&#39; + &#39;&lt;p&gt;Siesta is a JavaScript unit and functional test tool made by &lt;a target=&quot;_blank&quot; href=&quot;https://www.bryntum.com&quot;&gt;Bryntum&lt;/a&gt;. You can test any web page or JavaScript code, including Ext JS, jQuery or NodeJS. &#39; + &#39;Siesta comes in two versions: &lt;strong&gt;Lite&lt;/strong&gt; and &lt;strong&gt;Standard&lt;/strong&gt;. With Lite, you can launch your tests in the browser UI. &#39; + &#39;With the Standard version, you can also automate your tests and use the automation scripts together with tools like Puppeteer or Selenium WebDriver. &lt;/p&gt;&#39; + &#39;Siesta would not be possible without these awesome products &amp; libraries: &lt;br&gt;&#39; + &#39;&lt;ul style=&quot;padding:0 0 0 30px&quot;&gt;&#39; + &#39;&lt;li&gt;&lt;a href=&quot;http://sencha.com/extjs&quot;&gt;Ext JS&lt;/a&gt;&lt;/li&gt;&#39; + &#39;&lt;li&gt;&lt;a href=&quot;http://jquery.com&quot;&gt;jQuery&lt;/a&gt;&lt;/li&gt;&#39; + &#39;&lt;li&gt;&lt;a href=&quot;http://http://alexgorbatchev.com/SyntaxHighlighter/&quot;&gt;SyntaxHighlighter&lt;/a&gt;&lt;/li&gt;&#39; + &#39;&lt;li&gt;&lt;a href=&quot;http://joose.it/&quot;&gt;Joose&lt;/a&gt;&lt;/li&gt;&#39; + &#39;&lt;li&gt;&lt;a href=&quot;https://github.com/gotwarlost/istanbul&quot;&gt;Istanbul&lt;/a&gt;&lt;/li&gt;&#39; + &#39;&lt;/ul&gt;&#39; }, &quot;Siesta.Project.Browser.UI.AssertionGrid&quot; : { initializingText : &#39;Initializing test...&#39; }, &quot;Siesta.Project.Browser.UI.CoverageReport&quot; : { closeText : &#39;Close&#39;, showText : &#39;Show: &#39;, lowText : &#39;Low&#39;, mediumText : &#39;Med&#39;, highText : &#39;High&#39;, statementsText : &#39;Statements&#39;, branchesText : &#39;Branches&#39;, functionsText : &#39;Functions&#39;, linesText : &#39;Lines&#39;, loadingText : &quot;Loading coverage data...&quot;, loadingErrorText : &#39;Loading error&#39;, loadingErrorMessageText : &#39;Could not load the report data from this url: &#39;, globalNamespaceText : &#39;[Global namespace]&#39; }, &quot;Siesta.Project.Browser.UI.DomContainer&quot; : { title : &#39;DOM Panel&#39;, viewDocsText : &#39;View documentation for &#39;, docsUrlText : &#39;http://docs.sencha.com/{0}/apidocs/#!/api/{1}&#39; }, &quot;Siesta.Project.Browser.UI.ResultPanel&quot; : { rerunText : &#39;Run test&#39;, toggleDomVisibleText : &#39;Toggle DOM visible&#39;, viewSourceText : &#39;View source&#39;, showFailedOnlyText : &#39;Show failed only&#39;, componentInspectorText : &#39;Toggle Ext Component Inspector&#39;, eventRecorderText : &#39;Event Recorder&#39;, closeText : &#39;Close&#39; }, &quot;Siesta.Project.Browser.UI.TestGrid&quot; : { mouseSimulation : &#39;Mouse simulation&#39;, title : &#39;Test list&#39;, nameText : &#39;Name&#39;, filterTestsText : &#39;Filter tests&#39;, expandCollapseAllText : &#39;Expand / Collapse all&#39;, runCheckedText : &#39;Run checked&#39;, runFailedText : &#39;Run failed&#39;, runAllText : &#39;Run all&#39;, observerModeText : &#39;Observer mode&#39;, observerModeTooltip : &#39;Sets the `forceDOMVisible` and `runCore=sequential` globally&#39;, passText : &#39;Pass&#39;, failText : &#39;Fail&#39;, optionsText : &#39;Options...&#39;, todoPassedText : &#39;todo assertion(s) passed&#39;, todoFailedText : &#39;todo assertion(s) failed&#39;, viewDomText : &#39;View DOM&#39;, transparentExText : &#39;Transparent exceptions&#39;, transparentExTooltip : &#39;Disable internal try/catch for any exceptions from tests. Useful for debugging.&#39;, cachePreloadsText : &#39;Cache preloads&#39;, autoLaunchText : &#39;Auto launch&#39;, autoLaunchTooltip : &#39;Launch the test suite immediately after project page load.&#39;, speedRunText : &#39;Fast (still accurate)&#39;, speedRunTooltip : &#39;Reduce mouse cursor visualization quality to run tests faster&#39;, turboMode : &#39;Very fast, but inaccurate&#39;, turboModeTooltip : &#39;Sets the `mouseMovePrecision` option to `Infinity`. Read the docs before using.&#39;, breakOnFailText : &#39;Break on fail&#39;, breakOnFailTooltip : &#39;Stop the test suite on first failed assertion&#39;, debuggerOnFailText : &#39;Debugger on fail&#39;, debuggerOnFailTooltip : &#39;Issue a `debugger` statement on any failed assertion. Useful for debugging&#39;, aboutText : &#39;About Siesta&#39;, documentationText : &#39;Siesta Documentation&#39;, siestaDocsUrl : &#39;https://bryntum.com/docs/siesta&#39;, filterFieldTooltip : [ &#39;Supported patterns for tests filtering:\n&#39;, &#39;WORD - any word, will match with the test file name (no directory part)\n&#39;, &#39;WORD | WORD - any of the alternative patterns\n&#39;, &#39;GROUP &gt; TEST - first match GROUP with the group name, then TEST with tests inside that group\n&#39;, &#39;GROUP1 | GROUP2 &gt; TEST1 | TEST2 - alternation support for groups too\n&#39; ].join(&#39;&#39;), landscape : &#39;Landscape&#39; }, &quot;Siesta.Project.Browser.UI.VersionUpdateButton&quot; : { newUpdateText : &#39;New Update Available...&#39;, updateWindowTitleText : &#39;New version available for download! Current version: &#39;, cancelText : &#39;Cancel&#39;, changelogLoadFailedText : &#39;Bummer! Failed to fetch changelog.&#39;, downloadText : &#39;Download &#39;, liteText : &#39; (Lite)&#39;, standardText : &#39; (Standard)&#39;, loadingChangelogText : &#39;Loading changelog...&#39; }, &quot;Siesta.Project.Browser.UI.Viewport&quot; : { apiLinkText : &#39;API Documentation&#39;, apiLinkUrl : &#39;https://bryntum.com/docs/siesta&#39;, uncheckOthersText : &#39;Uncheck others (and check this)&#39;, uncheckAllText : &#39;Uncheck all&#39;, checkAllText : &#39;Check all&#39;, runThisText : &#39;Run this&#39;, expandAll : &#39;Expand all&#39;, collapseAll : &#39;Collapse all&#39;, filterToCurrentGroup : &#39;Filter to current group&#39;, filterToFailed : &#39;Filter to failed&#39;, httpWarningTitle : &#39;You must use a web server&#39;, httpWarningDesc : &#39;You must run Siesta in a web server context, and not using the file:/// protocol&#39;, viewSource : &#39;View source&#39; }, &quot;Siesta.Project.Browser&quot; : { codeCoverageWarningText : &quot;Can not enable code coverage - did you forget to include the `siesta-coverage-all.js` on the project page?&quot;, noJasmine : &quot;No `jasmine` object found on spec runner page&quot;, noJasmineSiestaReporter : &quot;Can&#39;t find SiestaReporter in Jasmine. \nDid you add the `siesta/bin/jasmine-siesta-reporter.js` file to your spec runner page?&quot; }, &quot;Siesta.Result.Assertion&quot; : { todoText : &#39;TODO: &#39;, passText : &#39;ok&#39;, failText : &#39;fail&#39; }, &quot;Siesta.Role.ConsoleReporter&quot; : { passText : &#39;PASS&#39;, failText : &#39;FAIL&#39;, warnText : &#39;WARN&#39;, errorText : &#39;ERROR&#39;, missingFileText : &#39;Test file [{URL}] not found.&#39;, allTestsPassedText : &#39;All tests passed&#39;, failuresFoundText : &#39;There are failures&#39; }, &quot;Siesta.Test.Action.Drag&quot; : { byOrToMissingText : &#39;Either &quot;to&quot; or &quot;by&quot; configuration option is required for &quot;drag&quot; step&#39;, byAndToDefinedText : &#39;Exactly one of &quot;to&quot; or &quot;by&quot; configuration options is required for &quot;drag&quot; step, not both&#39; }, &quot;Siesta.Test.Action.Eval&quot; : { invalidMethodNameText : &quot;Invalid method name: &quot;, wrongFormatText : &quot;Wrong format of the action string: &quot;, parseErrorText : &quot;Can&#39;t parse arguments: &quot; }, &quot;Siesta.Test.Action.Wait&quot; : { missingMethodText : &#39;Could not find a waitFor method named &#39; }, &quot;Siesta.Test.BDD.Expectation&quot; : { expectText : &#39;Expect&#39;, needNotText : &#39;Need not&#39;, needText : &#39;Need&#39;, needMatchingText : &#39;Need matching&#39;, needNotMatchingText : &#39;Need not matching&#39;, needStringNotContainingText : &#39;Need string not containing&#39;, needStringContainingText : &#39;Need string containing&#39;, needArrayNotContainingText : &#39;Need array not containing&#39;, needArrayContainingText : &#39;Need array containing&#39;, needGreaterEqualThanText : &#39;Need value greater or equal than&#39;, needGreaterThanText : &#39;Need value greater than&#39;, needLessThanText : &#39;Need value less than&#39;, needLessEqualThanText : &#39;Need value less or equal than&#39;, needValueNotCloseToText : &#39;Need value not close to&#39;, needValueCloseToText : &#39;Need value close to&#39;, toBeText : &#39;to be&#39;, toBeDefinedText : &#39;to be defined&#39;, toBeUndefinedText : &#39;to be undefined&#39;, toBeEqualToText : &#39;to be equal to&#39;, toBeTruthyText : &#39;to be truthy&#39;, toBeFalsyText : &#39;to be falsy&#39;, toMatchText : &#39;to match&#39;, toContainText : &#39;to contain&#39;, toBeLessThanText : &#39;to be less than&#39;, toBeGreaterThanText : &#39;to be greater than&#39;, toBeCloseToText : &#39;to be close to&#39;, toThrowText : &#39;to throw exception&#39;, thresholdIsText : &#39;Threshold is &#39;, exactMatchText : &#39;Exact match text&#39;, thrownExceptionText : &#39;Thrown exception&#39;, noExceptionThrownText : &#39;No exception thrown&#39;, wrongSpy : &#39;Incorrect spy instance&#39;, toHaveBeenCalledDescTpl : &#39;Expect method {methodName} to have been called {!need} times&#39;, actualNbrOfCalls : &#39;Actual number of calls&#39;, expectedNbrOfCalls : &#39;Expected number of calls&#39;, toHaveBeenCalledWithDescTpl : &#39;Expect method {methodName} to have been called at least once with the specified arguments&#39; }, &quot;Siesta.Test.ExtJS.Ajax&quot; : { ajaxIsLoading : &#39;An Ajax call is currently loading&#39;, allAjaxRequestsToComplete : &#39;all ajax requests to complete&#39;, ajaxRequest : &#39;ajax request&#39;, toComplete : &#39;to complete&#39; }, &quot;Siesta.Test.ExtJS.Component&quot; : { badInputText : &#39;Expected an Ext.Component, got&#39;, toBeVisible : &#39;to be visible&#39;, toNotBeVisible : &#39;to not be visible&#39;, component : &#39;component&#39;, Component : &#39;Component&#39;, componentQuery : &#39;componentQuery&#39;, compositeQuery : &#39;composite query&#39;, toReturnEmptyArray : &#39;to return an empty array&#39;, toReturnEmpty : &#39;to return empty&#39;, toReturnAVisibleComponent : &#39;to return a visible component&#39;, toReturnHiddenCmp : &#39;to return a hidden/missing component&#39;, invalidDestroysOkInput : &#39;No components provided, or component query returned empty result&#39;, exception : &#39;Exception&#39;, exceptionAnnotation : &#39;Exception thrown while calling &quot;destroy&quot; method of&#39;, destroyFailed : &#39;was not destroyed (probably destroy was canceled in the `beforedestroy` listener)&#39;, destroyPassed : &#39;All passed components were destroyed ok&#39; }, &quot;Siesta.Test.ExtJS.DataView&quot; : { view : &#39;view&#39;, toRender : &#39;to render&#39; }, &quot;Siesta.Test.ExtJS.Element&quot; : { top : &#39;top&#39;, left : &#39;left&#39;, bottom : &#39;bottom&#39;, right : &#39;right&#39; }, &quot;Siesta.Test.ExtJS.Grid&quot; : { waitForRowsVisible : &#39;rows to show for panel with id&#39;, waitForCellEmpty : &#39;cell to be empty&#39; }, &quot;Siesta.Test.ExtJS.Observable&quot; : { hasListenerInvalid : &#39;1st argument for `t.hasListener` should be an observable instance&#39;, hasListenerPass : &#39;Observable has listener for {eventName}&#39;, hasListenerFail : &#39;Provided observable has no listeners for event&#39;, isFiredWithSignatureNotFired : &#39;event was not fired during the test&#39;, observableFired : &#39;Observable fired&#39;, correctSignature : &#39;with correct signature&#39;, incorrectSignature : &#39;with incorrect signature&#39; }, &quot;Siesta.Test.ExtJS.Store&quot; : { storesToLoad : &#39;stores to load&#39;, failedToLoadStore : &#39;Failed to load the store&#39;, URL : &#39;URL&#39; }, &quot;Siesta.Test.Action&quot; : { missingTestAction : &#39;Action [{0}] requires `{1}` method in your test class&#39; }, &quot;Siesta.Test.BDD&quot; : { codeBodyMissing : &#39;Code body is not provided for&#39;, codeBodyOf : &#39;Code body of&#39;, missingFirstArg : &#39;does not declare a test instance as 1st argument&#39;, iitFound : &#39;t.iit should only be used during debugging&#39;, noObject : &#39;No object to spy on&#39; }, &quot;Siesta.Test.BDD.Spy&quot; : { spyingNotOnFunction : &#39;Trying to create a spy over a non-function property&#39; }, &quot;Siesta.Test.Browser&quot; : { popupsDisabled : &#39;Failed to open the popup for url: {url}. Enable the popups in the browser settings.&#39;, noDomElementFound : &#39;No DOM element found for CSS selector&#39;, noActionTargetFound : &#39;No action target found for&#39;, waitForEvent : &#39;observable to fire its&#39;, event : &#39;event&#39;, wrongFormat : &#39;Wrong format for expected number of events&#39;, unrecognizedSignature : &#39;Unrecognized signature for `firesOk`&#39;, observableFired : &#39;Observable fired&#39;, observableFiredOk : &#39;Observable fired expected number of&#39;, actualNbrEvents : &#39;Actual number of events&#39;, expectedNbrEvents : &#39;Expected number of events&#39;, events : &#39;events&#39;, noElementFound : &#39;Could not find any element at&#39;, targetElementOfAction : &#39;Target element of action&#39;, targetElementOfSomeAction : &#39;Target element of some action&#39;, isNotVisible : &#39;is not visible or not reachable&#39;, text : &#39;text&#39;, toBePresent : &#39;to be present&#39;, toNotBePresent : &#39;to not be present&#39;, target : &#39;target&#39;, toAppear : &#39;to appear&#39;, targetMoved : &#39;Moving target detected, retargeting initiated&#39;, alertMethodNotCalled : &#39;Expected a call to alert()&#39;, focusLostWarning : &#39;Focus has left the test window {url}&#39;, focusLostWarningLauncher : &#39;Focus has left the test window {url}, it will be restarted. This behavior is controled with the --restart-on-blur option.&#39; }, &quot;Siesta.Test.Date&quot; : { isEqualTo : &#39;is equal to&#39;, Got : &#39;Got&#39; }, &quot;Siesta.Test.Element&quot; : { elementContent : &#39;element content&#39;, toAppear : &#39;to appear&#39;, toDisappear : &#39;to disappear&#39;, toAppearAt : &#39;to appear at&#39;, monkeyException : &#39;Monkey testing action did not complete properly - probably an exception was thrown&#39;, monkeyNoExceptions : &#39;No exceptions thrown during monkey test&#39;, monkeyActionLog : &#39;Monkey action log&#39;, elementHasClass : &#39;Element has the CSS class&#39;, elementHasNoClass : &#39;Element has no CSS class&#39;, elementClasses : &#39;Classes of element&#39;, needClass : &#39;Need CSS class&#39;, hasStyleDescTpl : &#39;Element has correct {value} for CSS style {property}&#39;, elementStyles : &#39;Styles of element&#39;, needStyle : &#39;Need style&#39;, hasNotStyleDescTpl : &#39;Element does not have: {value} for CSS style {property}&#39;, hasTheStyle : &#39;Element has the style&#39;, element : &#39;element&#39;, toBeTopEl : &#39;to be the top element at its position&#39;, toNotBeTopEl : &#39;to not be the top element at its position&#39;, selector : &#39;selector&#39;, selectors : &#39;selectors&#39;, noCssSelector : &#39;A CSS selector must be supplied&#39;, waitForSelectorsBadInput : &#39;An array of CSS selectors must be supplied&#39;, Position : &#39;Position&#39;, noElementAtPosition : &#39;No element found at the specified position&#39;, elementIsAtDescTpl : &#39;DOM element or its child is at [ {x}, {y} ] coordinates&#39;, topElement : &#39;Top element&#39;, elementIsAtPassTpl : &#39;DOM element is at [ {x}, {y} ] coordinates&#39;, allowChildrenDesc : &#39;Need exactly this or its child&#39;, allowChildrenAnnotation : &#39;Passed element is not the top-most one and not the child of one&#39;, shouldBe : &#39;Should be&#39;, noChildrenFailAnnotation : &#39;Passed element is not the top-most one&#39;, topLeft : &#39;(t-l)&#39;, bottomLeft : &#39;(b-l)&#39;, topRight : &#39;(t-r)&#39;, bottomRight : &#39;(b-r)&#39;, elementIsNotTopElementPassTpl: &#39;Element is not the top element on the screen&#39;, selectorIsAtPassTpl : &#39;Found element matching CSS selector {selector} at [ {xy} ]&#39;, elementMatching : &#39;Element matching&#39;, selectorIsAtFailAnnotation : &#39;Passed selector does not match any selector at&#39;, selectorExistsFailTpl : &#39;No element matching the passed selector found&#39;, selectorExistsPassTpl : &#39;Found DOM element(s) matching CSS selector {selector}&#39;, selectorNotExistsFailTpl : &#39;Elements found matching the passed selector&#39;, selectorNotExistsPassTpl : &#39;Did not find any DOM element(s) matching CSS selector {selector}&#39;, toChangeForElement : &#39;to change for element&#39;, selectorCountIsPassTpl : &#39;Found exactly {count} elements matching {selector}&#39;, selectorCountIsFailTpl : &#39;Found {got} elements matching the selector {selector}, expected {need}&#39;, isInViewPassTpl : &#39;Passed element is within the visible viewport&#39;, toAppearInTheViewport : &#39;to appear in the viewport&#39;, elementIsEmptyPassTpl : &#39;Passed element is empty&#39;, elementIsNotEmptyPassTpl : &#39;Passed element is not empty&#39;, elementToBeEmpty : &#39;element to be empty&#39;, elementToNotBeEmpty : &#39;element to not be empty&#39; }, &quot;Siesta.Test.ExtJS&quot; : { bundleUrlNotFound : &#39;Cannot find Ext JS bundle url&#39;, assertNoGlobalExtOverridesInvalid : &#39;Was not able to find the Ext JS bundle URL in the `assertNoGlobalExtOverrides` assertion&#39;, assertNoGlobalExtOverridesPassTpl : &#39;No global Ext overrides found&#39;, assertNoGlobalExtOverridesGotDesc : &#39;Number of overrides found&#39;, foundOverridesFor : &#39;Found overrides for&#39;, animationsToFinalize : &#39;animations to finalize&#39;, extOverridesInvalid : &#39;Was not able to find the ExtJS bundle URL in the `assertMaxNumberOfGlobalExtOverrides` assertion)&#39;, foundLessOrEqualThan : &#39;Found less or equal than&#39;, nbrOverridesFound : &#39;Number of overrides found&#39;, globalOverrides : &#39;Ext JS global overrides&#39; }, &quot;Siesta.Test.ExtJSCore&quot; : { waitedForRequires : &#39;Waiting for required classes took too long - \nCheck the `Net` tab in Firebug and the `loaderPath` config&#39;, waitedForExt : &#39;Waiting for Ext.onReady took too long - probably some dependency could not be loaded. \nCheck the `Net` tab in Firebug and the `loaderPath` config&#39;, waitedForApp : &#39;Waiting for MVC application launch took too long - no MVC application on test page? \nYou may need to disable the `waitForAppReady` config option&#39;, noComponentMatch : &#39;Your component query: &quot;{component}&quot; returned no components&#39;, multipleComponentMatch : &#39;Your component query: &quot;{component}&quot; returned more than 1 component&#39;, noComponentFound : &#39;No component found for CQ&#39;, knownBugIn : &#39;Known bug in&#39;, Class : &#39;Class&#39;, wasLoaded : &#39;was loaded&#39;, wasNotLoaded : &#39;was not loaded&#39;, invalidCompositeQuery : &#39;Invalid composite query selector&#39;, ComponentQuery : &#39;ComponentQuery&#39;, CompositeQuery : &#39;CompositeQuery&#39;, matchedNoCmp : &#39;matched no Ext.Component&#39;, messageBoxVisible : &#39;Message box is visible&#39;, messageBoxHidden : &#39;Message box is hidden&#39;, waitedForComponentQuery : &#39;Waiting too long for Ext.ComponentQuery&#39; }, &quot;Siesta.Test.Function&quot; : { Need : &#39;need&#39;, atLeast : &#39;at least&#39;, exactly : &#39;exactly&#39;, methodCalledExactly : &#39;method was called exactly {n} times&#39;, exceptionEvalutingClass : &#39;Exception [{e}] caught while evaluating the class name&#39; }, &quot;Siesta.Test.More&quot; : { isGreaterPassTpl : &#39;`{value1}` is greater than `{value2}`&#39;, isLessPassTpl : &#39;`{value1}` is less than `{value2}`&#39;, isGreaterEqualPassTpl : &#39;`{value1}` is greater or equal to`{value2}`&#39;, isLessEqualPassTpl : &#39;`{value1}` is less or equal to`{value2}`&#39;, isApproxToPassTpl : &#39;`{value1}` is approximately equal to `{value2}`&#39;, needGreaterThan : &#39;Need greater than&#39;, needGreaterEqualTo : &#39;Need greater or equal to&#39;, needLessThan : &#39;Need less than&#39;, needLessEqualTo : &#39;Need less or equal to&#39;, exactMatch : &#39;Exact match&#39;, withinThreshold : &#39;Match within treshhold&#39;, needApprox : &#39;Need approx&#39;, thresholdIs : &#39;Threshold is&#39;, stringMatchesRe : &#39;`{string}` matches regexp {regex}&#39;, stringNotMatchesRe : &#39;`{string}` does not match regexp {regex}&#39;, needStringMatching : &#39;Need string matching&#39;, needStringNotMatching : &#39;Need string not matching&#39;, needStringContaining : &#39;Need string containing&#39;, needStringNotContaining : &#39;Need string not containing&#39;, stringHasSubstring : &#39;`{string}` has a substring: `{regex}`&#39;, stringHasNoSubstring : &#39;`{string}` does not have a substring: `{regex}`&#39;, throwsOkInvalid : &#39;throws_ok accepts a function as 1st argument&#39;, didntThrow : &#39;Function did not throw an exception&#39;, exMatchesRe : &#39;Function throws exception matching to {expected}&#39;, exceptionStringifiesTo : &#39;Exception stringifies to&#39;, exContainsSubstring : &#39;Function throws exception containing a substring: {expected}&#39;, fnDoesntThrow : &#39;Function does not throw any exceptions&#39;, fnThrew : &#39;Function threw an exception&#39;, isInstanceOfPass : &#39;Object is an instance of the specified class&#39;, needInstanceOf : &#39;Need instance of&#39;, isAString : &#39;{value} is a string&#39;, aStringValue : &#39;AStringValue&#39;, isAnObject : &#39;{value} is an object&#39;, anObject : &#39;An object value&#39;, isAnArray : &#39;{value} is an array&#39;, anArrayValue : &#39;An array value&#39;, isANumber : &#39;{value} is a number&#39;, aNumberValue : &#39;a number value&#39;, isABoolean : &#39;{value} is a boolean&#39;, aBooleanValue : &#39;a number value&#39;, isADate : &#39;{value} is a date&#39;, aDateValue : &#39;a date value&#39;, isARe : &#39;{value} is a regular expression&#39;, aReValue : &#39;a regular expression&#39;, isAFunction : &#39;{value} is a function&#39;, aFunctionValue : &#39;a function&#39;, isDeeplyPassTpl : &#39;{obj1} is deeply equal to {obj2}&#39;, isDeeplyStrictPassTpl : &#39;{obj1} is strictly deeply equal to {obj2}&#39;, globalCheckNotSupported : &#39;Testing leakage of global variables is not supported on this platform&#39;, globalVariables : &#39;Global Variables&#39;, noGlobalsFound : &#39;No unexpected global variables found&#39;, globalFound : &#39;Unexpected global found&#39;, globalName : &#39;Global name&#39;, value : &#39;value&#39;, conditionToBeFulfilled : &#39;condition to be fulfilled&#39;, pageToLoad : &#39;page to load&#39;, ms : &#39;ms&#39;, waitingFor : &#39;Waiting for&#39;, waitedTooLong : &#39;Waited too long for&#39;, conditionNotFulfilled : &#39;Condition was not fullfilled during&#39;, waitingAborted : &#39;Waiting aborted&#39;, Waited : &#39;Waited&#39;, checkerException : &#39;checker threw an exception&#39;, Exception : &#39;Exception&#39;, msFor : &#39;ms for&#39;, forcedWaitFinalization : &#39;Forced finalization of waiting for&#39;, chainStepNotCompleted : &#39;The step in `t.chain()` call did not complete within required timeframe, chain can not proceed&#39;, stepNumber : &#39;Step number&#39;, oneBased : &#39;(1-based)&#39;, atLine : &#39;At line&#39;, chainStepEx : &#39;Chain step threw an exception&#39;, stepFn : &#39;Step function&#39;, notUsingNext : &#39;does not use the provided &quot;next&quot; function anywhere&#39;, calledMoreThanOnce : &#39;The `next` callback of {num} step (1-based) of `t.chain()` call at line {line} is called more than once.&#39;, tooManyDifferences : &#39;Showing {num} of {total} differences&#39; }, &quot;Siesta.Test.SenchaTouch&quot; : { STSetupFailed : &#39;Waiting for Ext.setup took too long - some dependency could not be loaded? Check the `Net` tab in Firebug&#39;, invalidSwipeDir : &#39;Invalid swipe direction&#39;, moveFingerByInvalidInput : &#39;Trying to call moveFingerBy without relative distances&#39;, scrollUntilFailed : &#39;scrollUntil failed to achieve its mission&#39;, scrollUntilElementVisibleInvalid : &#39;scrollUntilElementVisible: target or scrollable not provided&#39;, scrollerReachPos : &#39;scroller to reach position&#39; }, &quot;Siesta.Test&quot; : { noCodeProvidedToTest : &#39;No code provided to test&#39;, addingAssertionsAfterDone : &#39;Adding assertions after the test has finished&#39;, testFailedAndAborted : &#39;Assertion failed, test execution aborted&#39;, atLine : &#39;at line&#39;, of : &#39;of&#39;, character : &#39;character&#39;, isTruthy : &#39;`{value}` is a &quot;truthy&quot; value&#39;, needTruthy : &#39;Need &quot;truthy&quot; value&#39;, isFalsy : &#39;`{value}` is a &quot;falsy&quot; value&#39;, needFalsy : &#39;Need &quot;falsy&quot; value&#39;, isEqualTo : &#39;`{got}` is equal to `{expected}`&#39;, isNotEqualTo : &#39;`{got}` is not equal to `{expected}`&#39;, needNot : &#39;Need not&#39;, isStrictlyEqual : &#39;`{got}` is strictly equal to `{expected}`&#39;, needStrictly : &#39;Need strictly&#39;, isStrictlyNotEqual : &#39;`{got}` is strictly not equal to `{expected}`&#39;, needStrictlyNot : &#39;Need strictly not&#39;, alreadyWaiting : &#39;Already waiting with title&#39;, noOngoingWait : &#39;There is no ongoing `wait` action with title&#39;, noMatchingEndAsync : &#39;No matching `endAsync` call within {time}ms&#39;, endAsyncMisuse : &#39;Calls to endAsync without argument should only be performed if you have single beginAsync statement&#39;, codeBodyMissingForSubTest : &#39;Code body is not provided for sub test [{name}]&#39;, codeBodyMissingTestArg : &#39;Code body of sub test [{name}] does not declare a test instance as 1st argument&#39;, Subtest : &#39;Subtest&#39;, Test : &#39;Test&#39;, failedToFinishWithin : &#39;Subtest {name} failed to finish within {timeout}ms&#39;, threwException : &#39;threw an exception&#39;, testAlreadyStarted : &#39;Test has already been started&#39;, setupTookTooLong : &#39;`setup` method took too long to complete&#39;, errorBeforeTestStarted : &#39;Error happened before the test started&#39;, testStillRunning : &#39;Your test is still considered to be running, if this is unexpected please see console for more information&#39;, testNotFinalized : &#39;Your test [{url}] has not finalized, most likely since a timer (setTimeout) is still active. &#39; + &#39;If this is the expected behavior, try setting &quot;overrideSetTimeout : false&quot; on your Harness configuration.&#39;, missingDoneCall : &#39;Test has completed, but there was no `t.done()` call. Add it at the bottom, or use `t.beginAsync()` for asynchronous code&#39;, allTestsPassed : &#39;All tests passed&#39;, &#39;Snoozed until&#39; : &#39;Snoozed until&#39;, testTearDownTimeout : &quot;Test&#39;s tear down process has timeout out&quot; }, &quot;Siesta.Recorder.UI.Editor.Code&quot; : { invalidSyntax : &#39;Invalid syntax&#39; }, &quot;Siesta.Recorder.UI.Editor.DragTarget&quot; : { targetLabel : &#39;Target&#39;, toLabel : &#39;To&#39;, byLabel : &#39;By&#39;, cancelButtonText : &#39;Cancel&#39;, saveButtonText : &#39;Save&#39;, dragVariantTitle : &#39;Edit `drag` action&#39;, moveCursorVariantTitle : &#39;Edit `moveCursor` action&#39; }, &quot;Siesta.Recorder.UI.RecorderPanel&quot; : { actionColumnHeader : &#39;Action&#39;, offsetColumnHeader : &#39;Offset&#39;, queryMatchesNothing : &#39;Query matches no DOM elements or components&#39;, queryMatchesMultiple : &#39;Query matches multiple components&#39;, noVisibleElsFound : &#39;No visible elements found for target&#39;, noTestDetected : &#39;No test detected&#39;, noTestStarted : &#39;You need to run a test first, or provide a Page URL&#39;, recordTooltip : &#39;Record&#39;, stopTooltip : &#39;Stop&#39;, playTooltip : &#39;Play&#39;, clearTooltip : &#39;Clear all&#39;, codeWindowTitle : &#39;Code&#39;, addNewTooltip : &#39;Add a new step&#39;, removeAllPromptTitle : &#39;Remove all?&#39;, removeAllPromptMessage : &#39;Do you want to clear the recorded events?&#39;, Error : &#39;Error&#39;, showSource : &#39;Show source&#39;, showSourceInNewWindow : &#39;Show source in new window&#39;, newRecording : &#39;New recording...&#39;, pageUrl : &#39;Page URL&#39; }, &quot;Siesta.Recorder.UI.TargetColumn&quot; : { headerText : &#39;Target / Value&#39;, by : &#39;by&#39;, to : &#39;to&#39;, coordinateTargetWarning : &#39;Siesta was unable to find a stable selector for this target. Using coordinates as locator is not recommended.&#39; } }; </pre> </body> </html>