text: Ext.data.JsonP.Siesta_Test_Browser({"tagname":"class","name":"Siesta.Test.Browser","autodetected":{},"files":[{"filename":"Browser.js","href":"Browser2.html#Siesta-Test-Browser"}],"extends":"Siesta.Test","mixins":["Siesta.Test.Simulate.Event","Siesta.Test.Simulate.Keyboard","Siesta.Test.Simulate.Mouse","Siesta.Test.TextSelection"],"members":[{"name":"dragDelay","tagname":"cfg","owner":"Siesta.Test.Simulate.Mouse","id":"cfg-dragDelay","meta":{}},{"name":"isReadyTimeout","tagname":"cfg","owner":"Siesta.Test","id":"cfg-isReadyTimeout","meta":{}},{"name":"moveCursorBetweenPoints","tagname":"cfg","owner":"Siesta.Test.Simulate.Mouse","id":"cfg-moveCursorBetweenPoints","meta":{}},{"name":"simulateEventsWith","tagname":"cfg","owner":"Siesta.Test.Simulate.Event","id":"cfg-simulateEventsWith","meta":{}},{"name":"waitForTimeout","tagname":"cfg","owner":"Siesta.Test.More","id":"cfg-waitForTimeout","meta":{}},{"name":"bowser","tagname":"property","owner":"Siesta.Test.Browser","id":"property-bowser","meta":{}},{"name":"url","tagname":"property","owner":"Siesta.Test","id":"property-url","meta":{}},{"name":"afterEach","tagname":"method","owner":"Siesta.Test.BDD","id":"method-afterEach","meta":{}},{"name":"any","tagname":"method","owner":"Siesta.Test.BDD","id":"method-any","meta":{}},{"name":"anyNumberApprox","tagname":"method","owner":"Siesta.Test.BDD","id":"method-anyNumberApprox","meta":{}},{"name":"anyStringLike","tagname":"method","owner":"Siesta.Test.BDD","id":"method-anyStringLike","meta":{}},{"name":"beforeEach","tagname":"method","owner":"Siesta.Test.BDD","id":"method-beforeEach","meta":{}},{"name":"beginAsync","tagname":"method","owner":"Siesta.Test","id":"method-beginAsync","meta":{}},{"name":"chain","tagname":"method","owner":"Siesta.Test.More","id":"method-chain","meta":{}},{"name":"chainForArray","tagname":"method","owner":"Siesta.Test.More","id":"method-chainForArray","meta":{}},{"name":"clearTimeout","tagname":"method","owner":"Siesta.Test.Browser","id":"method-clearTimeout","meta":{}},{"name":"click","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-click","meta":{}},{"name":"compareObjects","tagname":"method","owner":"Siesta.Util.Role.CanCompareObjects","id":"method-compareObjects","meta":{}},{"name":"createSpy","tagname":"method","owner":"Siesta.Test.BDD","id":"method-createSpy","meta":{}},{"name":"createSpyObj","tagname":"method","owner":"Siesta.Test.BDD","id":"method-createSpyObj","meta":{}},{"name":"ddescribe","tagname":"method","owner":"Siesta.Test.BDD","id":"method-ddescribe","meta":{}},{"name":"describe","tagname":"method","owner":"Siesta.Test.BDD","id":"method-describe","meta":{}},{"name":"diag","tagname":"method","owner":"Siesta.Test","id":"method-diag","meta":{}},{"name":"done","tagname":"method","owner":"Siesta.Test","id":"method-done","meta":{}},{"name":"doubleClick","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-doubleClick","meta":{}},{"name":"drag","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-drag","meta":{"deprecated":{"text":"<p>This method is deprecated in favor of <a href=\"#!/api/Siesta.Test.Simulate.Mouse-method-dragTo\" rel=\"Siesta.Test.Simulate.Mouse-method-dragTo\" class=\"docClass\">dragTo</a> and <a href=\"#!/api/Siesta.Test.Simulate.Mouse-method-dragBy\" rel=\"Siesta.Test.Simulate.Mouse-method-dragBy\" class=\"docClass\">dragBy</a> methods</p>\n"}}},{"name":"dragBy","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-dragBy","meta":{}},{"name":"dragTo","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-dragTo","meta":{}},{"name":"earlySetup","tagname":"method","owner":"Siesta.Test","id":"method-earlySetup","meta":{}},{"name":"elementFromPoint","tagname":"method","owner":"Siesta.Test.Browser","id":"method-elementFromPoint","meta":{}},{"name":"endAsync","tagname":"method","owner":"Siesta.Test","id":"method-endAsync","meta":{}},{"name":"endWait","tagname":"method","owner":"Siesta.Test","id":"method-endWait","meta":{}},{"name":"exit","tagname":"method","owner":"Siesta.Test","id":"method-exit","meta":{}},{"name":"expect","tagname":"method","owner":"Siesta.Test.BDD","id":"method-expect","meta":{}},{"name":"expectAlertMessage","tagname":"method","owner":"Siesta.Test.Browser","id":"method-expectAlertMessage","meta":{}},{"name":"expectGlobals","tagname":"method","owner":"Siesta.Test.More","id":"method-expectGlobals","meta":{}},{"name":"fail","tagname":"method","owner":"Siesta.Test","id":"method-fail","meta":{}},{"name":"firesAtLeastNTimes","tagname":"method","owner":"Siesta.Test.Browser","id":"method-firesAtLeastNTimes","meta":{}},{"name":"firesOk","tagname":"method","owner":"Siesta.Test.Browser","id":"method-firesOk","meta":{}},{"name":"firesOnce","tagname":"method","owner":"Siesta.Test.Browser","id":"method-firesOnce","meta":{}},{"name":"getElementAtCursor","tagname":"method","owner":"Siesta.Test.Browser","id":"method-getElementAtCursor","meta":{}},{"name":"getSelectedText","tagname":"method","owner":"Siesta.Test.TextSelection","id":"method-getSelectedText","meta":{}},{"name":"getSubTest","tagname":"method","owner":"Siesta.Test","id":"method-getSubTest","meta":{}},{"name":"iit","tagname":"method","owner":"Siesta.Test.BDD","id":"method-iit","meta":{}},{"name":"is","tagname":"method","owner":"Siesta.Test","id":"method-is","meta":{}},{"name":"isApprox","tagname":"method","owner":"Siesta.Test.More","id":"method-isApprox","meta":{}},{"name":"isArray","tagname":"method","owner":"Siesta.Test.More","id":"method-isArray","meta":{}},{"name":"isBoolean","tagname":"method","owner":"Siesta.Test.More","id":"method-isBoolean","meta":{}},{"name":"isCalled","tagname":"method","owner":"Siesta.Test.Function","id":"method-isCalled","meta":{}},{"name":"isCalledNTimes","tagname":"method","owner":"Siesta.Test.Function","id":"method-isCalledNTimes","meta":{}},{"name":"isCalledOnce","tagname":"method","owner":"Siesta.Test.Function","id":"method-isCalledOnce","meta":{}},{"name":"isDate","tagname":"method","owner":"Siesta.Test.More","id":"method-isDate","meta":{}},{"name":"isDateEqual","tagname":"method","owner":"Siesta.Test.Date","id":"method-isDateEqual","meta":{}},{"name":"isDeeply","tagname":"method","owner":"Siesta.Test.More","id":"method-isDeeply","meta":{}},{"name":"isDeeplyStrict","tagname":"method","owner":"Siesta.Test.More","id":"method-isDeeplyStrict","meta":{}},{"name":"isFiredWithSignature","tagname":"method","owner":"Siesta.Test.Browser","id":"method-isFiredWithSignature","meta":{}},{"name":"isFunction","tagname":"method","owner":"Siesta.Test.More","id":"method-isFunction","meta":{}},{"name":"isGreater","tagname":"method","owner":"Siesta.Test.More","id":"method-isGreater","meta":{}},{"name":"isGreaterOrEqual","tagname":"method","owner":"Siesta.Test.More","id":"method-isGreaterOrEqual","meta":{}},{"name":"isInstanceOf","tagname":"method","owner":"Siesta.Test.More","id":"method-isInstanceOf","meta":{}},{"name":"isLess","tagname":"method","owner":"Siesta.Test.More","id":"method-isLess","meta":{}},{"name":"isLessOrEqual","tagname":"method","owner":"Siesta.Test.More","id":"method-isLessOrEqual","meta":{}},{"name":"isNot","tagname":"method","owner":"Siesta.Test","id":"method-isNot","meta":{}},{"name":"isNotStrict","tagname":"method","owner":"Siesta.Test","id":"method-isNotStrict","meta":{}},{"name":"isNumber","tagname":"method","owner":"Siesta.Test.More","id":"method-isNumber","meta":{}},{"name":"isObject","tagname":"method","owner":"Siesta.Test.More","id":"method-isObject","meta":{}},{"name":"isReady","tagname":"method","owner":"Siesta.Test","id":"method-isReady","meta":{}},{"name":"isRegExp","tagname":"method","owner":"Siesta.Test.More","id":"method-isRegExp","meta":{}},{"name":"isStrict","tagname":"method","owner":"Siesta.Test","id":"method-isStrict","meta":{}},{"name":"isString","tagname":"method","owner":"Siesta.Test.More","id":"method-isString","meta":{}},{"name":"isntCalled","tagname":"method","owner":"Siesta.Test.Function","id":"method-isntCalled","meta":{}},{"name":"isntFired","tagname":"method","owner":"Siesta.Test.Browser","id":"method-isntFired","meta":{}},{"name":"it","tagname":"method","owner":"Siesta.Test.BDD","id":"method-it","meta":{}},{"name":"keyPress","tagname":"method","owner":"Siesta.Test.Simulate.Keyboard","id":"method-keyPress","meta":{}},{"name":"launchSubTest","tagname":"method","owner":"Siesta.Test","id":"method-launchSubTest","meta":{}},{"name":"like","tagname":"method","owner":"Siesta.Test.More","id":"method-like","meta":{}},{"name":"livesOk","tagname":"method","owner":"Siesta.Test.More","id":"method-livesOk","meta":{}},{"name":"methodIsCalled","tagname":"method","owner":"Siesta.Test.Function","id":"method-methodIsCalled","meta":{}},{"name":"methodIsCalledNTimes","tagname":"method","owner":"Siesta.Test.Function","id":"method-methodIsCalledNTimes","meta":{}},{"name":"methodIsntCalled","tagname":"method","owner":"Siesta.Test.Function","id":"method-methodIsntCalled","meta":{}},{"name":"mouseDown","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-mouseDown","meta":{}},{"name":"mouseOut","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-mouseOut","meta":{}},{"name":"mouseOver","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-mouseOver","meta":{}},{"name":"mouseUp","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-mouseUp","meta":{}},{"name":"moveCursorAlongPath","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-moveCursorAlongPath","meta":{}},{"name":"moveCursorBy","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-moveCursorBy","meta":{}},{"name":"moveCursorTo","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-moveCursorTo","meta":{}},{"name":"moveMouseBy","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-moveMouseBy","meta":{}},{"name":"moveMouseTo","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-moveMouseTo","meta":{}},{"name":"notOk","tagname":"method","owner":"Siesta.Test","id":"method-notOk","meta":{}},{"name":"ok","tagname":"method","owner":"Siesta.Test","id":"method-ok","meta":{}},{"name":"pass","tagname":"method","owner":"Siesta.Test","id":"method-pass","meta":{}},{"name":"rightClick","tagname":"method","owner":"Siesta.Test.Simulate.Mouse","id":"method-rightClick","meta":{}},{"name":"selectText","tagname":"method","owner":"Siesta.Test.TextSelection","id":"method-selectText","meta":{}},{"name":"setHash","tagname":"method","owner":"Siesta.Test.Browser","id":"method-setHash","meta":{}},{"name":"setNextConfirmReturnValue","tagname":"method","owner":"Siesta.Test.Browser","id":"method-setNextConfirmReturnValue","meta":{}},{"name":"setNextPromptReturnValue","tagname":"method","owner":"Siesta.Test.Browser","id":"method-setNextPromptReturnValue","meta":{}},{"name":"setTimeout","tagname":"method","owner":"Siesta.Test.Browser","id":"method-setTimeout","meta":{}},{"name":"setUrl","tagname":"method","owner":"Siesta.Test.Browser","id":"method-setUrl","meta":{}},{"name":"setWindowSize","tagname":"method","owner":"Siesta.Test.Browser","id":"method-setWindowSize","meta":{}},{"name":"setup","tagname":"method","owner":"Siesta.Test","id":"method-setup","meta":{}},{"name":"simulateActivateWindow","tagname":"method","owner":"Siesta.Test.Browser","id":"method-simulateActivateWindow","meta":{}},{"name":"simulateDeactivateWindow","tagname":"method","owner":"Siesta.Test.Browser","id":"method-simulateDeactivateWindow","meta":{}},{"name":"simulateEvent","tagname":"method","owner":"Siesta.Test.Simulate.Event","id":"method-simulateEvent","meta":{}},{"name":"snooze","tagname":"method","owner":"Siesta.Test","id":"method-snooze","meta":{}},{"name":"spyOn","tagname":"method","owner":"Siesta.Test.BDD","id":"method-spyOn","meta":{}},{"name":"subTest","tagname":"method","owner":"Siesta.Test","id":"method-subTest","meta":{}},{"name":"switchTo","tagname":"method","owner":"Siesta.Test.Browser","id":"method-switchTo","meta":{}},{"name":"switchToMain","tagname":"method","owner":"Siesta.Test.Browser","id":"method-switchToMain","meta":{}},{"name":"tearDown","tagname":"method","owner":"Siesta.Test","id":"method-tearDown","meta":{}},{"name":"throwsOk","tagname":"method","owner":"Siesta.Test.More","id":"method-throwsOk","meta":{}},{"name":"todo","tagname":"method","owner":"Siesta.Test","id":"method-todo","meta":{}},{"name":"type","tagname":"method","owner":"Siesta.Test.Simulate.Keyboard","id":"method-type","meta":{}},{"name":"unlike","tagname":"method","owner":"Siesta.Test.More","id":"method-unlike","meta":{}},{"name":"verifyGlobals","tagname":"method","owner":"Siesta.Test.More","id":"method-verifyGlobals","meta":{}},{"name":"wait","tagname":"method","owner":"Siesta.Test","id":"method-wait","meta":{}},{"name":"waitFor","tagname":"method","owner":"Siesta.Test.More","id":"method-waitFor","meta":{}},{"name":"waitForEvent","tagname":"method","owner":"Siesta.Test.Browser","id":"method-waitForEvent","meta":{}},{"name":"waitForFn","tagname":"method","owner":"Siesta.Test.More","id":"method-waitForFn","meta":{}},{"name":"waitForMs","tagname":"method","owner":"Siesta.Test.More","id":"method-waitForMs","meta":{}},{"name":"waitForPageLoad","tagname":"method","owner":"Siesta.Test.Browser","id":"method-waitForPageLoad","meta":{}},{"name":"waitForTarget","tagname":"method","owner":"Siesta.Test.Browser","id":"method-waitForTarget","meta":{}},{"name":"waitForTextNotPresent","tagname":"method","owner":"Siesta.Test.Browser","id":"method-waitForTextNotPresent","meta":{}},{"name":"waitForTextPresent","tagname":"method","owner":"Siesta.Test.Browser","id":"method-waitForTextPresent","meta":{}},{"name":"willFireNTimes","tagname":"method","owner":"Siesta.Test.Browser","id":"method-willFireNTimes","meta":{}},{"name":"wontFire","tagname":"method","owner":"Siesta.Test.Browser","id":"method-wontFire","meta":{}},{"name":"xdescribe","tagname":"method","owner":"Siesta.Test.BDD","id":"method-xdescribe","meta":{}},{"name":"xit","tagname":"method","owner":"Siesta.Test.BDD","id":"method-xit","meta":{}},{"name":"beforetestfinalize","tagname":"event","owner":"Siesta.Test","id":"event-beforetestfinalize","meta":{}},{"name":"testfailedwithexception","tagname":"event","owner":"Siesta.Test","id":"event-testfailedwithexception","meta":{}},{"name":"testfinalize","tagname":"event","owner":"Siesta.Test","id":"event-testfinalize","meta":{}},{"name":"teststart","tagname":"event","owner":"Siesta.Test","id":"event-teststart","meta":{}},{"name":"testupdate","tagname":"event","owner":"Siesta.Test","id":"event-testupdate","meta":{}}],"alternateClassNames":[],"aliases":{},"id":"class-Siesta.Test.Browser","short_doc":"A base class for testing a generic browser functionality. ...","component":false,"superclasses":["Siesta.Test"],"subclasses":["Siesta.Test.ExtJS","Siesta.Test.SenchaTouch","Siesta.Test.jQuery"],"mixedInto":[],"parentMixins":["Siesta.Test.BDD","Siesta.Test.Date","Siesta.Test.Function","Siesta.Test.More","Siesta.Util.Role.CanCompareObjects"],"requires":[],"uses":[],"html":"<div><pre class=\"hierarchy\"><h4>Hierarchy</h4><div class='subclass first-child'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='docClass'>Siesta.Test</a><div class='subclass '><strong>Siesta.Test.Browser</strong></div></div><h4>Mixins</h4><div class='dependency'><a href='#!/api/Siesta.Test.Simulate.Event' rel='Siesta.Test.Simulate.Event' class='docClass'>Siesta.Test.Simulate.Event</a></div><div class='dependency'><a href='#!/api/Siesta.Test.Simulate.Keyboard' rel='Siesta.Test.Simulate.Keyboard' class='docClass'>Siesta.Test.Simulate.Keyboard</a></div><div class='dependency'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='docClass'>Siesta.Test.Simulate.Mouse</a></div><div class='dependency'><a href='#!/api/Siesta.Test.TextSelection' rel='Siesta.Test.TextSelection' class='docClass'>Siesta.Test.TextSelection</a></div><h4>Inherited mixins</h4><div class='dependency'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='docClass'>Siesta.Test.BDD</a></div><div class='dependency'><a href='#!/api/Siesta.Test.Date' rel='Siesta.Test.Date' class='docClass'>Siesta.Test.Date</a></div><div class='dependency'><a href='#!/api/Siesta.Test.Function' rel='Siesta.Test.Function' class='docClass'>Siesta.Test.Function</a></div><div class='dependency'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='docClass'>Siesta.Test.More</a></div><div class='dependency'><a href='#!/api/Siesta.Util.Role.CanCompareObjects' rel='Siesta.Util.Role.CanCompareObjects' class='docClass'>Siesta.Util.Role.CanCompareObjects</a></div><h4>Subclasses</h4><div class='dependency'><a href='#!/api/Siesta.Test.ExtJS' rel='Siesta.Test.ExtJS' class='docClass'>Siesta.Test.ExtJS</a></div><div class='dependency'><a href='#!/api/Siesta.Test.SenchaTouch' rel='Siesta.Test.SenchaTouch' class='docClass'>Siesta.Test.SenchaTouch</a></div><div class='dependency'><a href='#!/api/Siesta.Test.jQuery' rel='Siesta.Test.jQuery' class='docClass'>Siesta.Test.jQuery</a></div><h4>Files</h4><div class='dependency'><a href='source/Browser2.html#Siesta-Test-Browser' target='_blank'>Browser.js</a></div></pre><div class='doc-contents'><p>A base class for testing a generic browser functionality. It has various DOM-related assertions, and is not optimized for any framework.</p>\n</div><div class='members'><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-cfg'>Config options</h3><div class='subsection'><div id='cfg-dragDelay' class='member first-child inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-cfg-dragDelay' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-cfg-dragDelay' class='name expandable'>dragDelay</a> : Int<span class=\"signature\"></span></div><div class='description'><div class='short'>The delay between individual drag events (mousemove) ...</div><div class='long'><p>The delay between individual drag events (mousemove)</p>\n<p>Defaults to: <code>25</code></p></div></div></div><div id='cfg-isReadyTimeout' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-cfg-isReadyTimeout' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-cfg-isReadyTimeout' class='name expandable'>isReadyTimeout</a> : Number<span class=\"signature\"></span></div><div class='description'><div class='short'>Timeout in milliseconds to wait for test start. ...</div><div class='long'><p>Timeout in milliseconds to wait for test start. Default value is 10000. See also <a href=\"#!/api/Siesta.Test-method-isReady\" rel=\"Siesta.Test-method-isReady\" class=\"docClass\">isReady</a></p>\n<p>Defaults to: <code>10000</code></p></div></div></div><div id='cfg-moveCursorBetweenPoints' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-cfg-moveCursorBetweenPoints' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-cfg-moveCursorBetweenPoints' class='name expandable'>moveCursorBetweenPoints</a> : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>True to move the mouse cursor between for example two clicks on\n separate elements (for better visual experience) ...</div><div class='long'><p>True to move the mouse cursor between for example two clicks on\n separate elements (for better visual experience)</p>\n<p>Defaults to: <code>true</code></p></div></div></div><div id='cfg-simulateEventsWith' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Event' rel='Siesta.Test.Simulate.Event' class='defined-in docClass'>Siesta.Test.Simulate.Event</a><br/><a href='source/Event2.html#Siesta-Test-Simulate-Event-cfg-simulateEventsWith' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Event-cfg-simulateEventsWith' class='name expandable'>simulateEventsWith</a> : String<span class=\"signature\"></span></div><div class='description'><div class='short'>This option is IE9-strict mode (and probably above) specific. ...</div><div class='long'><p>This option is IE9-strict mode (and probably above) specific. It specifies, which events simulation function Siesta should use.\nThe choice is between 'dispatchEvent' (W3C standard) and 'fireEvent' (MS interface) - both are available in IE9 strict mode\nand both activates different event listeners. See this blog post for detailed explanations:\n<a href=\"http://www.digitalenginesoftware.com/blog/archives/76-DOM-Event-Model-Compatibility-or-Why-fireEvent-Doesnt-Trigger-addEventListener.html\">http://www.digitalenginesoftware.com/blog/archives/76-DOM-Event-Model-Compatibility-or-Why-fireEvent-Doesnt-Trigger-addEventListener.html</a></p>\n\n<p>Valid values are \"dispatchEvent\" and \"fireEvent\".</p>\n\n<p>The framework specific adapters choose the most appropriate value automatically (unless explicitly configured).</p>\n<p>Defaults to: <code>{is: 'rw', init: 'dispatchEvent'}</code></p></div></div></div><div id='cfg-waitForTimeout' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-cfg-waitForTimeout' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-cfg-waitForTimeout' class='name expandable'>waitForTimeout</a> : Number<span class=\"signature\"></span></div><div class='description'><div class='short'>Default timeout for waitFor (in milliseconds). ...</div><div class='long'><p>Default timeout for <code>waitFor</code> (in milliseconds). Default value is 10000.</p>\n<p>Defaults to: <code>10000</code></p></div></div></div></div></div><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-property'>Properties</h3><div class='subsection'><div id='property-bowser' class='member first-child not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-property-bowser' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-property-bowser' class='name expandable'>bowser</a> : Object<span class=\"signature\"></span></div><div class='description'><div class='short'><p>Alias for <a href=\"#!/api/Siesta.Test.Browser-property-bowser\" rel=\"Siesta.Test.Browser-property-bowser\" class=\"docClass\">bowser</a></p>\n</div><div class='long'><p>Alias for <a href=\"#!/api/Siesta.Test.Browser-property-bowser\" rel=\"Siesta.Test.Browser-property-bowser\" class=\"docClass\">bowser</a></p>\n</div></div></div><div id='property-url' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-property-url' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-property-url' class='name expandable'>url</a> : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>The url of this test, as given to the start method. ...</div><div class='long'><p>The url of this test, as given to the <a href=\"#!/api/Siesta.Harness-method-start\" rel=\"Siesta.Harness-method-start\" class=\"docClass\">start</a> method. All subtests of some top-level test shares the same url.</p>\n<p>Defaults to: <code>{required: true}</code></p></div></div></div></div></div><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-method'>Methods</h3><div class='subsection'><div id='method-afterEach' class='member first-child inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-afterEach' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-afterEach' class='name expandable'>afterEach</a>( <span class='pre'>code, isAsync</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method allows you to execute some \"setup\" code hook after every spec (\"it\" block) of the current test. ...</div><div class='long'><p>This method allows you to execute some \"setup\" code hook after every spec (\"it\" block) of the current test.\nSuch hooks are <strong>not</strong> executed for the \"describe\" blocks and sub-tests generated with\nthe <a href=\"#!/api/Siesta.Test-method-getSubTest\" rel=\"Siesta.Test-method-getSubTest\" class=\"docClass\">getSubTest</a> method.</p>\n\n<p>Note, that specs can be nested and all <code>afterEach</code> hooks are executed in order, starting from the most-nested one.</p>\n\n<p>The hook function can be declared with 1 or 2 arguments. The 1st argument is always the test\ninstance being launched.</p>\n\n<p>If hook is declared with only 1 argument - it is supposed to be synchronous.</p>\n\n<p>If hook is declared with 2 arguments - it is supposed to be asynchronous (you can also force the asynchronous\nmode with the <code>isAsync</code> argument, see below). The completion callback will be provided as the 2nd argument for the hook.</p>\n\n<p>This method can be called several times, providing several \"hook\" functions.</p>\n\n<p>For example:</p>\n\n<pre><code>StartTest(function (t) {\n    var baz     = 0\n\n    t.afterEach(function (t) {\n        // the `t` instance here is the \"t\" instance from the \"it\" block below\n        baz     = 0\n    })\n\n    t.it(\"This feature should work\", function (t) {\n        t.expect(myFunction(baz++)).toEqual('someResult')\n    })\n})\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>code</span> : Function<div class='sub-desc'><p>A function to execute after every spec</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>t</span> : <a href=\"#!/api/Siesta.Test\" rel=\"Siesta.Test\" class=\"docClass\">Siesta.Test</a><div class='sub-desc'><p>A test instance being completed</p>\n</div></li><li><span class='pre'>next</span> : Function<div class='sub-desc'><p>A callback to call when the <code>afterEach</code> method completes. This argument is only provided\nwhen hook function is declared with 2 arguments (or the <code>isAsync</code> argument is passed as <code>true</code>)</p>\n</div></li></ul></div></li><li><span class='pre'>isAsync</span> : Boolean<div class='sub-desc'><p>When passed as <code>true</code> this argument makes the <code>afterEach</code> method asynchronous. In this case,\nthe <code>code</code> function will receive an additional callback argument, which should be called once the method has completed its work.</p>\n\n<p>Note, that <code>afterEach</code> method should complete within defaultTimeout time, otherwise\nfailing assertion will be added to the test.</p>\n\n<p>Example of asynchronous hook:</p>\n\n<pre><code>StartTest(function (t) {\n    var baz     = 0\n\n    // asynchronous setup code\n    t.afterEach(function (t, next) {\n\n        // `afterEach` will complete in 100ms \n        setTimeout(function () {\n            baz     = 0\n            next()\n        }, 100)\n    })\n\n    t.describe(\"This feature should work\", function (t) {\n        t.expect(myFunction(baz++)).toEqual('someResult')\n    })\n})\n</code></pre>\n</div></li></ul></div></div></div><div id='method-any' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-any' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-any' class='name expandable'>any</a>( <span class='pre'>clsConstructor</span> ) : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>This method returns a placeholder, denoting any instance of the provided class constructor. ...</div><div class='long'><p>This method returns a <em>placeholder</em>, denoting any instance of the provided class constructor. Such placeholder can be used in various\ncomparison assertions, like is, isDeeply, <a href=\"#!/api/Siesta.Test.BDD.Expectation-method-toBe\" rel=\"Siesta.Test.BDD.Expectation-method-toBe\" class=\"docClass\">expect().toBe()</a>,\n<a href=\"#!/api/Siesta.Test.BDD.Expectation-method-toBe\" rel=\"Siesta.Test.BDD.Expectation-method-toBe\" class=\"docClass\">expect().toEqual()</a> and so on.</p>\n\n<p>For example:</p>\n\n<pre><code>t.is(1, t.any(Number))\n\nt.expect(1).toBe(t.any(Number))\n\nt.isDeeply({ name : 'John', age : 45 }, { name : 'John', age : t.any(Number))\n\nt.expect({ name : 'John', age : 45 }).toEqual({ name : 'John', age : t.any(Number))\n\nt.is(NaN, t.any(), 'When class constructor is not provided `t.any()` should match anything')\n</code></pre>\n\n<p>See also <a href=\"#!/api/Siesta.Test.BDD-method-anyNumberApprox\" rel=\"Siesta.Test.BDD-method-anyNumberApprox\" class=\"docClass\">anyNumberApprox</a>, <a href=\"#!/api/Siesta.Test.BDD-method-anyStringLike\" rel=\"Siesta.Test.BDD-method-anyStringLike\" class=\"docClass\">anyStringLike</a>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>clsConstructor</span> : Function<div class='sub-desc'><p>A class constructor instances of which are denoted with this placeholder. As a special case if this argument\nis not provided, a placeholder will match any value.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>A placeholder object</p>\n</div></li></ul></div></div></div><div id='method-anyNumberApprox' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-anyNumberApprox' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-anyNumberApprox' class='name expandable'>anyNumberApprox</a>( <span class='pre'>value, [threshold]</span> ) : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>This method returns a placeholder, denoting any number approximately equal to the provided value. ...</div><div class='long'><p>This method returns a <em>placeholder</em>, denoting any number approximately equal to the provided value.\nSuch placeholder can be used in various comparison assertions, like is, isDeeply,\n<a href=\"#!/api/Siesta.Test.BDD.Expectation-method-toBe\" rel=\"Siesta.Test.BDD.Expectation-method-toBe\" class=\"docClass\">expect().toBe()</a>,\n<a href=\"#!/api/Siesta.Test.BDD.Expectation-method-toBe\" rel=\"Siesta.Test.BDD.Expectation-method-toBe\" class=\"docClass\">expect().toEqual()</a> and so on.</p>\n\n<p>For example:</p>\n\n<pre><code>t.is(1, t.anyNumberApprox(1.2, 0.5))\n\nt.expect(1).toBe(t.anyNumberApprox(1.2, 0.5))\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Number<div class='sub-desc'><p>The approximate value</p>\n</div></li><li><span class='pre'>threshold</span> : Number (optional)<div class='sub-desc'><p>The threshold. If omitted, it is set to 5% from the <code>value</code>.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>A placeholder object</p>\n</div></li></ul></div></div></div><div id='method-anyStringLike' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-anyStringLike' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-anyStringLike' class='name expandable'>anyStringLike</a>( <span class='pre'>value</span> ) : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>This method returns a placeholder, denoting any string that matches provided value. ...</div><div class='long'><p>This method returns a <em>placeholder</em>, denoting any string that matches provided value.\nSuch placeholder can be used in various comparison assertions, like is, isDeeply,\n<a href=\"#!/api/Siesta.Test.BDD.Expectation-method-toBe\" rel=\"Siesta.Test.BDD.Expectation-method-toBe\" class=\"docClass\">expect().toBe()</a>,\n<a href=\"#!/api/Siesta.Test.BDD.Expectation-method-toBe\" rel=\"Siesta.Test.BDD.Expectation-method-toBe\" class=\"docClass\">expect().toEqual()</a> and so on.</p>\n\n<p>For example:</p>\n\n<pre><code>t.is('foo', t.anyStringLike('oo'))\n\nt.expect('bar').toBe(t.anyStringLike(/ar$/))\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : String/RegExp<div class='sub-desc'><p>If given as string will denote a substring a string being checked should contain,\nif given as RegExp instance then string being checked should match this RegExp</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>A placeholder object</p>\n</div></li></ul></div></div></div><div id='method-beforeEach' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-beforeEach' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-beforeEach' class='name expandable'>beforeEach</a>( <span class='pre'>code, isAsync</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method allows you to execute some \"setup\" code hook before every spec (\"it\" block) of the current test. ...</div><div class='long'><p>This method allows you to execute some \"setup\" code hook before every spec (\"it\" block) of the current test.\nSuch hooks are <strong>not</strong> executed for the \"describe\" blocks and sub-tests generated with\nthe <a href=\"#!/api/Siesta.Test-method-getSubTest\" rel=\"Siesta.Test-method-getSubTest\" class=\"docClass\">getSubTest</a> method.</p>\n\n<p>Note, that specs can be nested and all <code>beforeEach</code> hooks are executed in order, starting from the outer-most one.</p>\n\n<p>The hook function can be declared with 1 or 2 arguments. The 1st argument is always the test\ninstance being launched.</p>\n\n<p>If hook is declared with only 1 argument - it is supposed to be synchronous.</p>\n\n<p>If hook is declared with 2 arguments - it is supposed to be asynchronous (you can also force the asynchronous\nmode with the <code>isAsync</code> argument, see below). The completion callback will be provided as the 2nd argument for the hook.</p>\n\n<p>This method can be called several times, providing several \"hook\" functions.</p>\n\n<p>For example:</p>\n\n<pre><code>StartTest(function (t) {\n    var baz     = 0\n\n    t.beforeEach(function (t) {\n        // the `t` instance here is the \"t\" instance from the \"it\" block below\n        baz     = 0\n    })\n\n    t.it(\"This feature should work\", function (t) {\n        t.expect(myFunction(baz++)).toEqual('someResult')\n    })\n})\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>code</span> : Function<div class='sub-desc'><p>A function to execute before every spec</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>t</span> : <a href=\"#!/api/Siesta.Test\" rel=\"Siesta.Test\" class=\"docClass\">Siesta.Test</a><div class='sub-desc'><p>A test instance being launched</p>\n</div></li><li><span class='pre'>next</span> : Function<div class='sub-desc'><p>A callback to call when the <code>beforeEach</code> method completes. This argument is only provided\nwhen hook function is declared with 2 arguments (or the <code>isAsync</code> argument is passed as <code>true</code>)</p>\n</div></li></ul></div></li><li><span class='pre'>isAsync</span> : Boolean<div class='sub-desc'><p>When passed as <code>true</code> this argument makes the <code>beforeEach</code> method asynchronous. In this case,\nthe <code>code</code> function will receive an additional callback argument, which should be called once the method has completed its work.</p>\n\n<p>Note, that <code>beforeEach</code> method should complete within defaultTimeout time, otherwise\nfailing assertion will be added to the test.</p>\n\n<p>Example of asynchronous hook:</p>\n\n<pre><code>StartTest(function (t) {\n    var baz     = 0\n\n    // asynchronous setup code\n    t.beforeEach(function (t, next) {\n\n        // `beforeEach` will complete in 100ms \n        setTimeout(function () {\n            baz     = 0\n            next()\n        }, 100)\n    })\n\n    t.describe(\"This feature should work\", function (t) {\n        t.expect(myFunction(baz++)).toEqual('someResult')\n    })\n})\n</code></pre>\n</div></li></ul></div></div></div><div id='method-beginAsync' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-beginAsync' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-beginAsync' class='name expandable'>beginAsync</a>( <span class='pre'>time, errback</span> ) : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>This method starts the \"asynchronous frame\". ...</div><div class='long'><p>This method starts the \"asynchronous frame\". The test will wait for all asynchronous frames to complete before it will finalize.\nThe frame should be finished with the <a href=\"#!/api/Siesta.Test-method-endAsync\" rel=\"Siesta.Test-method-endAsync\" class=\"docClass\">endAsync</a> call within the provided <code>time</code>, otherwise a failure will be reported.</p>\n\n<p>For example:</p>\n\n<pre><code> var async = t.beginAsync()\n\n Ext.require('Some.Class', function () {\n\n     t.ok(Some.Class, 'Some class was loaded')\n\n     t.endAsync(async)\n })\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>time</span> : Number<div class='sub-desc'><p>The maximum time (in ms) to wait until force the finalization of this async frame. Optional. Default time is 15000 ms.</p>\n</div></li><li><span class='pre'>errback</span> : Function<div class='sub-desc'><p>Optional. The function to call in case the call to <a href=\"#!/api/Siesta.Test-method-endAsync\" rel=\"Siesta.Test-method-endAsync\" class=\"docClass\">endAsync</a> was not detected withing <code>time</code>. If function\nwill return any \"truthy\" value, the failure will not be reported (you can report own failure with this errback).</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>The frame object, which can be used in <a href=\"#!/api/Siesta.Test-method-endAsync\" rel=\"Siesta.Test-method-endAsync\" class=\"docClass\">endAsync</a> call</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-chain' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-chain' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-chain' class='name expandable'>chain</a>( <span class='pre'>step1, step2, stepN</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method accepts a variable number of steps, either as individual arguments or as a single array containing them. ...</div><div class='long'><p>This method accepts a variable number of steps, either as individual arguments or as a single array containing them. Steps and arrays\nof steps are handled just fine, and any step-arrays passed will be flattened. Each step should be either a function or configuration\nobject for <a href=\"#!/api/Siesta.Test.Action\" rel=\"Siesta.Test.Action\" class=\"docClass\">test actions</a>. These functions / actions will be executed in order.</p>\n\n<p>1) For a function step, it will receive a callback as the 1st argument, to call when the step is completed.\nAs the 2nd and further arguments, the step function will receive the arguments passed to the previous callback.</p>\n\n<p>The last step will receive a no-op callback, which can be ignored or still called. <strong>Note</strong>, that last step is assumed to\ncomplete synchronously! If you need to launch some asynchronous process in the last step, you may need to add another empty function step\nto the end of the chain.</p>\n\n<p>2) For <a href=\"#!/api/Siesta.Test.Action\" rel=\"Siesta.Test.Action\" class=\"docClass\">Siesta.Test.Action</a> objects, the callback will be called by the action class automatically,\nthere's no need to provide any callback manually. The configuration object should contain an \"action\" property, specifying the action class\nalong with other config options depending on the action class. For brevity, instead of using the \"action\" property, the configuration\nobject can contain the property corresponding to the action name itself, with the action's target (or even a test method with arguments).\nSee the following examples and also refer to the documentation of the action classes.</p>\n\n<p>If the configuration object will contain a \"desc\" property, a passing assertion with its value will be added to the test, after this step has completed.</p>\n\n<p>3) If a step is a sub test instance, created with getSubTest method, then the step will launch it.</p>\n\n<p>It's better to see how it works in action. For example, when using using only functions:</p>\n\n<pre><code>t.chain(\n    // function receives a callback as 1st argument\n    function (next) {\n        // we pass that callback to the \"click\" method\n        t.click(buttonEl, next)\n    },\n    function (next) {\n        t.type(fieldEl, 'Something', next)\n    },\n    function (next) {\n        t.is(fieldEl.value == 'Something', 'Correct value in the field')\n\n        // call the callback with some arguments\n        next('foo', 'bar')  \n    }, \n    // those arguments are now available as arguments of next step\n    function (next, value1, value2) {\n        t.is(value1, 'foo', 'The arguments for the callback are translated to the arguments of the step')\n        t.is(value2, 'bar', 'The arguments for the callback are translated to the arguments of the step')\n    }\n)\n</code></pre>\n\n<p>The same example, using action configuration objects for first 2 steps. For the list of available actions\nplease refer to the classes in the <code><a href=\"#!/api/Siesta.Test.Action\" rel=\"Siesta.Test.Action\" class=\"docClass\">Siesta.Test.Action</a></code> namespace.</p>\n\n<pre><code>t.chain(\n    {\n        action      : 'click',\n        target      : buttonEl,\n        desc        : \"Clicked on the button\"\n    },\n    // or\n    {\n        click       : buttonEl,\n        desc        : \"Clicked on the button\"\n    },\n\n    {\n        action      : 'type',\n        target      : fieldEl,\n        text        : 'Something',\n        desc        : \"Typed in the field\"\n    },\n    // or\n    {\n        type        : 'Something',\n        target      : fieldEl,\n        desc        : \"Typed in the field\"\n    },\n\n    {\n        waitFor     : 'Selector',\n        args        : '.selector'\n    }\n    // or, using <a href=\"#!/api/Siesta.Test.Action.MethodCall\" rel=\"Siesta.Test.Action.MethodCall\" class=\"docClass\">Siesta.Test.Action.MethodCall</a> notation:\n    {\n        waitForSelector : '.selector'\n    }\n\n    function (next) {\n        t.is(fieldEl.value == 'Something', 'Correct value in the field')\n\n        next('foo', 'bar')  \n    }, \n    ...\n)\n</code></pre>\n\n<p>Please note, that by default, each step is expected to complete within the <a href=\"#!/api/Siesta.Harness-cfg-defaultTimeout\" rel=\"Siesta.Harness-cfg-defaultTimeout\" class=\"docClass\">Siesta.Harness.defaultTimeout</a> time.\nYou can change this with the <code>timeout</code> property of the step configuration object, allowing some steps to last longer.\nSteps with sub-tests are expected to complete within <a href=\"#!/api/Siesta.Harness-cfg-subTestTimeout\" rel=\"Siesta.Harness-cfg-subTestTimeout\" class=\"docClass\">Siesta.Harness.subTestTimeout</a>.</p>\n\n<p>In a special case, <code>action</code> property of the step configuration object can be a function. In this case you can also\nprovide a <code>timeout</code> property, otherwise this case is identical to using functions:</p>\n\n<pre><code>t.chain(\n    {\n        action      : function (next) { ... },\n        // allow 50s for the function to call \"next\" before step will be considered timed-out\n        timeout     : 50000\n    },\n    ...\n)\n</code></pre>\n\n<p> <strong>Tip</strong>:</p>\n\n<p> If a step is presented with a <code>null</code> or <code>undefined</code> value it will be ignored. Additionally, a step can be\n an array of steps - all arrays passed to t.chain will be flattened.</p>\n\n<p> These tips allows us to implement conditional steps processing, like this:</p>\n\n<pre><code>var el1IsInDom          = t.$('.some-class1')[ 0 ]\nvar el2IsInDom          = t.$('.some-class2')[ 0 ]\n\nt.chain(\n    { click : '.some-other-el' },\n\n    el1IsInDom ? [\n        { click : el1IsInDom },\n\n        el2IsInDom ? [\n            { click : el1IsInDom }\n        ] : null,\n    ] : null,\n\n    ...\n)\n</code></pre>\n\n<p> See also : <a href=\"#!/api/Siesta.Test.More-method-chainForArray\" rel=\"Siesta.Test.More-method-chainForArray\" class=\"docClass\">chainForArray</a>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>step1</span> : Function/Object/Array<div class='sub-desc'><p>The function to execute or action configuration, or an array of steps</p>\n</div></li><li><span class='pre'>step2</span> : Function/Object<div class='sub-desc'><p>The function to execute or action configuration</p>\n</div></li><li><span class='pre'>stepN</span> : Function/Object<div class='sub-desc'><p>The function to execute or action configuration</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-chainForArray' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-chainForArray' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-chainForArray' class='name expandable'>chainForArray</a>( <span class='pre'>array, generator, [callback]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This is a wrapper around the chain method, which allows you to run the chain over the steps, generated from the eleme...</div><div class='long'><p>This is a wrapper around the <a href=\"#!/api/Siesta.Test.More-method-chain\" rel=\"Siesta.Test.More-method-chain\" class=\"docClass\">chain</a> method, which allows you to run the chain over the steps, generated from the elements\nof some array. For example, if in some step of outer chain, we need to click the elements with ids, given as the array, we can do:</p>\n\n<pre><code>function (next) {\n    var ids     = [ 'button-1', 'button-2', 'button-3' ]\n\n    t.chainForArray(ids, function (elId) {\n        return { click : '#' + elId }\n    }, next)\n}\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>array</span> : Array<div class='sub-desc'><p>An array with arbitrary elements</p>\n</div></li><li><span class='pre'>generator</span> : Function<div class='sub-desc'><p>A function, which will be called for every element of the <code>array</code>. It should return\na chain step, generated from that element. This function can return an array of steps as well. If generator will return <code>null</code> or\n<code>undefined</code> nothing will be added to the chain.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>el</span> : Function<div class='sub-desc'><p>An element of the <code>array</code></p>\n</div></li><li><span class='pre'>index</span> : Function<div class='sub-desc'><p>An index of the element</p>\n</div></li></ul></div></li><li><span class='pre'>callback</span> : Function (optional)<div class='sub-desc'><p>A function to call, once the chain is completed.</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-clearTimeout' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-clearTimeout' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-clearTimeout' class='name expandable'>clearTimeout</a>( <span class='pre'>timeoutId</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will just call the clearTimeout method from the scope of the test page. ...</div><div class='long'><p>This method will just call the <code>clearTimeout</code> method from the scope of the test page.</p>\n\n<p>Usually you don't need to use it - you can just call <code>clearTimeout</code>, but if your test scripts resides in the\nseparate context, you need to use this method for <code>clearTimeout</code> functionality. See documentation for enablePageRedirect\noption and <a href=\"#!/guide/cross_page_testing\">Cross page testing</a> guide.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>timeoutId</span> : Number<div class='sub-desc'><p>The id of the timeout, recevied from the <a href=\"#!/api/Siesta.Test.Browser-method-setTimeout\" rel=\"Siesta.Test.Browser-method-setTimeout\" class=\"docClass\">setTimeout</a> call</p>\n</div></li></ul></div></div></div><div id='method-click' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-click' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-click' class='name expandable'>click</a>( <span class='pre'>[el], [callback], [scope], [options], [offset]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will simulate a mouse click in the center of the specified DOM/Ext element,\nor at current cursor position...</div><div class='long'><p>This method will simulate a mouse click in the center of the specified DOM/Ext element,\nor at current cursor position if no target is provided.</p>\n\n<p>Note, that it will first calculate the centeral point of the specified element and then\nwill pick the top-most DOM element from that point. For example, if you will provide a grid row as the <code>el</code>,\nthen click will happen on top of the central cell, and then will bubble to the row itself.\nIn most cases this is the desired behavior.</p>\n\n<p>The following events will be fired, in order:  <code>mouseover</code>, <code>mousedown</code>, <code>mouseup</code>, <code>click</code></p>\n\n<p>Example:</p>\n\n<pre><code> t.click(t.getFirstRow(grid), function () { ... })\n</code></pre>\n\n<p>The 1st argument for this method can be omitted. In this case, Siesta will use the current cursor position:</p>\n\n<pre><code> t.click(function () { ... })\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>el</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a> (optional)<div class='sub-desc'><p>One of the <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a> values to convert to DOM element</p>\n</div></li><li><span class='pre'>callback</span> : Function (optional)<div class='sub-desc'><p>A function to call after click.</p>\n</div></li><li><span class='pre'>scope</span> : Object (optional)<div class='sub-desc'><p>The scope for the callback</p>\n</div></li><li><span class='pre'>options</span> : Object (optional)<div class='sub-desc'><p>Any options to use for the simulated DOM event</p>\n</div></li><li><span class='pre'>offset</span> : Array (optional)<div class='sub-desc'><p>An X,Y offset relative to the target. Example: [20, 20] for 20px or [\"50%\", \"100%-2\"] to click in the center horizontally and 2px from the bottom edge.</p>\n</div></li></ul></div></div></div><div id='method-compareObjects' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Util.Role.CanCompareObjects' rel='Siesta.Util.Role.CanCompareObjects' class='defined-in docClass'>Siesta.Util.Role.CanCompareObjects</a><br/><a href='source/CanCompareObjects.html#Siesta-Util-Role-CanCompareObjects-method-compareObjects' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Util.Role.CanCompareObjects-method-compareObjects' class='name expandable'>compareObjects</a>( <span class='pre'>obj1, obj2, strict, onlyPrimitives, asObjects</span> ) : Boolean<span class=\"signature\"></span></div><div class='description'><div class='short'>This method performs a deep comparison of the passed JSON objects. ...</div><div class='long'><p>This method performs a deep comparison of the passed JSON objects. Objects must not contain cyclic references.\nYou can use this method in your own assertions.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>obj1</span> : Mixed<div class='sub-desc'><p>The 1st object to compare</p>\n</div></li><li><span class='pre'>obj2</span> : Mixed<div class='sub-desc'><p>The 2nd object to compare</p>\n</div></li><li><span class='pre'>strict</span> : Boolean<div class='sub-desc'><p>When passed the <code>true</code> value, the comparison of the primitive values will be performed with the\n<code>===</code> operator (so [ 1 ] and [ \"1\" ] object will be different). Additionally, when this flag is set to <code>true</code>, then\nwhen comparing Function, RegExp and Date instances, additional check that objects contains the same set of own properties (\"hasOwnProperty\")\nwill be performed.</p>\n</div></li><li><span class='pre'>onlyPrimitives</span> : Boolean<div class='sub-desc'><p>When set to <code>true</code>, the function will not recurse into composite objects (like [] or {}) and will just report that\nobjects are different. Use this mode when you are only interested in comparison of primitive values (numbers, strings, etc).</p>\n</div></li><li><span class='pre'>asObjects</span> : Boolean<div class='sub-desc'><p>When set to <code>true</code>, the function will compare various special Object instances, like Functions, RegExp etc,\nby comparison of their properties only and not taking the anything else into account.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Boolean</span><div class='sub-desc'><p><code>true</code> if the passed objects are equal</p>\n</div></li></ul></div></div></div><div id='method-createSpy' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-createSpy' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-createSpy' class='name expandable'>createSpy</a>( <span class='pre'>[spyName]</span> ) : Function<span class=\"signature\"></span></div><div class='description'><div class='short'>This method create a standalone spy function, which tracks all calls to it. ...</div><div class='long'><p>This method create a standalone spy function, which tracks all calls to it. Tracking is done using the associated\nspy instance, which is available as <code>and</code> property. One can use the <a href=\"#!/api/Siesta.Test.BDD.Spy\" rel=\"Siesta.Test.BDD.Spy\" class=\"docClass\">Siesta.Test.BDD.Spy</a> class API to\nverify the calls to the spy function.</p>\n\n<p>Example:</p>\n\n<pre><code>var spyFunc     = t.createSpy('onadd listener')\n\nmyObservable.addEventListener('add', spyFunc)\n\n// do something that triggers the `add` event on the `myObservable`\n\nt.expect(spyFunc).toHaveBeenCalled()\n\nt.expect(spyFunc.calls.argsFor(1)).toEqual([ 'Arg1', 'Arg2' ])\n</code></pre>\n\n<p>See also: <a href=\"#!/api/Siesta.Test.BDD-method-spyOn\" rel=\"Siesta.Test.BDD-method-spyOn\" class=\"docClass\">spyOn</a></p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>spyName</span> : String (optional)<div class='sub-desc'><p>A name of the spy for debugging purposes</p>\n<p>Defaults to: <code>'James Bond'</code></p></div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Function</span><div class='sub-desc'><p>Created function. The associated spy instance is assigned to it as the <code>and</code> property</p>\n</div></li></ul></div></div></div><div id='method-createSpyObj' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-createSpyObj' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-createSpyObj' class='name expandable'>createSpyObj</a>( <span class='pre'>spyName, properties</span> ) : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>This method creates an object, which properties are spy functions. ...</div><div class='long'><p>This method creates an object, which properties are spy functions. Such object can later be used as a mockup.</p>\n\n<p>This method can be called with one argument only, which should be an array of properties.</p>\n\n<p>Example:</p>\n\n<pre><code>var mockup      = t.createSpyObj('encoder-mockup', [ 'encode', 'decode' ])\n// or just\nvar mockup      = t.createSpyObj([ 'encode', 'decode' ])\n\nmockup.encode('string')\nmockup.decode('string')\n\nt.expect(mockup.encode).toHaveBeenCalled()\n</code></pre>\n\n<p>See also: <a href=\"#!/api/Siesta.Test.BDD-method-createSpy\" rel=\"Siesta.Test.BDD-method-createSpy\" class=\"docClass\">createSpy</a></p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>spyName</span> : String<div class='sub-desc'><p>A name of the spy object. Can be omitted.</p>\n</div></li><li><span class='pre'>properties</span> : Array[String]<div class='sub-desc'><p>An array of the property names. For each property name a spy function will be created.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>A mockup object</p>\n</div></li></ul></div></div></div><div id='method-ddescribe' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-ddescribe' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-ddescribe' class='name expandable'>ddescribe</a>( <span class='pre'>name, code, [timeout]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This is an \"exclusive\" version of the regular describe suite. ...</div><div class='long'><p>This is an \"exclusive\" version of the regular <a href=\"#!/api/Siesta.Test.BDD-method-describe\" rel=\"Siesta.Test.BDD-method-describe\" class=\"docClass\">describe</a> suite. When such suites presents in some test file,\nthe other regular suites at the same level will not be executed, only \"exclusive\" ones.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>name</span> : String<div class='sub-desc'><p>The name or description of the suite</p>\n</div></li><li><span class='pre'>code</span> : Function<div class='sub-desc'><p>The code function for this suite. It will receive a test instance as the first argument which should be used for all assertion methods.</p>\n</div></li><li><span class='pre'>timeout</span> : Number (optional)<div class='sub-desc'><p>A maximum duration for this suite. If not provided <a href=\"#!/api/Siesta.Harness-cfg-subTestTimeout\" rel=\"Siesta.Harness-cfg-subTestTimeout\" class=\"docClass\">Siesta.Harness.subTestTimeout</a> value is used.</p>\n</div></li></ul></div></div></div><div id='method-describe' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-describe' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-describe' class='name expandable'>describe</a>( <span class='pre'>name, code, [timeout]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method starts a sub test with suite (in BDD terms). ...</div><div class='long'><p>This method starts a sub test with <em>suite</em> (in BDD terms). Such suite consists from one or more <em>specs</em> (see method <a href=\"#!/api/Siesta.Test.BDD-method-it\" rel=\"Siesta.Test.BDD-method-it\" class=\"docClass\">it</a>} or other suites.\nThe number of nesting levels is not limited. All suites of the same nesting level are executed sequentially.</p>\n\n<p>For example:</p>\n\n<pre><code>t.describe('A product', function (t) {\n\n    t.it('should have feature X', function (t) {\n        ...\n    })\n\n    t.describe('feature X', function (t) {\n        t.it('should be cool', function (t) {\n            ...\n        })\n    })\n})\n</code></pre>\n\n<p>See also <a href=\"#!/api/Siesta.Test.BDD-method-beforeEach\" rel=\"Siesta.Test.BDD-method-beforeEach\" class=\"docClass\">beforeEach</a>, <a href=\"#!/api/Siesta.Test.BDD-method-afterEach\" rel=\"Siesta.Test.BDD-method-afterEach\" class=\"docClass\">afterEach</a>, <a href=\"#!/api/Siesta.Test.BDD-method-xdescribe\" rel=\"Siesta.Test.BDD-method-xdescribe\" class=\"docClass\">xdescribe</a>, <a href=\"#!/api/Siesta.Test.BDD-method-ddescribe\" rel=\"Siesta.Test.BDD-method-ddescribe\" class=\"docClass\">ddescribe</a></p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>name</span> : String<div class='sub-desc'><p>The name or description of the suite</p>\n</div></li><li><span class='pre'>code</span> : Function<div class='sub-desc'><p>The code function for this suite. It will receive a test instance as the first argument which should be used for all assertion methods.</p>\n</div></li><li><span class='pre'>timeout</span> : Number (optional)<div class='sub-desc'><p>A maximum duration for this suite. If not provided <a href=\"#!/api/Siesta.Harness-cfg-subTestTimeout\" rel=\"Siesta.Harness-cfg-subTestTimeout\" class=\"docClass\">Siesta.Harness.subTestTimeout</a> value is used.</p>\n</div></li></ul></div></div></div><div id='method-diag' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-diag' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-diag' class='name expandable'>diag</a>( <span class='pre'>desc</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method output the diagnostic message. ...</div><div class='long'><p>This method output the diagnostic message.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>desc</span> : String<div class='sub-desc'><p>The text of diagnostic message</p>\n</div></li></ul></div></div></div><div id='method-done' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-done' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-done' class='name expandable'>done</a>( <span class='pre'>delay</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method indicates that the test has reached the expected point of its completion and no more assertions are planned. ...</div><div class='long'><p>This method indicates that the test has reached the expected point of its completion and no more assertions are planned.\nAdding assertions after the call to <code>done</code> will be considered as a failure.</p>\n\n<p>This method <strong>does not</strong> stop the execution of the test. For that, see the <a href=\"#!/api/Siesta.Test-method-exit\" rel=\"Siesta.Test-method-exit\" class=\"docClass\">exit</a> method.</p>\n\n<p>See also <a href=\"#!/api/Siesta.Harness-cfg-needDone\" rel=\"Siesta.Harness-cfg-needDone\" class=\"docClass\">Siesta.Harness.needDone</a></p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>delay</span> : Number<div class='sub-desc'><p>Optional. When provided, the test will not complete right away, but will wait for <code>delay</code> milliseconds for additional assertions.</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-doubleClick' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-doubleClick' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-doubleClick' class='name expandable'>doubleClick</a>( <span class='pre'>[el], [callback], [scope], [options], [offset]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will simulate a mouse double click in the center of the specified DOM/Ext element,\nor at current cursor p...</div><div class='long'><p>This method will simulate a mouse double click in the center of the specified DOM/Ext element,\nor at current cursor position if no target is provided.</p>\n\n<p>Note, that it will first calculate the centeral point of the specified element and then\nwill pick the top-most DOM element from that point. For example, if you will provide a grid row as the <code>el</code>,\nthen click will happen on top of the central cell, and then will bubble to the row itself.\nIn most cases this is the desired behavior.</p>\n\n<p>The following events will be fired, in order:  <code>mouseover</code>, <code>mousedown</code>, <code>mouseup</code>, <code>click</code>, <code>mousedown</code>, <code>mouseup</code>, <code>click</code>, <code>dblclick</code></p>\n\n<p>Example:</p>\n\n<pre><code> t.click(t.getFirstRow(grid), function () { ... })\n</code></pre>\n\n<p>The 1st argument for this method can be omitted. In this case, Siesta will use the current cursor position:</p>\n\n<pre><code> t.click(function () { ... })\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>el</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a> (optional)<div class='sub-desc'><p>One of the <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a> values to convert to DOM element</p>\n</div></li><li><span class='pre'>callback</span> : Function (optional)<div class='sub-desc'><p>A function to call after click.</p>\n</div></li><li><span class='pre'>scope</span> : Object (optional)<div class='sub-desc'><p>The scope for the callback</p>\n</div></li><li><span class='pre'>options</span> : Object (optional)<div class='sub-desc'><p>Any options to use for the simulated DOM event</p>\n</div></li><li><span class='pre'>offset</span> : Array (optional)<div class='sub-desc'><p>An X,Y offset relative to the target. Example: [20, 20] for 20px or [\"50%\", \"100%-2\"] to click in the center horizontally and 2px from the bottom edge.</p>\n</div></li></ul></div></div></div><div id='method-drag' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-drag' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-drag' class='name expandable'>drag</a>( <span class='pre'>source, [target], [delta], [callback], [scope], options</span> )<span class=\"signature\"><span class='deprecated' >deprecated</span></span></div><div class='description'><div class='short'>This method will simulate a drag and drop operation between either two points or two DOM elements. ...</div><div class='long'><p>This method will simulate a drag and drop operation between either two points or two DOM elements.\nThe following events will be fired, in order:  <code>mouseover</code>, <code>mousedown</code>, <code>mousemove</code> (along the mouse path), <code>mouseup</code></p>\n        <div class='rounded-box deprecated-box deprecated-tag-box'>\n        <p>This method has been <strong>deprected</strong> </p>\n        <p>This method is deprecated in favor of <a href=\"#!/api/Siesta.Test.Simulate.Mouse-method-dragTo\" rel=\"Siesta.Test.Simulate.Mouse-method-dragTo\" class=\"docClass\">dragTo</a> and <a href=\"#!/api/Siesta.Test.Simulate.Mouse-method-dragBy\" rel=\"Siesta.Test.Simulate.Mouse-method-dragBy\" class=\"docClass\">dragBy</a> methods</p>\n\n        </div>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>source</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'><p>Either an element, or [x,y] as the drag starting point</p>\n</div></li><li><span class='pre'>target</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a> (optional)<div class='sub-desc'><p>Either an element, or [x,y] as the drag end point</p>\n</div></li><li><span class='pre'>delta</span> : Array (optional)<div class='sub-desc'><p>the amount to drag from the source coordinate, expressed as [x,y]. [50, 10] will drag 50px to the right and 10px down.</p>\n</div></li><li><span class='pre'>callback</span> : Function (optional)<div class='sub-desc'><p>To run this method async, provide a callback method to be called after the drag operation is completed.</p>\n</div></li><li><span class='pre'>scope</span> : Object (optional)<div class='sub-desc'><p>the scope for the callback</p>\n</div></li><li><span class='pre'>options</span> : Object<div class='sub-desc'><p>any extra options used to configure the DOM event</p>\n</div></li></ul></div></div></div><div id='method-dragBy' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-dragBy' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-dragBy' class='name expandable'>dragBy</a>( <span class='pre'>source, delta, [callback], [scope], options, dragOnly, [offset]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will simulate a drag and drop operation from a point (or DOM element) and move by a delta. ...</div><div class='long'><p>This method will simulate a drag and drop operation from a point (or DOM element) and move by a delta.\nThe following events will be fired, in order:  <code>mouseover</code>, <code>mousedown</code>, <code>mousemove</code> (along the mouse path), <code>mouseup</code></p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>source</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'><p><a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a> value as the drag starting point</p>\n</div></li><li><span class='pre'>delta</span> : Array<div class='sub-desc'><p>The amount to drag from the source coordinate, expressed as [x,y]. E.g. [50, 10] will drag 50px to the right and 10px down.</p>\n</div></li><li><span class='pre'>callback</span> : Function (optional)<div class='sub-desc'><p>To run this method async, provide a callback method to be called after the drag operation is completed.</p>\n</div></li><li><span class='pre'>scope</span> : Object (optional)<div class='sub-desc'><p>the scope for the callback</p>\n</div></li><li><span class='pre'>options</span> : Object<div class='sub-desc'><p>any extra options used to configure the DOM event</p>\n</div></li><li><span class='pre'>dragOnly</span> : Boolean<div class='sub-desc'><p>true to skip the mouseup and not finish the drop operation.</p>\n</div></li><li><span class='pre'>offset</span> : Array (optional)<div class='sub-desc'><p>An X,Y offset relative to the target. Example: [20, 20] for 20px or [\"50%\", \"100%-2\"] to click in the center horizontally and 2px from the bottom edge.</p>\n</div></li></ul></div></div></div><div id='method-dragTo' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-dragTo' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-dragTo' class='name expandable'>dragTo</a>( <span class='pre'>source, target, [callback], [scope], options, dragOnly, [sourceOffset], [targetOffset]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will simulate a drag and drop operation between either two points or two DOM elements. ...</div><div class='long'><p>This method will simulate a drag and drop operation between either two points or two DOM elements.\nThe following events will be fired, in order:  <code>mouseover</code>, <code>mousedown</code>, <code>mousemove</code> (along the mouse path), <code>mouseup</code></p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>source</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'><p><a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a> value for the drag starting point</p>\n</div></li><li><span class='pre'>target</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'><p><a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a> value for the drag end point</p>\n</div></li><li><span class='pre'>callback</span> : Function (optional)<div class='sub-desc'><p>To run this method async, provide a callback method to be called after the drag operation is completed.</p>\n</div></li><li><span class='pre'>scope</span> : Object (optional)<div class='sub-desc'><p>the scope for the callback</p>\n</div></li><li><span class='pre'>options</span> : Object<div class='sub-desc'><p>any extra options used to configure the DOM event</p>\n</div></li><li><span class='pre'>dragOnly</span> : Boolean<div class='sub-desc'><p>true to skip the mouseup and not finish the drop operation.</p>\n</div></li><li><span class='pre'>sourceOffset</span> : Array (optional)<div class='sub-desc'><p>An X,Y offset relative to the source. Example: [20, 20] for 20px or [\"50%\", \"100%-2\"] to click in the center horizontally and 2px from the bottom edge.</p>\n</div></li><li><span class='pre'>targetOffset</span> : Array (optional)<div class='sub-desc'><p>An X,Y offset relative to the target. Example: [20, 20] for 20px or [\"50%\", \"100%-2\"] to click in the center horizontally and 2px from the bottom edge.</p>\n</div></li></ul></div></div></div><div id='method-earlySetup' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-earlySetup' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-earlySetup' class='name expandable'>earlySetup</a>( <span class='pre'>callback, errback</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method can perform any setup code your tests need. ...</div><div class='long'><p>This method can perform any setup code your tests need. It is the earliest point for doing setup, it is called\neven before the iframe of the test is created and started loading. Normally, you should use the <a href=\"#!/api/Siesta.Test-method-setup\" rel=\"Siesta.Test-method-setup\" class=\"docClass\">setup</a> method\nfor tests initialization purposes.</p>\n\n<p>Typical usage for this method can be  for example to clear the database, before starting to\nload the <a href=\"#!/api/Siesta.Harness.Browser-cfg-pageUrl\" rel=\"Siesta.Harness.Browser-cfg-pageUrl\" class=\"docClass\">pageUrl</a> link.</p>\n\n<p>This method receives a callback and errback, either of these should be called once the setup has completed (or failed).</p>\n\n<pre><code>Class('My.Test.Class', {\n\n    isa         : <a href=\"#!/api/Siesta.Test.Browser\" rel=\"Siesta.Test.Browser\" class=\"docClass\">Siesta.Test.Browser</a>,\n\n    override : {\n\n        earlySetup : function (callback, errback) {\n            Ext.Ajax.request({\n                url     : 'clear_test_db.php',\n\n                params  : { ... },\n\n                success : function () {\n                    callback()\n                },\n                failure : function () {\n                    errback('Reseting DB has failed')\n                }\n            })\n        }\n    },\n\n    ....\n})\n</code></pre>\n\n<p>If the setup has failed for some reason, then an errback should be called and a failing assertion will be added to the test\n(though the test will be lauched anyway). A text of the failed assertion can be given as the 1st argument for the errback.</p>\n\n<p>Note, that the setup is supposed to be completed within the <a href=\"#!/api/Siesta.Test-cfg-isReadyTimeout\" rel=\"Siesta.Test-cfg-isReadyTimeout\" class=\"docClass\">isReadyTimeout</a> timeout, otherwise it will be\nconsidered failed and the test will be launched with a failed assertion. Also, this method is not called for the\nre-used iframes (see the <a href=\"#!/api/Siesta.Harness.Browser-cfg-sandbox\" rel=\"Siesta.Harness.Browser-cfg-sandbox\" class=\"docClass\">sandbox</a> option).</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>A function to call when the setup has completed successfully</p>\n</div></li><li><span class='pre'>errback</span> : Function<div class='sub-desc'><p>A function to call when the setup has completed with an error</p>\n</div></li></ul></div></div></div><div id='method-elementFromPoint' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-elementFromPoint' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-elementFromPoint' class='name expandable'>elementFromPoint</a>( <span class='pre'>x, y, [shallow]</span> ) : HTMLElement<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will return the top-most DOM element at the specified coordinates from the test page. ...</div><div class='long'><p>This method will return the top-most DOM element at the specified coordinates from the test page. If\nthe resulting element is an iframe and <code>shallow</code> argument is not passed as <code>true</code>\nit'll query the iframe for its element from the local point inside it.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>x</span> : Number<div class='sub-desc'><p>The X coordinate, relative to the viewport area (currently visible part of the page)</p>\n</div></li><li><span class='pre'>y</span> : Number<div class='sub-desc'><p>The Y coordinate, relative to the viewport area (currently visible part of the page)</p>\n</div></li><li><span class='pre'>shallow</span> : Boolean (optional)<div class='sub-desc'><p>Pass <code>true</code> to <em>not</em> check the nested iframe if element at original coordinates is an iframe.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>HTMLElement</span><div class='sub-desc'><p>The top-most element at the specified position on the test page</p>\n</div></li></ul></div></div></div><div id='method-endAsync' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-endAsync' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-endAsync' class='name expandable'>endAsync</a>( <span class='pre'>frame</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method finalize the \"asynchronous frame\" started with beginAsync. ...</div><div class='long'><p>This method finalize the \"asynchronous frame\" started with <a href=\"#!/api/Siesta.Test-method-beginAsync\" rel=\"Siesta.Test-method-beginAsync\" class=\"docClass\">beginAsync</a>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>frame</span> : Object<div class='sub-desc'><p>The frame to finalize (returned by <a href=\"#!/api/Siesta.Test-method-beginAsync\" rel=\"Siesta.Test-method-beginAsync\" class=\"docClass\">beginAsync</a> method</p>\n</div></li></ul></div></div></div><div id='method-endWait' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-endWait' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-endWait' class='name expandable'>endWait</a>( <span class='pre'>title</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method finalize the \"asynchronous frame\" started with wait. ...</div><div class='long'><p>This method finalize the \"asynchronous frame\" started with <a href=\"#!/api/Siesta.Test-method-wait\" rel=\"Siesta.Test-method-wait\" class=\"docClass\">wait</a>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>title</span> : String<div class='sub-desc'><p>The id of frame to finalize, which was previously passed to <a href=\"#!/api/Siesta.Test-method-wait\" rel=\"Siesta.Test-method-wait\" class=\"docClass\">wait</a> method</p>\n</div></li></ul></div></div></div><div id='method-exit' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-exit' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-exit' class='name expandable'>exit</a>( <span class='pre'>[desc], [annotation]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method stops the execution of the test early. ...</div><div class='long'><p>This method stops the execution of the test early. You can use it if, for example, you already know the status of\ntest (failed) and further actions involves long waitings etc.</p>\n\n<p>This method accepts the same arguments as the <a href=\"#!/api/Siesta.Test-method-fail\" rel=\"Siesta.Test-method-fail\" class=\"docClass\">fail</a> method. If at least the one argument is given,\na failed assertion will be added to the test before the exit.</p>\n\n<p>For example:</p>\n\n<pre><code>    t.chain(\n        function (next) {\n            // do something\n\n            next()\n        },\n        function (next) {\n            if (someCondition) \n                t.exit(\"Failure description\")\n            else\n                next()\n        },\n        { waitFor : function () { ... } }\n    )\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li><li><span class='pre'>annotation</span> : String/Object (optional)<div class='sub-desc'><p>The additional description how exactly this assertion fails. Will be shown with monospace font.</p>\n</div></li></ul></div></div></div><div id='method-expect' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-expect' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-expect' class='name expandable'>expect</a>( <span class='pre'>value</span> ) : <a href=\"#!/api/Siesta.Test.BDD.Expectation\" rel=\"Siesta.Test.BDD.Expectation\" class=\"docClass\">Siesta.Test.BDD.Expectation</a><span class=\"signature\"></span></div><div class='description'><div class='short'>This method returns an \"expectation\" instance, which can be used to check various assertions about the passed value. ...</div><div class='long'><p>This method returns an \"expectation\" instance, which can be used to check various assertions about the passed value.</p>\n\n<p><strong>Note</strong>, that every expectation has a special property <code>not</code>, that contains another expectation, but with the negated meaning.</p>\n\n<p>For example:</p>\n\n<pre><code>t.expect(1).toBe(1)\nt.expect(1).not.toBe(2)\n\nt.expect('Foo').toContain('oo')\nt.expect('Foo').not.toContain('bar')\n</code></pre>\n\n<p>Please refer to the documentation of the <a href=\"#!/api/Siesta.Test.BDD.Expectation\" rel=\"Siesta.Test.BDD.Expectation\" class=\"docClass\">Siesta.Test.BDD.Expectation</a> class for the list of available methods.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Mixed<div class='sub-desc'><p>Any value, that will be assert about</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Siesta.Test.BDD.Expectation\" rel=\"Siesta.Test.BDD.Expectation\" class=\"docClass\">Siesta.Test.BDD.Expectation</a></span><div class='sub-desc'><p>Expectation instance</p>\n</div></li></ul></div></div></div><div id='method-expectAlertMessage' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-expectAlertMessage' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-expectAlertMessage' class='name expandable'>expectAlertMessage</a>( <span class='pre'>message, callback</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>Expects an alert message with the specified text to be shown during the test. ...</div><div class='long'><p>Expects an alert message with the specified text to be shown during the test. If no alert is called,\nor the text doesn't match, a failed assertion will be added.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>message</span> : String/RegExp<div class='sub-desc'><p>The expected alert message or a regular expression to match</p>\n</div></li><li><span class='pre'>callback</span> : Object<div class='sub-desc'><p>Only used internally when this method is called in a t.chain command</p>\n</div></li></ul></div></div></div><div id='method-expectGlobals' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-expectGlobals' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-expectGlobals' class='name expandable'>expectGlobals</a>( <span class='pre'>name1, name2, nameN</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method accepts a variable number of names of expected properties in the global scope. ...</div><div class='long'><p>This method accepts a variable number of names of expected properties in the global scope. When verifying the globals with <a href=\"#!/api/Siesta.Test.More-method-verifyGlobals\" rel=\"Siesta.Test.More-method-verifyGlobals\" class=\"docClass\">verifyGlobals</a>\nassertions, the expected gloabls will not be counted as failed assertions.</p>\n\n<p>This method has a synonym with singular name: <code>expectGlobal</code></p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>name1</span> : String/RegExp<div class='sub-desc'><p>The name of global property or the regular expression to match several properties</p>\n</div></li><li><span class='pre'>name2</span> : String/RegExp<div class='sub-desc'><p>The name of global property or the regular expression to match several properties</p>\n</div></li><li><span class='pre'>nameN</span> : String/RegExp<div class='sub-desc'><p>The name of global property or the regular expression to match several properties</p>\n</div></li></ul></div></div></div><div id='method-fail' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-fail' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-fail' class='name expandable'>fail</a>( <span class='pre'>desc, annotation</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method add the failed assertion to this test. ...</div><div class='long'><p>This method add the failed assertion to this test.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>desc</span> : String<div class='sub-desc'><p>The description of the assertion</p>\n</div></li><li><span class='pre'>annotation</span> : String/Object<div class='sub-desc'><p>The additional description how exactly this assertion fails. Will be shown with monospace font.</p>\n\n<p>Can be either string or an object with the following properties. In the latter case a string will be constructed from the properties of the object.</p>\n\n<ul>\n<li><code>assertionName</code> - the name of assertion, will be shown in the 1st line, along with originating source line (in FF and Chrome only)</li>\n<li><code>got</code> - an arbitrary JavaScript object, when provided will be shown on the next line</li>\n<li><code>need</code> - an arbitrary JavaScript object, when provided will be shown on the next line</li>\n<li><code>gotDesc</code> - a prompt for \"got\", default value is \"Got\", but can be for example: \"We have\"</li>\n<li><code>needDesc</code> - a prompt for \"need\", default value is \"Need\", but can be for example: \"We need\"</li>\n<li><code>annotation</code> - A text to append on the last line, can contain some additional explanations</li>\n</ul>\n\n\n<p> The \"got\" and \"need\" values will be stringified to the \"not quite JSON\" notation. Notably the points of circular references will be\n marked with <code>[Circular]</code> marks and the values at 4th (and following) level of depth will be marked with triple points: <code>[ [ [ ... ] ] ]</code></p>\n</div></li></ul></div></div></div><div id='method-firesAtLeastNTimes' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-firesAtLeastNTimes' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-firesAtLeastNTimes' class='name expandable'>firesAtLeastNTimes</a>( <span class='pre'>observable, event, n, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes if the observable fires the specified event at least n times after calling this method. ...</div><div class='long'><p>This assertion passes if the observable fires the specified event at least <code>n</code> times after calling this method.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>observable</span> : Mixed<div class='sub-desc'><p>Any browser observable, window object, element instances, CSS selector.</p>\n</div></li><li><span class='pre'>event</span> : String<div class='sub-desc'><p>The name of event</p>\n</div></li><li><span class='pre'>n</span> : Number<div class='sub-desc'><p>The minimum number of events to be fired</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion.</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-firesOk' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-firesOk' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-firesOk' class='name expandable'>firesOk</a>( <span class='pre'>options</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion verifies the number of certain events fired by provided observable instance during provided period. ...</div><div class='long'><p>This assertion verifies the number of certain events fired by provided observable instance during provided period.</p>\n\n<p>For example:</p>\n\n<pre><code>t.firesOk({\n    observable      : store,\n    events          : {\n        update      : 1,\n        add         : 2,\n        datachanged : '&gt; 1'\n    },\n    during          : function () {\n        store.getAt(0).set('Foo', 'Bar');\n\n        store.add({ FooBar : 'BazQuix' })\n        store.add({ Foo : 'Baz' })\n    },\n    desc            : 'Correct events fired'\n})\n\n// or\n\nt.firesOk({\n    observable      : store,\n    events          : {\n        update      : 1,\n        add         : 2,\n        datachanged : '&gt;= 1'\n    },\n    during          : 1\n})\n\nstore.getAt(0).set('Foo', 'Bar');\n\nstore.add({ FooBar : 'BazQuix' })\nstore.add({ Foo : 'Baz' })\n</code></pre>\n\n<p>Normally this method accepts a single object with various options (as shown above), but also can be called in 2 additional shortcuts forms:</p>\n\n<pre><code>// 1st form for multiple events\nt.firesOk(observable, { event1 : 1, event2 : '&gt;1' }, description)\n\n// 2nd form for single event\nt.firesOk(observable, eventName, 1, description)\nt.firesOk(observable, eventName, '&gt;1', description)\n</code></pre>\n\n<p>In both forms, <code>during</code> is assumed to be undefined and <code>description</code> is optional.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>options</span> : Object<div class='sub-desc'><p>An obect with the following properties:</p>\n<ul><li><span class='pre'>observable</span> : Ext.util.Observable/Ext.Element/HTMLElement<div class='sub-desc'><p>The observable instance that will fire events</p>\n</div></li><li><span class='pre'>events</span> : Object<div class='sub-desc'><p>The object, properties of which corresponds to event names and values - to expected\nnumber of this event triggering. If value of some property is a number then exact that number of events is expected. If value\nof some property is a string starting with one of the comparison operators like \"\\&lt;\", \"\\&lt;=\" etc and followed by the number\nthen Siesta will perform that comparison with the number of actualy fired events.</p>\n</div></li><li><span class='pre'>during</span> : Number/Function (optional)<div class='sub-desc'><p>If provided as a number denotes the number of milliseconds during which\nthis assertion will \"record\" the events from observable, if provided as function - then this assertion will \"record\"\nonly events fired during execution of this function. If not provided at all - assertions are recorded until the end of\ncurrent test (or sub-test)</p>\n</div></li><li><span class='pre'>callback</span> : Function (optional)<div class='sub-desc'><p>A callback to call after this assertion has been checked. Only used if <code>during</code> value is provided.</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>A description for this assertion</p>\n</div></li></ul></div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-firesOnce' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-firesOnce' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-firesOnce' class='name expandable'>firesOnce</a>( <span class='pre'>observable, event, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes if the observable fires the specified event exactly once after calling this method. ...</div><div class='long'><p>This assertion passes if the observable fires the specified event exactly once after calling this method.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>observable</span> : Mixed<div class='sub-desc'><p>Any browser observable, window object, element instances, CSS selector.</p>\n</div></li><li><span class='pre'>event</span> : String/Array[String]<div class='sub-desc'><p>The name of event or array of such</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion.</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-getElementAtCursor' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-getElementAtCursor' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-getElementAtCursor' class='name expandable'>getElementAtCursor</a>( <span class='pre'></span> ) : HTMLElement<span class=\"signature\"></span></div><div class='description'><div class='short'>This method uses native document.elementFromPoint() and returns the DOM element under the current logical cursor\nposi...</div><div class='long'><p>This method uses native <code>document.elementFromPoint()</code> and returns the DOM element under the current logical cursor\nposition in the test. Note, that this method may work not 100% reliable in IE due to its bugs. In cases\nwhen <code>document.elementFromPoint()</code> can't find any element this method returns the &lt;body&gt; element.</p>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>HTMLElement</span><div class='sub-desc'>\n</div></li></ul></div></div></div><div id='method-getSelectedText' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.TextSelection' rel='Siesta.Test.TextSelection' class='defined-in docClass'>Siesta.Test.TextSelection</a><br/><a href='source/TextSelection.html#Siesta-Test-TextSelection-method-getSelectedText' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.TextSelection-method-getSelectedText' class='name expandable'>getSelectedText</a>( <span class='pre'>el</span> ) : String<span class=\"signature\"></span></div><div class='description'><div class='short'>Utility method which returns the selected text in the passed element or in the document ...</div><div class='long'><p>Utility method which returns the selected text in the passed element or in the document</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>el</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'><p>The element</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>String</span><div class='sub-desc'><p>The selected text</p>\n</div></li></ul></div></div></div><div id='method-getSubTest' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-getSubTest' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-getSubTest' class='name expandable'>getSubTest</a>( <span class='pre'>name, code, [timeout]</span> ) : <a href=\"#!/api/Siesta.Test\" rel=\"Siesta.Test\" class=\"docClass\">Siesta.Test</a><span class=\"signature\"></span></div><div class='description'><div class='short'>Returns a new instance of the test class, configured as being a \"sub test\" of the current test. ...</div><div class='long'><p>Returns a new instance of the test class, configured as being a \"sub test\" of the current test.</p>\n\n<p>The number of nesting levels is not limited - ie sub-tests may have own sub-tests.</p>\n\n<p>Note, that this method does not starts the sub test, but only instatiate it. To start the sub test,\nuse the <a href=\"#!/api/Siesta.Test-method-launchSubTest\" rel=\"Siesta.Test-method-launchSubTest\" class=\"docClass\">launchSubTest</a> method or the <a href=\"#!/api/Siesta.Test-method-subTest\" rel=\"Siesta.Test-method-subTest\" class=\"docClass\">subTest</a> helper method.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>name</span> : String<div class='sub-desc'><p>The name of the test. Will be used in the UI, as the parent node name in the assertions tree</p>\n</div></li><li><span class='pre'>code</span> : Function<div class='sub-desc'><p>A function with test code. Will receive a test instance as the 1st argument.</p>\n</div></li><li><span class='pre'>timeout</span> : Number (optional)<div class='sub-desc'><p>A maximum duration (in ms) for this sub test. If test will not complete within this time,\nit will be considered failed. If not provided, the <a href=\"#!/api/Siesta.Harness-cfg-subTestTimeout\" rel=\"Siesta.Harness-cfg-subTestTimeout\" class=\"docClass\">Siesta.Harness.subTestTimeout</a> value is used.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Siesta.Test\" rel=\"Siesta.Test\" class=\"docClass\">Siesta.Test</a></span><div class='sub-desc'><p>A sub test instance</p>\n</div></li></ul></div></div></div><div id='method-iit' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-iit' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-iit' class='name expandable'>iit</a>( <span class='pre'>name, code, [timeout]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This is an \"exclusive\" version of the regular it spec. ...</div><div class='long'><p>This is an \"exclusive\" version of the regular <a href=\"#!/api/Siesta.Test.BDD-method-it\" rel=\"Siesta.Test.BDD-method-it\" class=\"docClass\">it</a> spec. When such specs presents in some suite,\nthe other regular specs at the same level will not be executed, only \"exclusive\" ones. Note, that even \"regular\" suites (<code>t.describe</code>) sections\nwill be ignored, if they are on the same level with the exclusive <code>iit</code> section.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>name</span> : String<div class='sub-desc'><p>The name or description of the spec</p>\n</div></li><li><span class='pre'>code</span> : Function<div class='sub-desc'><p>The code function for this spec. It will receive a test instance as the first argument which should be used for all assertion methods.</p>\n</div></li><li><span class='pre'>timeout</span> : Number (optional)<div class='sub-desc'><p>A maximum duration for this spec. If not provided <a href=\"#!/api/Siesta.Harness-cfg-subTestTimeout\" rel=\"Siesta.Harness-cfg-subTestTimeout\" class=\"docClass\">Siesta.Harness.subTestTimeout</a> value is used.</p>\n</div></li></ul></div></div></div><div id='method-is' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-is' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-is' class='name expandable'>is</a>( <span class='pre'>got, expected, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes when the comparison of 1st and 2nd arguments with == operator returns true and fails otherwise. ...</div><div class='long'><p>This assertion passes when the comparison of 1st and 2nd arguments with <code>==</code> operator returns true and fails otherwise.</p>\n\n<p>As a special case, one or both arguments can be <em>placeholders</em>, generated with method <a href=\"#!/api/Siesta.Test-method-any\" rel=\"Siesta.Test-method-any\" class=\"docClass\">any</a>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>got</span> : Mixed<div class='sub-desc'><p>The value \"we have\" - will be shown as \"Got:\" in case of failure</p>\n</div></li><li><span class='pre'>expected</span> : Mixed<div class='sub-desc'><p>The value \"we expect\" - will be shown as \"Need:\" in case of failure</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isApprox' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isApprox' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isApprox' class='name expandable'>isApprox</a>( <span class='pre'>value1, value2, threshHold, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion suppose to compare the numeric values. ...</div><div class='long'><p>This assertion suppose to compare the numeric values. It passes when the passed values are approximately the same (the difference\nis withing a threshold). A threshold can be provided explicitly (when assertion is called with 4 arguments),\nor it will be set to 5% from the 1st value (when calling assertion with 3 arguments).</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value1</span> : Number<div class='sub-desc'><p>The 1st value to compare</p>\n</div></li><li><span class='pre'>value2</span> : Number<div class='sub-desc'><p>The 2nd value to compare</p>\n</div></li><li><span class='pre'>threshHold</span> : Number<div class='sub-desc'><p>The maximum allowed difference between values. This argument can be omited.</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isArray' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isArray' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isArray' class='name expandable'>isArray</a>( <span class='pre'>value, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes, if supplied value is an Array ...</div><div class='long'><p>This assertion passes, if supplied value is an Array</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Mixed<div class='sub-desc'><p>The value to check.</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isBoolean' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isBoolean' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isBoolean' class='name expandable'>isBoolean</a>( <span class='pre'>value, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes, if supplied value is a Boolean. ...</div><div class='long'><p>This assertion passes, if supplied value is a Boolean.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Mixed<div class='sub-desc'><p>The value to check.</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isCalled' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Function' rel='Siesta.Test.Function' class='defined-in docClass'>Siesta.Test.Function</a><br/><a href='source/Function.html#Siesta-Test-Function-method-isCalled' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Function-method-isCalled' class='name expandable'>isCalled</a>( <span class='pre'>fn, host, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes if the function is called at least one time during the test life span. ...</div><div class='long'><p>This assertion passes if the function is called at least one time during the test life span.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>fn</span> : Function/String<div class='sub-desc'><p>The function itself or the name of the function on the host object (2nd argument)</p>\n</div></li><li><span class='pre'>host</span> : Object<div class='sub-desc'><p>The \"owner\" of the method</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion.</p>\n</div></li></ul></div></div></div><div id='method-isCalledNTimes' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Function' rel='Siesta.Test.Function' class='defined-in docClass'>Siesta.Test.Function</a><br/><a href='source/Function.html#Siesta-Test-Function-method-isCalledNTimes' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Function-method-isCalledNTimes' class='name expandable'>isCalledNTimes</a>( <span class='pre'>fn, host, n, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes if the function is called exactly (n) times during the test life span. ...</div><div class='long'><p>This assertion passes if the function is called exactly (n) times during the test life span.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>fn</span> : Function/String<div class='sub-desc'><p>The function itself or the name of the function on the host object (2nd argument)</p>\n</div></li><li><span class='pre'>host</span> : Object<div class='sub-desc'><p>The \"owner\" of the method</p>\n</div></li><li><span class='pre'>n</span> : Number<div class='sub-desc'><p>The expected number of calls</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion.</p>\n</div></li></ul></div></div></div><div id='method-isCalledOnce' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Function' rel='Siesta.Test.Function' class='defined-in docClass'>Siesta.Test.Function</a><br/><a href='source/Function.html#Siesta-Test-Function-method-isCalledOnce' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Function-method-isCalledOnce' class='name expandable'>isCalledOnce</a>( <span class='pre'>fn, host, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes if the function is called exactly one time during the test life span. ...</div><div class='long'><p>This assertion passes if the function is called exactly one time during the test life span.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>fn</span> : Function/String<div class='sub-desc'><p>The function itself or the name of the function on the host object (2nd argument)</p>\n</div></li><li><span class='pre'>host</span> : Object<div class='sub-desc'><p>The \"owner\" of the method</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion.</p>\n</div></li></ul></div></div></div><div id='method-isDate' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isDate' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isDate' class='name expandable'>isDate</a>( <span class='pre'>value, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes, if supplied value is a Date. ...</div><div class='long'><p>This assertion passes, if supplied value is a Date.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Mixed<div class='sub-desc'><p>The value to check.</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isDateEqual' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Date' rel='Siesta.Test.Date' class='defined-in docClass'>Siesta.Test.Date</a><br/><a href='source/Date.html#Siesta-Test-Date-method-isDateEqual' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Date-method-isDateEqual' class='name expandable'>isDateEqual</a>( <span class='pre'>got, expectedDate, [description]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes when the 2 provided dates are equal and fails otherwise. ...</div><div class='long'><p>This assertion passes when the 2 provided dates are equal and fails otherwise.</p>\n\n<p>It has a synonym: <code>isDateEq</code></p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>got</span> : Date<div class='sub-desc'><p>The 1st date to compare</p>\n</div></li><li><span class='pre'>expectedDate</span> : Date<div class='sub-desc'><p>The 2nd date to compare</p>\n</div></li><li><span class='pre'>description</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isDeeply' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isDeeply' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isDeeply' class='name expandable'>isDeeply</a>( <span class='pre'>obj1, obj2, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes when in-depth comparison of 1st and 2nd arguments (which are assumed to be JSON objects) shows ...</div><div class='long'><p>This assertion passes when in-depth comparison of 1st and 2nd arguments (which are assumed to be JSON objects) shows that they are equal.\nComparison is performed with '==' operator, so <code>[ 1 ]</code> and `[ \"1\" ] objects will be equal. The objects should not contain cyclic references.</p>\n\n<p>This method works correctly with the <em>placeholders</em> generated with method any.</p>\n\n<p>This method has a synonym: <code>is_deeply</code></p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>obj1</span> : Object<div class='sub-desc'><p>The 1st object to compare</p>\n</div></li><li><span class='pre'>obj2</span> : Object<div class='sub-desc'><p>The 2nd object to compare</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isDeeplyStrict' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isDeeplyStrict' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isDeeplyStrict' class='name expandable'>isDeeplyStrict</a>( <span class='pre'>obj1, obj2, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes when in-depth comparison of 1st and 2nd arguments (which are assumed to be JSON objects) shows ...</div><div class='long'><p>This assertion passes when in-depth comparison of 1st and 2nd arguments (which are assumed to be JSON objects) shows that they are equal.\nComparison is performed with '===' operator, so <code>[ 1 ]</code> and `[ \"1\" ] objects will be different. The objects should not contain cyclic references.</p>\n\n<p>This method works correctly with the <em>placeholders</em> generated with method any.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>obj1</span> : Object<div class='sub-desc'><p>The 1st object to compare</p>\n</div></li><li><span class='pre'>obj2</span> : Object<div class='sub-desc'><p>The 2nd object to compare</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isFiredWithSignature' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-isFiredWithSignature' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-isFiredWithSignature' class='name expandable'>isFiredWithSignature</a>( <span class='pre'>observable, event, checkerFn, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion will verify that the observable fires the specified event and supplies the correct parameters to the l...</div><div class='long'><p>This assertion will verify that the observable fires the specified event and supplies the correct parameters to the listener function.\nA checker method should be supplied that verifies the arguments passed to the listener function, and then returns true or false depending on the result.\nIf the event was never fired, this assertion fails. If the event is fired multiple times, all events will be checked, but\nonly one pass/fail message will be reported.</p>\n\n<p>For example:</p>\n\n<pre><code>t.isFiredWithSignature(store, 'add', function (store, records, index) {\n    return (store instanceof Ext.data.Store) &amp;&amp; (records instanceof Array) &amp;&amp; t.typeOf(index) == 'Number'\n})\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>observable</span> : Ext.util.Observable/Siesta.Test.ActionTarget<div class='sub-desc'><p>Ext.util.Observable instance or target as specified by the <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a> rules with\nthe only difference that component queries will be resolved till the component level, and not the DOM element.</p>\n</div></li><li><span class='pre'>event</span> : String<div class='sub-desc'><p>The name of event</p>\n</div></li><li><span class='pre'>checkerFn</span> : Function<div class='sub-desc'><p>A method that should verify each argument, and return true or false depending on the result.</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion.</p>\n</div></li></ul></div></div></div><div id='method-isFunction' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isFunction' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isFunction' class='name expandable'>isFunction</a>( <span class='pre'>value, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes, if supplied value is a Function. ...</div><div class='long'><p>This assertion passes, if supplied value is a Function.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Mixed<div class='sub-desc'><p>The value to check.</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isGreater' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isGreater' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isGreater' class='name expandable'>isGreater</a>( <span class='pre'>value1, value2, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes, when the comparison of 1st with 2nd, using &gt; operator will return true and fails otherwise. ...</div><div class='long'><p>This assertion passes, when the comparison of 1st with 2nd, using <code>&gt;</code> operator will return <code>true</code> and fails otherwise.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value1</span> : Number/Date<div class='sub-desc'><p>The 1st value to compare</p>\n</div></li><li><span class='pre'>value2</span> : Number/Date<div class='sub-desc'><p>The 2nd value to compare</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isGreaterOrEqual' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isGreaterOrEqual' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isGreaterOrEqual' class='name expandable'>isGreaterOrEqual</a>( <span class='pre'>value1, value2, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes, when the comparison of 1st with 2nd, using &gt;= operator will return true and fails otherwise. ...</div><div class='long'><p>This assertion passes, when the comparison of 1st with 2nd, using <code>&gt;=</code> operator will return <code>true</code> and fails otherwise.</p>\n\n<p>It has a synonym - <code>isGE</code>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value1</span> : Number/Date<div class='sub-desc'><p>The 1st value to compare</p>\n</div></li><li><span class='pre'>value2</span> : Number/Date<div class='sub-desc'><p>The 2nd value to compare</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isInstanceOf' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isInstanceOf' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isInstanceOf' class='name expandable'>isInstanceOf</a>( <span class='pre'>value, className, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes, when the supplied value is the instance of the className. ...</div><div class='long'><p>This assertion passes, when the supplied <code>value</code> is the instance of the <code>className</code>. The check is performed with\n<code>instanceof</code> operator. The <code>className</code> parameter can be supplied as class constructor or as string, representing the class\nname. In the latter case the <code>class</code> will eval'ed to receive the class constructor.</p>\n\n<p>This method has synonyms: <code>isaOk</code>, <code>isa_ok</code></p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Mixed<div class='sub-desc'><p>The value to check for 'isa' relationship</p>\n</div></li><li><span class='pre'>className</span> : Class/String<div class='sub-desc'><p>The class to check for 'isa' relationship with <code>value</code></p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isLess' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isLess' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isLess' class='name expandable'>isLess</a>( <span class='pre'>value1, value2, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes, when the comparison of 1st with 2nd, using &lt; operator will return true and fails otherwise. ...</div><div class='long'><p>This assertion passes, when the comparison of 1st with 2nd, using <code>&lt;</code> operator will return <code>true</code> and fails otherwise.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value1</span> : Number/Date<div class='sub-desc'><p>The 1st value to compare</p>\n</div></li><li><span class='pre'>value2</span> : Number/Date<div class='sub-desc'><p>The 2nd value to compare</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isLessOrEqual' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isLessOrEqual' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isLessOrEqual' class='name expandable'>isLessOrEqual</a>( <span class='pre'>value1, value2, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes, when the comparison of 1st with 2nd, using &lt;= operator will return true and fails otherwise. ...</div><div class='long'><p>This assertion passes, when the comparison of 1st with 2nd, using <code>&lt;=</code> operator will return <code>true</code> and fails otherwise.</p>\n\n<p>It has a synonym - <code>isLE</code>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value1</span> : Number/Date<div class='sub-desc'><p>The 1st value to compare</p>\n</div></li><li><span class='pre'>value2</span> : Number/Date<div class='sub-desc'><p>The 2nd value to compare</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isNot' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-isNot' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-isNot' class='name expandable'>isNot</a>( <span class='pre'>got, expected, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes when the comparison of 1st and 2nd arguments with != operator returns true and fails otherwise. ...</div><div class='long'><p>This assertion passes when the comparison of 1st and 2nd arguments with <code>!=</code> operator returns true and fails otherwise.\nIt has synonyms - <code>isnot</code> and <code>isnt</code>.</p>\n\n<p>As a special case, one or both arguments can be instance of Siesta.Test.BDD.Placeholder class, generated with method <a href=\"#!/api/Siesta.Test-method-any\" rel=\"Siesta.Test-method-any\" class=\"docClass\">any</a>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>got</span> : Mixed<div class='sub-desc'><p>The value \"we have\" - will be shown as \"Got:\" in case of failure</p>\n</div></li><li><span class='pre'>expected</span> : Mixed<div class='sub-desc'><p>The value \"we expect\" - will be shown as \"Need:\" in case of failure</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isNotStrict' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-isNotStrict' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-isNotStrict' class='name expandable'>isNotStrict</a>( <span class='pre'>got, expected, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes when the comparison of 1st and 2nd arguments with !== operator returns true and fails otherwise. ...</div><div class='long'><p>This assertion passes when the comparison of 1st and 2nd arguments with <code>!==</code> operator returns true and fails otherwise.\nIt has synonyms - <code>isntStrict</code>.</p>\n\n<p>As a special case, one or both arguments can be instance of Siesta.Test.BDD.Placeholder class, generated with method <a href=\"#!/api/Siesta.Test-method-any\" rel=\"Siesta.Test-method-any\" class=\"docClass\">any</a>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>got</span> : Mixed<div class='sub-desc'><p>The value \"we have\" - will be shown as \"Got:\" in case of failure</p>\n</div></li><li><span class='pre'>expected</span> : Mixed<div class='sub-desc'><p>The value \"we expect\" - will be shown as \"Need:\" in case of failure</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isNumber' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isNumber' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isNumber' class='name expandable'>isNumber</a>( <span class='pre'>value, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes, if supplied value is a Number. ...</div><div class='long'><p>This assertion passes, if supplied value is a Number.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Mixed<div class='sub-desc'><p>The value to check.</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isObject' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isObject' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isObject' class='name expandable'>isObject</a>( <span class='pre'>value, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes, if supplied value is an Object ...</div><div class='long'><p>This assertion passes, if supplied value is an Object</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Mixed<div class='sub-desc'><p>The value to check.</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isReady' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-isReady' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-isReady' class='name expandable'>isReady</a>( <span class='pre'></span> ) : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>This method allows you to delay the start of the test, for example for performing some asynchronous setup code (like ...</div><div class='long'><p>This method allows you to delay the start of the test, for example for performing some asynchronous setup code (like login into an application).\nNote, that you may want to use the <a href=\"#!/api/Siesta.Test-method-setup\" rel=\"Siesta.Test-method-setup\" class=\"docClass\">setup</a> method instead, as it is a bit simpler to implement.</p>\n\n<p>It is supposed to be overridden in a subclass of the <a href=\"#!/api/Siesta.Test\" rel=\"Siesta.Test\" class=\"docClass\">Siesta.Test</a> class and should return an object with two properties: \"ready\" and \"reason\"\n(\"reason\" is only meaningful for the case where \"ready : false\"). The Test instance will poll this method and will only launch\nthe test after this method returns \"ready : true\". If waiting for this condition takes longer than <a href=\"#!/api/Siesta.Test-cfg-isReadyTimeout\" rel=\"Siesta.Test-cfg-isReadyTimeout\" class=\"docClass\">isReadyTimeout</a>, the test\nwill be launched anyway, but a failing assertion will be added to it.</p>\n\n<p><strong>Important</strong> This method should always check the value returned by a <code>this.SUPER</code> call.</p>\n\n<p>A typical example of using this method can be seen below:</p>\n\n<pre><code>Class('My.Test.Class', {\n\n    isa         : <a href=\"#!/api/Siesta.Test.Browser\" rel=\"Siesta.Test.Browser\" class=\"docClass\">Siesta.Test.Browser</a>,\n\n    has         : {\n        isCustomSetupDone           : false\n    },\n\n    override : {\n\n        isReady : function () {\n            var result = this.SUPERARG(arguments);\n\n            if (!result.ready) return result;\n\n            if (!this.isCustomSetupDone) return {\n                ready       : false,\n                reason      : \"Waiting for `isCustomSetupDone` took too long - something wrong?\"\n            }\n\n            return {\n                ready       : true\n            }\n        },\n\n\n        start : function () {\n            var me      = this;\n\n            Ext.Ajax.request({\n                url     : 'do_login.php',\n\n                params  : { ... },\n\n                success : function () {\n                    me.isCustomSetupDone    = true\n                }\n            })\n\n            this.SUPERARG(arguments)\n        }\n    },\n\n    ....\n})\n</code></pre>\n<h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>Object with properties <code>{ ready : true/false, reason : 'description' }</code></p>\n</div></li></ul></div></div></div><div id='method-isRegExp' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isRegExp' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isRegExp' class='name expandable'>isRegExp</a>( <span class='pre'>value, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes, if supplied value is a RegExp. ...</div><div class='long'><p>This assertion passes, if supplied value is a RegExp.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Mixed<div class='sub-desc'><p>The value to check.</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isStrict' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-isStrict' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-isStrict' class='name expandable'>isStrict</a>( <span class='pre'>got, expected, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes when the comparison of 1st and 2nd arguments with === operator returns true and fails otherwise. ...</div><div class='long'><p>This assertion passes when the comparison of 1st and 2nd arguments with <code>===</code> operator returns true and fails otherwise.</p>\n\n<p>As a special case, one or both arguments can be instance of Siesta.Test.BDD.Placeholder class, generated with method <a href=\"#!/api/Siesta.Test-method-any\" rel=\"Siesta.Test-method-any\" class=\"docClass\">any</a>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>got</span> : Mixed<div class='sub-desc'><p>The value \"we have\" - will be shown as \"Got:\" in case of failure</p>\n</div></li><li><span class='pre'>expected</span> : Mixed<div class='sub-desc'><p>The value \"we expect\" - will be shown as \"Need:\" in case of failure</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isString' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-isString' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-isString' class='name expandable'>isString</a>( <span class='pre'>value, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes, if supplied value is a String. ...</div><div class='long'><p>This assertion passes, if supplied value is a String.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Mixed<div class='sub-desc'><p>The value to check.</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-isntCalled' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Function' rel='Siesta.Test.Function' class='defined-in docClass'>Siesta.Test.Function</a><br/><a href='source/Function.html#Siesta-Test-Function-method-isntCalled' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Function-method-isntCalled' class='name expandable'>isntCalled</a>( <span class='pre'>fn, host, n, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes if the function is not called during the test life span. ...</div><div class='long'><p>This assertion passes if the function is not called during the test life span.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>fn</span> : Function/String<div class='sub-desc'><p>The function itself or the name of the function on the host object (2nd argument)</p>\n</div></li><li><span class='pre'>host</span> : Object<div class='sub-desc'><p>The \"owner\" of the method</p>\n</div></li><li><span class='pre'>n</span> : Number<div class='sub-desc'><p>The expected number of calls</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion.</p>\n</div></li></ul></div></div></div><div id='method-isntFired' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-isntFired' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-isntFired' class='name expandable'>isntFired</a>( <span class='pre'>observable, event, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>Alias for wontFire method ...</div><div class='long'><p>Alias for <a href=\"#!/api/Siesta.Test.Browser-method-wontFire\" rel=\"Siesta.Test.Browser-method-wontFire\" class=\"docClass\">wontFire</a> method</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>observable</span> : Mixed<div class='sub-desc'><p>Any browser observable, window object, element instances, CSS selector.</p>\n</div></li><li><span class='pre'>event</span> : String/Array[String]<div class='sub-desc'><p>The name of event or array of such</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion.</p>\n</div></li></ul></div></div></div><div id='method-it' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-it' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-it' class='name expandable'>it</a>( <span class='pre'>name, code, [timeout]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method starts a sub test with spec (in BDD terms). ...</div><div class='long'><p>This method starts a sub test with <em>spec</em> (in BDD terms). Such spec consists from one or more assertions (or <em>expectations</em>, <em>matchers</em>, etc) or other nested specs\nand/or suites. See the <a href=\"#!/api/Siesta.Test.BDD-method-expect\" rel=\"Siesta.Test.BDD-method-expect\" class=\"docClass\">expect</a> method. The number of nesting levels is not limited. All specs of the same nesting level are executed sequentially.</p>\n\n<p>For example:</p>\n\n<pre><code>t.describe('A product', function (t) {\n\n    t.it('should have feature X', function (t) {\n        ...\n    })\n\n    t.it('should have feature Y', function (t) {\n        ...\n    })\n})\n</code></pre>\n\n<p>See also <a href=\"#!/api/Siesta.Test.BDD-method-beforeEach\" rel=\"Siesta.Test.BDD-method-beforeEach\" class=\"docClass\">beforeEach</a>, <a href=\"#!/api/Siesta.Test.BDD-method-afterEach\" rel=\"Siesta.Test.BDD-method-afterEach\" class=\"docClass\">afterEach</a>, <a href=\"#!/api/Siesta.Test.BDD-method-xit\" rel=\"Siesta.Test.BDD-method-xit\" class=\"docClass\">xit</a>, <a href=\"#!/api/Siesta.Test.BDD-method-iit\" rel=\"Siesta.Test.BDD-method-iit\" class=\"docClass\">iit</a></p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>name</span> : String<div class='sub-desc'><p>The name or description of the spec</p>\n</div></li><li><span class='pre'>code</span> : Function<div class='sub-desc'><p>The code function for this spec. It will receive a test instance as the first argument which should be used for all assertion methods.</p>\n</div></li><li><span class='pre'>timeout</span> : Number (optional)<div class='sub-desc'><p>A maximum duration for this spec. If not provided <a href=\"#!/api/Siesta.Harness-cfg-subTestTimeout\" rel=\"Siesta.Harness-cfg-subTestTimeout\" class=\"docClass\">Siesta.Harness.subTestTimeout</a> value is used.</p>\n</div></li></ul></div></div></div><div id='method-keyPress' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Keyboard' rel='Siesta.Test.Simulate.Keyboard' class='defined-in docClass'>Siesta.Test.Simulate.Keyboard</a><br/><a href='source/Keyboard.html#Siesta-Test-Simulate-Keyboard-method-keyPress' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Keyboard-method-keyPress' class='name expandable'>keyPress</a>( <span class='pre'>el, key, options</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'> ...</div><div class='long'>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>el</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'>\n</div></li><li><span class='pre'>key</span> : String<div class='sub-desc'>\n</div></li><li><span class='pre'>options</span> : Object<div class='sub-desc'><p>any extra options used to configure the DOM event</p>\n\n<p>This method will simluate the key press, translated to the specified DOM element.\nThe following events will be fired, in order: <code>keydown</code>, <code>keypress</code>, <code>textInput</code>(webkit only currently), <code>keyup</code></p>\n</div></li></ul></div></div></div><div id='method-launchSubTest' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-launchSubTest' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-launchSubTest' class='name expandable'>launchSubTest</a>( <span class='pre'>subTest, callback</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method launch the provided sub test instance. ...</div><div class='long'><p>This method launch the provided sub test instance.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>subTest</span> : <a href=\"#!/api/Siesta.Test\" rel=\"Siesta.Test\" class=\"docClass\">Siesta.Test</a><div class='sub-desc'><p>A test instance to launch</p>\n</div></li><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>A function to call, after the test is completed. This function is called regardless from the test execution result.</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-like' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-like' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-like' class='name expandable'>like</a>( <span class='pre'>string, regex, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes when the passed string matches to a regular expression regex. ...</div><div class='long'><p>This assertion passes when the passed <code>string</code> matches to a regular expression <code>regex</code>. When <code>regex</code> is a string,\nassertion will check that it is a substring of <code>string</code></p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>string</span> : String<div class='sub-desc'><p>The string to check for \"likeness\"</p>\n</div></li><li><span class='pre'>regex</span> : String/RegExp<div class='sub-desc'><p>The regex against which to test the string, can be also a plain string</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-livesOk' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-livesOk' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-livesOk' class='name expandable'>livesOk</a>( <span class='pre'>func, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes, when the supplied func function doesn't throw an exception during execution. ...</div><div class='long'><p>This assertion passes, when the supplied <code>func</code> function doesn't throw an exception during execution.</p>\n\n<p>This method has two synonyms: <code>lives_ok</code> and <code>lives</code></p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>func</span> : Function<div class='sub-desc'><p>The function which is not supposed to throw an exception</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-methodIsCalled' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Function' rel='Siesta.Test.Function' class='defined-in docClass'>Siesta.Test.Function</a><br/><a href='source/Function.html#Siesta-Test-Function-method-methodIsCalled' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Function-method-methodIsCalled' class='name expandable'>methodIsCalled</a>( <span class='pre'>fn, className, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes if the class method is called at least one time during the test life span. ...</div><div class='long'><p>This assertion passes if the class method is called at least one time during the test life span.</p>\n\n<p>See <a href=\"#!/api/Siesta.Test.Function-method-methodIsCalledNTimes\" rel=\"Siesta.Test.Function-method-methodIsCalledNTimes\" class=\"docClass\">methodIsCalledNTimes</a> for more details.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>fn</span> : Function/String<div class='sub-desc'><p>The function itself or the name of the method on the class (2nd argument)</p>\n</div></li><li><span class='pre'>className</span> : Function/String<div class='sub-desc'><p>The class constructor function or name of the class that contains the method</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion.</p>\n</div></li></ul></div></div></div><div id='method-methodIsCalledNTimes' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Function' rel='Siesta.Test.Function' class='defined-in docClass'>Siesta.Test.Function</a><br/><a href='source/Function.html#Siesta-Test-Function-method-methodIsCalledNTimes' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Function-method-methodIsCalledNTimes' class='name expandable'>methodIsCalledNTimes</a>( <span class='pre'>fn, className, n, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes when the supplied class method is called exactly (n) times during the test life span. ...</div><div class='long'><p>This assertion passes when the supplied class method is called exactly (n) times during the test life span.\nUnder \"class method\" here we mean the function in the prototype. Note, that this assertion counts calls to the method in <em>any</em> class instance.</p>\n\n<p>The <code>className</code> parameter can be supplied as a class constructor function or as a string, representing the class\nname. In the latter case the <code>class</code> will be eval'ed to get a reference to the class constructor.</p>\n\n<p>For example:</p>\n\n<pre><code>StartTest(function (t) {\n\n    function machine(type, version) {\n        this.machineInfo = {\n            type        : type,\n            version     : version\n        };\n    };\n\n    machine.prototype.update = function (type, version) {\n        this.setVersion(type);\n        this.setType(version);\n    };\n\n    machine.prototype.setVersion = function (data) {\n        this.machineInfo.version = data;\n    };\n\n    machine.prototype.setType = function (data) {\n        this.machineInfo.type = data;\n    };\n\n    t.methodIsCalled(\"setVersion\", machine, \"Checking if method 'setVersion' has been called\");\n    t.methodIsCalled(\"setType\", machine, \"Checking if method 'setType' has been called\");\n\n    var m = new machine('rover', '0.1.2');\n\n    m.update('3.2.1', 'New Rover');\n});\n</code></pre>\n\n<p>This assertion is useful when testing for example an Ext JS class where event listeners are added during\nclass instantiation time, which means you need to observe the prototype method before instantiation.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>fn</span> : Function/String<div class='sub-desc'><p>The function itself or the name of the method on the class (2nd argument)</p>\n</div></li><li><span class='pre'>className</span> : Function/String<div class='sub-desc'><p>The constructor function or the name of the class that contains the method</p>\n</div></li><li><span class='pre'>n</span> : Number<div class='sub-desc'><p>The expected number of calls</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-methodIsntCalled' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Function' rel='Siesta.Test.Function' class='defined-in docClass'>Siesta.Test.Function</a><br/><a href='source/Function.html#Siesta-Test-Function-method-methodIsntCalled' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Function-method-methodIsntCalled' class='name expandable'>methodIsntCalled</a>( <span class='pre'>fn, className, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes if the class method is not called during the test life span. ...</div><div class='long'><p>This assertion passes if the class method is not called during the test life span.</p>\n\n<p>See <a href=\"#!/api/Siesta.Test.Function-method-methodIsCalledNTimes\" rel=\"Siesta.Test.Function-method-methodIsCalledNTimes\" class=\"docClass\">methodIsCalledNTimes</a> for more details.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>fn</span> : Function/String<div class='sub-desc'><p>The function itself or the name of the method on the class (2nd argument)</p>\n</div></li><li><span class='pre'>className</span> : Function/String<div class='sub-desc'><p>The class constructor function or name of the class that contains the method</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion.</p>\n</div></li></ul></div></div></div><div id='method-mouseDown' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-mouseDown' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-mouseDown' class='name expandable'>mouseDown</a>( <span class='pre'>el, options, [offset], [callback], [scope]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will simulate a mousedown event in the center of the specified DOM element,\nor at current cursor position...</div><div class='long'><p>This method will simulate a mousedown event in the center of the specified DOM element,\nor at current cursor position if no target is provided.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>el</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'>\n</div></li><li><span class='pre'>options</span> : Object<div class='sub-desc'><p>any extra options used to configure the DOM event</p>\n</div></li><li><span class='pre'>offset</span> : Array (optional)<div class='sub-desc'><p>An X,Y offset relative to the target. Example: [20, 20] for 20px or [\"50%\", \"100%-2\"] to click in the center horizontally and 2px from the bottom edge.</p>\n</div></li><li><span class='pre'>callback</span> : Function (optional)<div class='sub-desc'><p>A function to call after mousedown.</p>\n</div></li><li><span class='pre'>scope</span> : Object (optional)<div class='sub-desc'><p>The scope for the callback</p>\n</div></li></ul></div></div></div><div id='method-mouseOut' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-mouseOut' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-mouseOut' class='name expandable'>mouseOut</a>( <span class='pre'>el, options</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will simulate a mouseout event in the center of the specified DOM element. ...</div><div class='long'><p>This method will simulate a mouseout event in the center of the specified DOM element.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>el</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'>\n</div></li><li><span class='pre'>options</span> : Object<div class='sub-desc'><p>any extra options used to configure the DOM event</p>\n</div></li></ul></div></div></div><div id='method-mouseOver' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-mouseOver' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-mouseOver' class='name expandable'>mouseOver</a>( <span class='pre'>el, options</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will simulate a mouseover event in the center of the specified DOM element. ...</div><div class='long'><p>This method will simulate a mouseover event in the center of the specified DOM element.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>el</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'>\n</div></li><li><span class='pre'>options</span> : Object<div class='sub-desc'><p>any extra options used to configure the DOM event</p>\n</div></li></ul></div></div></div><div id='method-mouseUp' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-mouseUp' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-mouseUp' class='name expandable'>mouseUp</a>( <span class='pre'>el, options, [offset]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will simulate a mousedown event in the center of the specified DOM element,\nor at current cursor position...</div><div class='long'><p>This method will simulate a mousedown event in the center of the specified DOM element,\nor at current cursor position if no target is provided.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>el</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'>\n</div></li><li><span class='pre'>options</span> : Object<div class='sub-desc'><p>any extra options used to configure the DOM event</p>\n</div></li><li><span class='pre'>offset</span> : Array (optional)<div class='sub-desc'><p>An X,Y offset relative to the target. Example: [20, 20] for 20px or [\"50%\", \"100%-2\"] to click in the center horizontally and 2px from the bottom edge.</p>\n</div></li></ul></div></div></div><div id='method-moveCursorAlongPath' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-moveCursorAlongPath' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-moveCursorAlongPath' class='name expandable'>moveCursorAlongPath</a>( <span class='pre'>pathArray, callback</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method sequentially moves a cursor through a series of \"path points\". ...</div><div class='long'><p>This method sequentially moves a cursor through a series of \"path points\".</p>\n\n<p>A path point can be one of the following:</p>\n\n<ul>\n<li>An object <code>{ target : 'query', offset : [ x, y ] }</code>, where 'query' is any valid\n<a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a> query. This object will specify an absolute point on the page.</li>\n<li>A more compact notation with single letter properties <code>{ t : 'query', o : [ x, y ] }</code></li>\n<li>An object <code>{ target : [ x, y ] }</code>, where 'x' and 'y' specifies an aboslute point on the page.</li>\n<li>An object <code>{ by : [ dx, dy ] }</code>, where <code>by</code> is an array, with a relative delta from previous point.</li>\n<li>An array with 3 elements: <code>[ 'query', x, y ]</code>, specifying an absolute point on the page, using\n'query' and 'x' 'y' offset.</li>\n<li>An array with 1 element: <code>[ [ x, y ] ]</code>, which is in turn an array, specifying an absolute\npoint on the page, using 'x' and 'y' page coordinates.</li>\n<li>An array with 2 elements: <code>[ dx, dy ]</code>, specifying a relative delta from previous point</li>\n</ul>\n\n\n<p>This method is generally intended to be used by <a href=\"#!/api/Siesta.Recorder.Recorder\" rel=\"Siesta.Recorder.Recorder\" class=\"docClass\">Siesta.Recorder.Recorder</a> with enabled\n<a href=\"#!/api/Siesta.Recorder.Recorder-cfg-recordMouseMovePath\" rel=\"Siesta.Recorder.Recorder-cfg-recordMouseMovePath\" class=\"docClass\">recordMouseMovePath</a> option. That option can generate\na substantial amount of data, thus a focus on having a compact notation for it.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>pathArray</span> : Array[path point]<div class='sub-desc'><p>An array of \"path points\"</p>\n</div></li><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>A function to call after visiting all points</p>\n</div></li></ul></div></div></div><div id='method-moveCursorBy' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-moveCursorBy' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-moveCursorBy' class='name expandable'>moveCursorBy</a>( <span class='pre'>delta, [callback], [scope]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will simulate a mouse move by an x and y delta amount ...</div><div class='long'><p>This method will simulate a mouse move by an x and y delta amount</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>delta</span> : Array<div class='sub-desc'><p>The delta x and y distance to move, e.g. [20, 20] for 20px down/right, or [0, -10] for 10px up.</p>\n</div></li><li><span class='pre'>callback</span> : Function (optional)<div class='sub-desc'><p>To run this method async, provide a callback method to be called after the operation is completed.</p>\n</div></li><li><span class='pre'>scope</span> : Object (optional)<div class='sub-desc'><p>the scope for the callback</p>\n</div></li></ul></div></div></div><div id='method-moveCursorTo' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-moveCursorTo' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-moveCursorTo' class='name expandable'>moveCursorTo</a>( <span class='pre'>target, [callback], [scope], [offset]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>Alias for moveMouseTo, this method will simulate a mouse move to an xy-coordinate or an element (the center of it) ...</div><div class='long'><p>Alias for moveMouseTo, this method will simulate a mouse move to an xy-coordinate or an element (the center of it)</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>target</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'><p>Target point to move the mouse to.</p>\n</div></li><li><span class='pre'>callback</span> : Function (optional)<div class='sub-desc'><p>To run this method async, provide a callback method to be called after the operation is completed.</p>\n</div></li><li><span class='pre'>scope</span> : Object (optional)<div class='sub-desc'><p>the scope for the callback</p>\n</div></li><li><span class='pre'>offset</span> : Array (optional)<div class='sub-desc'><p>An X,Y offset relative to the target. Example: [20, 20] for 20px or [\"50%\", \"50%\"] to click in the center.</p>\n</div></li></ul></div></div></div><div id='method-moveMouseBy' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-moveMouseBy' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-moveMouseBy' class='name expandable'>moveMouseBy</a>( <span class='pre'>delta, [callback], [scope]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will simulate a mouse move by an x a y delta amount ...</div><div class='long'><p>This method will simulate a mouse move by an x a y delta amount</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>delta</span> : Array<div class='sub-desc'><p>The delta x and y distance to move, e.g. [20, 20] for 20px down/right, or [0, 10] for just 10px down.</p>\n</div></li><li><span class='pre'>callback</span> : Function (optional)<div class='sub-desc'><p>To run this method async, provide a callback method to be called after the operation is completed.</p>\n</div></li><li><span class='pre'>scope</span> : Object (optional)<div class='sub-desc'><p>the scope for the callback</p>\n</div></li></ul></div></div></div><div id='method-moveMouseTo' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-moveMouseTo' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-moveMouseTo' class='name expandable'>moveMouseTo</a>( <span class='pre'>target, [callback], [scope], [offset]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will simulate a mouse move to an xy-coordinate or an element (the center of it) ...</div><div class='long'><p>This method will simulate a mouse move to an xy-coordinate or an element (the center of it)</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>target</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'><p>Target point to move the mouse to.</p>\n</div></li><li><span class='pre'>callback</span> : Function (optional)<div class='sub-desc'><p>To run this method async, provide a callback method to be called after the operation is completed.</p>\n</div></li><li><span class='pre'>scope</span> : Object (optional)<div class='sub-desc'><p>the scope for the callback</p>\n</div></li><li><span class='pre'>offset</span> : Array (optional)<div class='sub-desc'><p>An X,Y offset relative to the target. Example: [20, 20] for 20px or [\"50%\", \"50%\"] to click in the center.</p>\n</div></li></ul></div></div></div><div id='method-notOk' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-notOk' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-notOk' class='name expandable'>notOk</a>( <span class='pre'>value, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes when the supplied value evalutes to false and fails otherwise. ...</div><div class='long'><p>This assertion passes when the supplied <code>value</code> evalutes to <code>false</code> and fails otherwise.</p>\n\n<p>It has a synonym - <code>notok</code>.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Mixed<div class='sub-desc'><p>The value, indicating wheter assertions passes or fails</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-ok' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-ok' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-ok' class='name expandable'>ok</a>( <span class='pre'>value, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes when the supplied value evalutes to true and fails otherwise. ...</div><div class='long'><p>This assertion passes when the supplied <code>value</code> evalutes to <code>true</code> and fails otherwise.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Mixed<div class='sub-desc'><p>The value, indicating wheter assertions passes or fails</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-pass' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-pass' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-pass' class='name expandable'>pass</a>( <span class='pre'>desc, [annotation]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method add the passed assertion to this test. ...</div><div class='long'><p>This method add the passed assertion to this test.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>desc</span> : String<div class='sub-desc'><p>The description of the assertion</p>\n</div></li><li><span class='pre'>annotation</span> : String/Object (optional)<div class='sub-desc'><p>The string with additional description how exactly this assertion passes. Will be shown with monospace font.\nCan be also an object with the following properties:</p>\n<ul><li><span class='pre'>annotation</span> : String<div class='sub-desc'><p>The actual annotation text</p>\n</div></li><li><span class='pre'>descTpl</span> : String<div class='sub-desc'><p>The template for the default description text. Will be used if user did not provide any description for\nassertion. Template can contain variables in braces. The values for variables are taken as properties of <code>annotation</code> parameters with the same name:</p>\n\n<pre><code>this.pass(desc, {\n    descTpl         : '{value1} sounds like {value2}',\n    value1          : '1',\n    value2          : 'one\n})\n</code></pre>\n</div></li></ul></div></li></ul></div></div></div><div id='method-rightClick' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Mouse' rel='Siesta.Test.Simulate.Mouse' class='defined-in docClass'>Siesta.Test.Simulate.Mouse</a><br/><a href='source/Mouse.html#Siesta-Test-Simulate-Mouse-method-rightClick' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Mouse-method-rightClick' class='name expandable'>rightClick</a>( <span class='pre'>[el], [callback], [scope], [options], [offset]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will simulate a mouse right click in the center of the specified DOM/Ext element,\nor at current cursor po...</div><div class='long'><p>This method will simulate a mouse right click in the center of the specified DOM/Ext element,\nor at current cursor position if no target is provided.</p>\n\n<p>Note, that it will first calculate the centeral point of the specified element and then\nwill pick the top-most DOM element from that point. For example, if you will provide a grid row as the <code>el</code>,\nthen click will happen on top of the central cell, and then will bubble to the row itself.\nIn most cases this is the desired behavior.</p>\n\n<p>The following events will be fired, in order:  <code>mouseover</code>, <code>mousedown</code>, <code>mouseup</code>, <code>contextmenu</code></p>\n\n<p>Example:</p>\n\n<pre><code> t.click(t.getFirstRow(grid), function () { ... })\n</code></pre>\n\n<p>The 1st argument for this method can be omitted. In this case, Siesta will use the current cursor position:</p>\n\n<pre><code> t.click(function () { ... })\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>el</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a> (optional)<div class='sub-desc'><p>One of the <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a> values to convert to DOM element</p>\n</div></li><li><span class='pre'>callback</span> : Function (optional)<div class='sub-desc'><p>A function to call after click.</p>\n</div></li><li><span class='pre'>scope</span> : Object (optional)<div class='sub-desc'><p>The scope for the callback</p>\n</div></li><li><span class='pre'>options</span> : Object (optional)<div class='sub-desc'><p>Any options to use for the simulated DOM event</p>\n</div></li><li><span class='pre'>offset</span> : Array (optional)<div class='sub-desc'><p>An X,Y offset relative to the target. Example: [20, 20] for 20px or [\"50%\", \"100%-2\"] to click in the center horizontally and 2px from the bottom edge.</p>\n</div></li></ul></div></div></div><div id='method-selectText' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.TextSelection' rel='Siesta.Test.TextSelection' class='defined-in docClass'>Siesta.Test.TextSelection</a><br/><a href='source/TextSelection.html#Siesta-Test-TextSelection-method-selectText' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.TextSelection-method-selectText' class='name expandable'>selectText</a>( <span class='pre'>el, [start], [end]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>Utility method which selects text in the passed element (should be an &lt;input&gt; element). ...</div><div class='long'><p>Utility method which selects text in the passed element (should be an &lt;input&gt; element).</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>el</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'><p>The element</p>\n</div></li><li><span class='pre'>start</span> : Int (optional)<div class='sub-desc'><p>The selection start index</p>\n</div></li><li><span class='pre'>end</span> : Int (optional)<div class='sub-desc'><p>The selection end index</p>\n</div></li></ul></div></div></div><div id='method-setHash' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-setHash' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-setHash' class='name expandable'>setHash</a>( <span class='pre'>url, callback, scope</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>Sets the hash value of the location object ...</div><div class='long'><p>Sets the hash value of the location object</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>url</span> : String<div class='sub-desc'><p>The new hash</p>\n</div></li><li><span class='pre'>callback</span> : Function<div class='sub-desc'>\n</div></li><li><span class='pre'>scope</span> : Object<div class='sub-desc'><p>The scope for the callback</p>\n</div></li></ul></div></div></div><div id='method-setNextConfirmReturnValue' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-setNextConfirmReturnValue' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-setNextConfirmReturnValue' class='name expandable'>setNextConfirmReturnValue</a>( <span class='pre'>value, callback</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>Sets the confirm dialog return value for the next window.confirm() call. ...</div><div class='long'><p>Sets the confirm dialog return value for the next window.confirm() call.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : Boolean<div class='sub-desc'><p>The confirm dialog return value (true or false)</p>\n</div></li><li><span class='pre'>callback</span> : Object<div class='sub-desc'><p>Only used internally when this method is called in a t.chain command</p>\n</div></li></ul></div></div></div><div id='method-setNextPromptReturnValue' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-setNextPromptReturnValue' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-setNextPromptReturnValue' class='name expandable'>setNextPromptReturnValue</a>( <span class='pre'>value, callback</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>Sets the prompt dialog return value for the next window.prompt() call. ...</div><div class='long'><p>Sets the prompt dialog return value for the next window.prompt() call.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>value</span> : String<div class='sub-desc'><p>The confirm dialog return value</p>\n</div></li><li><span class='pre'>callback</span> : Object<div class='sub-desc'><p>Only used internally when this method is called in a t.chain command</p>\n</div></li></ul></div></div></div><div id='method-setTimeout' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-setTimeout' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-setTimeout' class='name expandable'>setTimeout</a>( <span class='pre'>func, delay</span> ) : Number<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will just call the setTimeout method from the scope of the test page. ...</div><div class='long'><p>This method will just call the <code>setTimeout</code> method from the scope of the test page.</p>\n\n<p>Usually you don't need to use it - you can just call <code>setTimeout</code>, but if your test scripts resides in the\nseparate context, you need to use this method for <code>setTimeout</code> functionality. See documentation for enablePageRedirect\noption and <a href=\"#!/guide/cross_page_testing\">Cross page testing</a> guide.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>func</span> : Function<div class='sub-desc'><p>The function to call after specified <code>delay</code></p>\n</div></li><li><span class='pre'>delay</span> : Number<div class='sub-desc'><p>The time to wait (in ms) before calling the <code>func</code></p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Number</span><div class='sub-desc'><p>timeoutId The id of the timeout, can be passed to <a href=\"#!/api/Siesta.Test.Browser-method-clearTimeout\" rel=\"Siesta.Test.Browser-method-clearTimeout\" class=\"docClass\">clearTimeout</a> to cancel the function execution.</p>\n</div></li></ul></div></div></div><div id='method-setUrl' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-setUrl' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-setUrl' class='name expandable'>setUrl</a>( <span class='pre'>url, callback, scope</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>setUrl Opens the url provided (make sure you use the Siesta.Harness.Browser.enablePageRedirect option on the Harness ...</div><div class='long'><p>setUrl Opens the url provided (make sure you use the Siesta.Harness.Browser.enablePageRedirect option on the Harness when using this API method)</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>url</span> : String<div class='sub-desc'><p>The new url for current page</p>\n</div></li><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>The callback to call after the page has been loaded</p>\n</div></li><li><span class='pre'>scope</span> : Object<div class='sub-desc'><p>The scope for the callback</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-setWindowSize' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-setWindowSize' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-setWindowSize' class='name expandable'>setWindowSize</a>( <span class='pre'>width, height</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>Sets a new size for the test iframe ...</div><div class='long'><p>Sets a new size for the test iframe</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>width</span> : Int<div class='sub-desc'><p>The new width</p>\n</div></li><li><span class='pre'>height</span> : Int<div class='sub-desc'><p>The new height</p>\n</div></li></ul></div></div></div><div id='method-setup' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-setup' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-setup' class='name expandable'>setup</a>( <span class='pre'>callback, errback</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method can perform any setup code your tests need. ...</div><div class='long'><p>This method can perform any setup code your tests need. It is called before the begining of every test and receives\na callback and errback, either of those should be called once the setup has completed (or failed).\nSee also <a href=\"#!/api/Siesta.Test-method-tearDown\" rel=\"Siesta.Test-method-tearDown\" class=\"docClass\">tearDown</a>.</p>\n\n<p>Typical usage for this method can be for example to log in into the application, before interacting with it:</p>\n\n<pre><code>Class('My.Test.Class', {\n\n    isa         : <a href=\"#!/api/Siesta.Test.Browser\" rel=\"Siesta.Test.Browser\" class=\"docClass\">Siesta.Test.Browser</a>,\n\n    override : {\n\n        setup : function (callback, errback) {\n            Ext.Ajax.request({\n                url     : 'do_login.php',\n\n                params  : { ... },\n\n                success : function () {\n                    callback()\n                },\n                failure : function () {\n                    errback('Login failed')\n                }\n            })\n        }\n    },\n\n    ....\n})\n</code></pre>\n\n<p>This method will be called <em>after</em> the <a href=\"#!/api/Siesta.Test-method-isReady\" rel=\"Siesta.Test-method-isReady\" class=\"docClass\">isReady</a> method has reported that the test is ready to start.</p>\n\n<p>If the setup has failed for some reason, then an errback should be called and a failing assertion will be added to the test\n(though the test will be lauched anyway). A text of the failed assertion can be given as the 1st argument for the errback.</p>\n\n<p>Note, that the setup is supposed to be completed within the <a href=\"#!/api/Siesta.Test-cfg-isReadyTimeout\" rel=\"Siesta.Test-cfg-isReadyTimeout\" class=\"docClass\">isReadyTimeout</a> timeout, otherwise it will be\nconsidered failed and the test will be launched with a failed assertion.</p>\n\n<p>If you need to perform a setup at an earlier point, check the <a href=\"#!/api/Siesta.Test-method-earlySetup\" rel=\"Siesta.Test-method-earlySetup\" class=\"docClass\">earlySetup</a> method.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>A function to call when the setup has completed successfully</p>\n</div></li><li><span class='pre'>errback</span> : Function<div class='sub-desc'><p>A function to call when the setup has completed with an error</p>\n</div></li></ul></div></div></div><div id='method-simulateActivateWindow' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-simulateActivateWindow' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-simulateActivateWindow' class='name expandable'>simulateActivateWindow</a>( <span class='pre'>callback</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method activates the main browser window reverts focus to the window object of the test. ...</div><div class='long'><p>This method activates the main browser window reverts focus to the window object of the test.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>callback</span> : Object<div class='sub-desc'></div></li></ul></div></div></div><div id='method-simulateDeactivateWindow' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-simulateDeactivateWindow' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-simulateDeactivateWindow' class='name expandable'>simulateDeactivateWindow</a>( <span class='pre'>callback</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method mimics the deactivation of a browser window by opening a new window. ...</div><div class='long'><p>This method mimics the deactivation of a browser window by opening a new window. Useful if you want to test\nhow your application behaves when your application is not active.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>callback</span> : Object<div class='sub-desc'></div></li></ul></div></div></div><div id='method-simulateEvent' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Event' rel='Siesta.Test.Simulate.Event' class='defined-in docClass'>Siesta.Test.Simulate.Event</a><br/><a href='source/Event2.html#Siesta-Test-Simulate-Event-method-simulateEvent' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Event-method-simulateEvent' class='name expandable'>simulateEvent</a>( <span class='pre'>el, type, the</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will simulate an event triggered by the passed element. ...</div><div class='long'><p>This method will simulate an event triggered by the passed element. If no coordinates are supplied in the options object, the center of the element\nwill be used.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>el</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'>\n</div></li><li><span class='pre'>type</span> : String<div class='sub-desc'><p>The type of event (e.g. 'mouseover', 'click', 'keypress')</p>\n</div></li><li><span class='pre'>the</span> : Object<div class='sub-desc'><p>options for the event. See http://developer.mozilla.org/en/DOM/event for reference.</p>\n</div></li></ul></div></div></div><div id='method-snooze' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-snooze' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-snooze' class='name expandable'>snooze</a>( <span class='pre'>snoozeUntilDate, fn, reason</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method allows you to \"snooze\" the failing test (make it a todo test until certain date. ...</div><div class='long'><p>This method allows you to \"snooze\" the failing test (make it a <a href=\"#!/api/Siesta.Test-method-todo\" rel=\"Siesta.Test-method-todo\" class=\"docClass\">todo test</a> until certain date.\nAfter that date, test will become \"normal\" again. Use with care :)</p>\n\n<pre><code>        t.snooze('2014-10-10', function (todo) {\n\n            var treePanel    = new Ext.tree.Panel()\n\n            todo.is(treePanel.getView().store, treePanel.store, 'NodeStore and TreeStore have been merged and there is only 1 store now');\n        })\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>snoozeUntilDate</span> : String/Date<div class='sub-desc'><p>The date until which we don't want to hear about this test. Can be provided as <code>Date</code> instance or a string, recognized by <code>Date</code> constructor</p>\n</div></li><li><span class='pre'>fn</span> : Function<div class='sub-desc'><p>The function body of the test, will receive a new test instance as 1st argument</p>\n</div></li><li><span class='pre'>reason</span> : String<div class='sub-desc'><p>The reason or explanation why this test is \"snoozed\"</p>\n</div></li></ul></div></div></div><div id='method-spyOn' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-spyOn' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-spyOn' class='name expandable'>spyOn</a>( <span class='pre'>object, propertyName</span> ) : <a href=\"#!/api/Siesta.Test.BDD.Spy\" rel=\"Siesta.Test.BDD.Spy\" class=\"docClass\">Siesta.Test.BDD.Spy</a><span class=\"signature\"></span></div><div class='description'><div class='short'>This method installs a \"spy\" instead of normal function in some object. ...</div><div class='long'><p>This method installs a \"spy\" instead of normal function in some object. The \"spy\" is basically another function,\nwhich tracks the calls to itself. With spies, one can verify that some function was called and that\nit was called with certain arguments.</p>\n\n<p>Note, that by default, spy will not call the original method. To enable that, use <a href=\"#!/api/Siesta.Test.BDD.Spy-method-callThrough\" rel=\"Siesta.Test.BDD.Spy-method-callThrough\" class=\"docClass\">Siesta.Test.BDD.Spy.callThrough</a> method.</p>\n\n<pre><code>var spy = t.spyOn(obj, 'process')\n// or, if you need to call the original 'process' method\nvar spy = t.spyOn(obj, 'process').and.callThrough()\n\n// call the method\nobj.process('fast', 1)\n\nt.expect(spy).toHaveBeenCalled();\nt.expect(spy).toHaveBeenCalledWith('fast', 1);\n</code></pre>\n\n<p>See also <a href=\"#!/api/Siesta.Test.BDD-method-createSpy\" rel=\"Siesta.Test.BDD-method-createSpy\" class=\"docClass\">createSpy</a>, <a href=\"#!/api/Siesta.Test.BDD-method-createSpyObj\" rel=\"Siesta.Test.BDD-method-createSpyObj\" class=\"docClass\">createSpyObj</a>, <a href=\"#!/api/Siesta.Test.BDD.Expectation-method-toHaveBeenCalled\" rel=\"Siesta.Test.BDD.Expectation-method-toHaveBeenCalled\" class=\"docClass\">toHaveBeenCalled</a>,\n<a href=\"#!/api/Siesta.Test.BDD.Expectation-method-toHaveBeenCalledWith\" rel=\"Siesta.Test.BDD.Expectation-method-toHaveBeenCalledWith\" class=\"docClass\">toHaveBeenCalledWith</a></p>\n\n<p>See also the <a href=\"#!/api/Siesta.Test.BDD.Spy\" rel=\"Siesta.Test.BDD.Spy\" class=\"docClass\">Siesta.Test.BDD.Spy</a> class for additional details.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>object</span> : Object<div class='sub-desc'><p>An object which property is being spied</p>\n</div></li><li><span class='pre'>propertyName</span> : String<div class='sub-desc'><p>A name of the property over which to install the spy.</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'><a href=\"#!/api/Siesta.Test.BDD.Spy\" rel=\"Siesta.Test.BDD.Spy\" class=\"docClass\">Siesta.Test.BDD.Spy</a></span><div class='sub-desc'><p>spy Created spy instance</p>\n</div></li></ul></div></div></div><div id='method-subTest' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-subTest' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-subTest' class='name expandable'>subTest</a>( <span class='pre'>desc, code, callback, [timeout]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method starts a new sub test. ...</div><div class='long'><p>This method starts a new sub test. Sub tests have separate order of assertions. In the browser UI,\nsub tests are presented with the \"parent\" node of the assertions tree. Sub tests are useful if you want to test\nseveral asynchronous processes in parallel, and would like to see assertions from every process separated.</p>\n\n<p>Sub tests may have their own sub tests, the number of nesting levels is not limited.</p>\n\n<p>Sub test can contain asynchronous methods as any other tests. Sub tests are considered completed\nonly when all of its asynchronous methods have completed <em>and</em> all of its sub-tests are completed too.</p>\n\n<p>For example:</p>\n\n<pre><code>t.subTest('Load 1st store', function (t) {\n    var async   = t.beginAsync()\n\n    store1.load({\n        callback : function () {\n            t.endAsync(async);\n            t.isGreater(store1.getCount(), 0, \"Store1 has been loaded\")\n        }\n    })\n})\n\nt.subTest('Load 2nd store', function (t) {\n    var async   = t.beginAsync()\n\n    store2.load({\n        callback : function () {\n            t.endAsync(async);\n            t.isGreater(store2.getCount(), 0, \"Store2 has been loaded\")\n        }\n    })\n})\n</code></pre>\n\n<p>Note, that sub test starts right away, w/o waiting for any previous sub tests to complete. If you'd like to run several sub-tests\nsequentially, use <a href=\"#!/api/Siesta.Test-method-chain\" rel=\"Siesta.Test-method-chain\" class=\"docClass\">chain</a> method in combination with <a href=\"#!/api/Siesta.Test-method-getSubTest\" rel=\"Siesta.Test-method-getSubTest\" class=\"docClass\">getSubTest</a> method.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>desc</span> : String<div class='sub-desc'><p>The name of the sub test. Will be shown as the name of the parent node in assertion tree.</p>\n</div></li><li><span class='pre'>code</span> : Function<div class='sub-desc'><p>The test function to execute. It will receive a test instance as 1st argument. This test instance <em>must</em> be\nused for assertions inside of the test function</p>\n</div></li><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>The callback to execute after the sub test completes (either successfully or not)</p>\n</div></li><li><span class='pre'>timeout</span> : Number (optional)<div class='sub-desc'><p>A maximum duration (in ms) for this sub test. If test will not complete within this time,\nit will be considered failed. If not provided, the <a href=\"#!/api/Siesta.Harness-cfg-subTestTimeout\" rel=\"Siesta.Harness-cfg-subTestTimeout\" class=\"docClass\">Siesta.Harness.subTestTimeout</a> value is used.</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-switchTo' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-switchTo' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-switchTo' class='name expandable'>switchTo</a>( <span class='pre'>[win], callback</span> ) : Window<span class=\"signature\"></span></div><div class='description'><div class='short'>Switches the target of all Siesta interactive commands (like \"click/type\" etc) to a different\nwindow (usually a popup). ...</div><div class='long'><p>Switches the target of all Siesta interactive commands (like \"click/type\" etc) to a different\nwindow (usually a popup). You can use <a href=\"#!/api/Siesta.Test.Browser-method-switchToMain\" rel=\"Siesta.Test.Browser-method-switchToMain\" class=\"docClass\">switchToMain</a> method to switch back to main window.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>win</span> : String/RegExp/Object/Window/HTMLIFrameElement (optional)<div class='sub-desc'><p>A new window which should be a target for all interactive commands.\nIf this argument is specified as <code>null</code> a first opened popup is used.\nCan be specified as the:</p>\n\n<ul>\n<li>Window - A global window instance</li>\n<li>Object - Object with the following properties\n\n<ul>\n<li> url   : String/RegExp - The first popup, opened with matching url will be used</li>\n<li> title : String/RegExp - The first popup, opened with matching title will be used</li>\n</ul>\n</li>\n<li>String - corresponds to the <code>title</code> property of the Object branch</li>\n</ul>\n\n</div></li><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>Function to call once the switch has complete (will also wait until the target page\ncompletes loading)</p>\n</div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Window</span><div class='sub-desc'><p>Previously active window reference</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-switchToMain' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-switchToMain' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-switchToMain' class='name expandable'>switchToMain</a>( <span class='pre'>callback</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>Switches all interactive commands back to main test window. ...</div><div class='long'><p>Switches all interactive commands back to main test window.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>Function to call once the switch has complete.</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-tearDown' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-tearDown' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-tearDown' class='name expandable'>tearDown</a>( <span class='pre'>callback, errback</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method can perform any asynchronous finalization code your tests need. ...</div><div class='long'><p>This method can perform any asynchronous finalization code your tests need. It is called after the test has\nbeen finished (or finalized externally by any reason, for example if user re-starts the test).\nThis method receives a callback and errback, either of those should be called once the tear down has completed\n(or has failed). Typical usage for this method can be for example to clear the database or release some other resource.</p>\n\n<p><strong>Note</strong> though, that if test suite has experienced a hard failure, this method may not be called.</p>\n\n<pre><code>Class('My.Test.Class', {\n\n    isa         : <a href=\"#!/api/Siesta.Test.Browser\" rel=\"Siesta.Test.Browser\" class=\"docClass\">Siesta.Test.Browser</a>,\n\n    override : {\n\n        tearDown : function (callback, errback) {\n            Ext.Ajax.request({\n                url     : 'clear_the_db.php',\n\n                params  : { ... },\n\n                success : function () {\n                    callback()\n                },\n                failure : function () {\n                    errback(\"Error message\")\n                }\n            })\n        }\n    },\n\n    ....\n})\n</code></pre>\n\n<p>If the tearDown has failed for some reason, then an errback should be called and a failing assertion will be added to the test\n(though the test will be lauched anyway). A text of the failed assertion can be given as the 1st argument for the errback.</p>\n\n<p>Note, that the tear down process is supposed to be completed within the <a href=\"#!/api/Siesta.Test-cfg-isReadyTimeout\" rel=\"Siesta.Test-cfg-isReadyTimeout\" class=\"docClass\">isReadyTimeout</a> timeout, after this\ntimeout a failing assertion will be added to the test and test suite will just continue execution.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>A function to call when the tear down process has completed successfully</p>\n</div></li><li><span class='pre'>errback</span> : Function<div class='sub-desc'><p>A function to call when the tear down process has failed.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>errorMessage</span> : String (optional)<div class='sub-desc'><p>An error message which will be added as a failing assertion to the test.</p>\n</div></li></ul></div></li></ul></div></div></div><div id='method-throwsOk' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-throwsOk' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-throwsOk' class='name expandable'>throwsOk</a>( <span class='pre'>func, expected, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes if the func function throws an exception during executing, and the\nstringified exception passes...</div><div class='long'><p>This assertion passes if the <code>func</code> function throws an exception during executing, and the\nstringified exception passes the 'like' assertion (with 'expected' parameter).</p>\n\n<p>It has synonyms - <code>throws_ok</code> and <code>throws</code>.</p>\n\n<pre><code> t.throwsOk(function(){\n     throw \"oopsie\";\n }, 'oopsie', 'Some description text');\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>func</span> : Function<div class='sub-desc'><p>The function which should throw an exception</p>\n</div></li><li><span class='pre'>expected</span> : String/RegExp<div class='sub-desc'><p>The regex against which to test the stringified exception, can be also a plain string</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-todo' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-todo' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-todo' class='name expandable'>todo</a>( <span class='pre'>why, code</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>With this method you can mark a group of assertions as \"todo\", assuming they most likely will fail,\nbut it's still wo...</div><div class='long'><p>With this method you can mark a group of assertions as \"todo\", assuming they most likely will fail,\nbut it's still worth to try to run them.\nThe supplied <code>code</code> function will be run, it will receive a new test instance as the 1st argument,\nwhich should be used for assertion checks (and not the primary test instance, received from <code>StartTest</code>).</p>\n\n<p>Assertions, failed inside of the <code>code</code> block will be still treated by harness as \"green\".\nAssertions, passed inside of the <code>code</code> block will be treated by harness as bonus ones and highlighted.</p>\n\n<p>See also <a href=\"#!/api/Siesta.Test.ExtJS-method-knownBugIn\" rel=\"Siesta.Test.ExtJS-method-knownBugIn\" class=\"docClass\">Siesta.Test.ExtJS.knownBugIn</a> and <a href=\"#!/api/Siesta.Test.ExtJS-method-snooze\" rel=\"Siesta.Test.ExtJS-method-snooze\" class=\"docClass\">Siesta.Test.ExtJS.snooze</a> methods. Note, that this method will start a new <a href=\"#!/api/Siesta.Test-method-subTest\" rel=\"Siesta.Test-method-subTest\" class=\"docClass\">sub test</a>.</p>\n\n<p>For example:</p>\n\n<pre><code>        t.todo('Scheduled for 4.1.x release', function (todo) {\n\n            var treePanel    = new Ext.tree.Panel()\n\n            todo.is(treePanel.getView().store, treePanel.store, 'NodeStore and TreeStore have been merged and there is only 1 store now');\n        })\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>why</span> : String<div class='sub-desc'><p>The reason/description for the todo</p>\n</div></li><li><span class='pre'>code</span> : Function<div class='sub-desc'><p>A function, wrapping the \"todo\" assertions. This function will receive a special test class instance\nwhich should be used for assertion checks</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-type' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.Simulate.Keyboard' rel='Siesta.Test.Simulate.Keyboard' class='defined-in docClass'>Siesta.Test.Simulate.Keyboard</a><br/><a href='source/Keyboard.html#Siesta-Test-Simulate-Keyboard-method-type' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Simulate.Keyboard-method-type' class='name expandable'>type</a>( <span class='pre'>el, text, [callback], [scope], [options], [clearExisting]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will simulate keyboard typing on either a provided DOM element, or if omitted on the currently focuced DO...</div><div class='long'><p>This method will simulate keyboard typing on either a provided DOM element, or if omitted on the currently focuced DOM element.\nSimulation of certain special keys such as ENTER, ESC, LEFT etc is supported.\nYou can type these special keys by using the all uppercase name the key inside square brackets. See <a href=\"#!/api/Siesta.Test.Simulate.KeyCodes\" rel=\"Siesta.Test.Simulate.KeyCodes\" class=\"docClass\">Siesta.Test.Simulate.KeyCodes</a> for a list\nof key names.</p>\n\n<p>For example:</p>\n\n<pre><code>t.type(el, 'Foo bar[ENTER]', function () {\n    ...\n})\n\n// With extra options as the last argument\nt.type(el, 'Foo bar[ENTER]', callback, scope, { shiftKey : true, altKey : true });\n</code></pre>\n\n<p>The following events will be fired, in order: <code>keydown</code>, <code>keypress</code>, <code>keyup</code></p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>el</span> : <a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'><p>The element to type into</p>\n</div></li><li><span class='pre'>text</span> : String<div class='sub-desc'><p>The text to type, including any names of special keys in square brackets.</p>\n</div></li><li><span class='pre'>callback</span> : Function (optional)<div class='sub-desc'><p>To run this method async, provide a callback method to be called after the type operation is completed.</p>\n</div></li><li><span class='pre'>scope</span> : Object (optional)<div class='sub-desc'><p>the scope for the callback</p>\n</div></li><li><span class='pre'>options</span> : Object (optional)<div class='sub-desc'><p>any extra options used to configure the DOM key events (like holding shiftKey, ctrlKey, altKey etc).</p>\n</div></li><li><span class='pre'>clearExisting</span> : Boolean (optional)<div class='sub-desc'><p>true to clear existing text in the target before typing</p>\n</div></li></ul></div></div></div><div id='method-unlike' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-unlike' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-unlike' class='name expandable'>unlike</a>( <span class='pre'>string, regex, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method is the opposite of 'like', it adds failed assertion, when the string matches the passed regex. ...</div><div class='long'><p>This method is the opposite of 'like', it adds failed assertion, when the string matches the passed regex.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>string</span> : String<div class='sub-desc'><p>The string to check for \"unlikeness\"</p>\n</div></li><li><span class='pre'>regex</span> : String/RegExp<div class='sub-desc'><p>The regex against which to test the string, can be also a plain string</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion</p>\n</div></li></ul></div></div></div><div id='method-verifyGlobals' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-verifyGlobals' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-verifyGlobals' class='name expandable'>verifyGlobals</a>( <span class='pre'>name1, name2, nameN</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method accepts a variable number of names of expected properties in the global scope and then performs a globals...</div><div class='long'><p>This method accepts a variable number of names of expected properties in the global scope and then performs a globals check.</p>\n\n<p>It will scan all globals properties in the scope of test and compare them with the list of expected globals. Expected globals can be provided with:\n<a href=\"#!/api/Siesta.Test.More-method-expectGlobals\" rel=\"Siesta.Test.More-method-expectGlobals\" class=\"docClass\">expectGlobals</a> method or <a href=\"#!/api/Siesta.Harness-cfg-expectedGlobals\" rel=\"Siesta.Harness-cfg-expectedGlobals\" class=\"docClass\">expectedGlobals</a> configuration option of harness.</p>\n\n<p>You can enable this assertion to automatically happen at the end of each test, using <a href=\"#!/api/Siesta.Harness-cfg-autoCheckGlobals\" rel=\"Siesta.Harness-cfg-autoCheckGlobals\" class=\"docClass\">autoCheckGlobals</a> option of the harness.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>name1</span> : String/RegExp<div class='sub-desc'><p>The name of global property or the regular expression to match several properties</p>\n</div></li><li><span class='pre'>name2</span> : String/RegExp<div class='sub-desc'><p>The name of global property or the regular expression to match several properties</p>\n</div></li><li><span class='pre'>nameN</span> : String/RegExp<div class='sub-desc'><p>The name of global property or the regular expression to match several properties</p>\n</div></li></ul></div></div></div><div id='method-wait' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-method-wait' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-method-wait' class='name expandable'>wait</a>( <span class='pre'>title, howLong</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method starts the \"asynchronous frame\". ...</div><div class='long'><p>This method starts the \"asynchronous frame\". The test will wait for all asynchronous frames to complete before it will finalize.\nThe frame can be finished with the <a href=\"#!/api/Siesta.Test-method-endWait\" rel=\"Siesta.Test-method-endWait\" class=\"docClass\">endWait</a> call. Unlike the <a href=\"#!/api/Siesta.Test-method-beginAsync\" rel=\"Siesta.Test-method-beginAsync\" class=\"docClass\">beginAsync</a>, this method requires you to provide\nthe unique id for the asynchronous frame.</p>\n\n<p>For example:</p>\n\n<pre><code> t.wait(\"require\")\n\n Ext.require('Some.Class', function () {\n\n     t.ok(Some.Class, 'Some class was loaded')\n\n     t.endWait(\"require\")\n })\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>title</span> : String<div class='sub-desc'><p>The unique id for the asynchronous frame.</p>\n</div></li><li><span class='pre'>howLong</span> : String<div class='sub-desc'><p>The maximum time (in ms) to wait until force the finalization of this async frame. Optional. Default time is 15000 ms.</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-waitFor' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-waitFor' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-waitFor' class='name expandable'>waitFor</a>( <span class='pre'>method, callback, scope, timeout, [interval]</span> ) : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>Waits for passed checker method to return true (or any non-false value, like for example DOM element or array), and c...</div><div class='long'><p>Waits for passed checker method to return true (or any non-false value, like for example DOM element or array), and calls the callback when this happens.\nAs an additional feature, the callback will receive the result from the checker method as the 1st argument.</p>\n\n<pre><code>t.waitFor(\n    function () { return document.getElementById('someEl') },\n    function (el) {\n        // waited for element #someEl to appear\n        // element will be available in the callback as 1st argument \"el\"\n    }\n)\n</code></pre>\n\n<p>You can also call this method with a single Object having the following properties: <code>method</code>, <code>callback</code>, <code>scope</code>, <code>timeout</code>, <code>interval</code>:</p>\n\n<pre><code>t.waitFor({\n    method      : function () { return document.getElementById('someEl') },\n    callback    : function (el) {\n        // waited for element #someEl to appear\n        // element will be available in the callback as 1st argument \"el\"\n    }\n})\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>method</span> : Object/Function/Number<div class='sub-desc'><p>Either a function which should return true when a certain condition has been fulfilled, or a number of ms to wait before calling the callback.</p>\n</div></li><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>A function to call when the condition has been met. Will receive a result from checker function.</p>\n</div></li><li><span class='pre'>scope</span> : Object<div class='sub-desc'><p>The scope for the callback</p>\n</div></li><li><span class='pre'>timeout</span> : Int<div class='sub-desc'><p>The maximum amount of time (in milliseconds) to wait for the condition to be fulfilled.\nDefaults to the <a href=\"#!/api/Siesta.Test.ExtJS-cfg-waitForTimeout\" rel=\"Siesta.Test.ExtJS-cfg-waitForTimeout\" class=\"docClass\">Siesta.Test.ExtJS.waitForTimeout</a> value. If condition is not fullfilled within this time, a failed assertion will be added to the test.</p>\n</div></li><li><span class='pre'>interval</span> : Int (optional)<div class='sub-desc'><p>The polling interval (in milliseconds)</p>\n<p>Defaults to: <code>100</code></p></div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>An object with the following properties:</p>\n<ul><li><span class='pre'>force</span> : Function<div class='sub-desc'><p>A function, that will force this wait operation to immediately complete (and call the callback).\nNo call to checker will be performed and callback will not receive a result from it.</p>\n</div></li></ul></div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-waitForEvent' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-waitForEvent' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-waitForEvent' class='name expandable'>waitForEvent</a>( <span class='pre'>observable, event, callback, scope, timeout</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will wait for the first browser event, fired by the provided observable and will then call the provided c...</div><div class='long'><p>This method will wait for the first browser <code>event</code>, fired by the provided <code>observable</code> and will then call the provided callback.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>observable</span> : Mixed<div class='sub-desc'><p>Any browser observable, window object, element instances, CSS selector.</p>\n</div></li><li><span class='pre'>event</span> : String<div class='sub-desc'><p>The name of the event to wait for</p>\n</div></li><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>The callback to call</p>\n</div></li><li><span class='pre'>scope</span> : Object<div class='sub-desc'><p>The scope for the callback</p>\n</div></li><li><span class='pre'>timeout</span> : Number<div class='sub-desc'><p>The maximum amount of time to wait for the condition to be fulfilled. Defaults to the <a href=\"#!/api/Siesta.Test.ExtJS-cfg-waitForTimeout\" rel=\"Siesta.Test.ExtJS-cfg-waitForTimeout\" class=\"docClass\">Siesta.Test.ExtJS.waitForTimeout</a> value.</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-waitForFn' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-waitForFn' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-waitForFn' class='name expandable'>waitForFn</a>( <span class='pre'>fn, callback, scope, timeout, [interval]</span> ) : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>Waits for the passed checker method to return true (or any non-false value, like for example DOM element or array), a...</div><div class='long'><p>Waits for the passed checker method to return true (or any non-false value, like for example DOM element or array), and calls the callback when this happens.\nThis is just a convenience synonym for the <a href=\"#!/api/Siesta.Test.More-method-waitFor\" rel=\"Siesta.Test.More-method-waitFor\" class=\"docClass\">waitFor</a> method.</p>\n\n<pre><code>     t.waitForFn(function() { return true; }, callback)\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>fn</span> : Function<div class='sub-desc'><p>The checker function.</p>\n</div></li><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>A function to call when the condition has been met. Will receive a result from checker function.</p>\n</div></li><li><span class='pre'>scope</span> : Object<div class='sub-desc'><p>The scope for the callback</p>\n</div></li><li><span class='pre'>timeout</span> : Int<div class='sub-desc'><p>The maximum amount of time (in milliseconds) to wait for the condition to be fulfilled.\nDefaults to the <a href=\"#!/api/Siesta.Test.ExtJS-cfg-waitForTimeout\" rel=\"Siesta.Test.ExtJS-cfg-waitForTimeout\" class=\"docClass\">Siesta.Test.ExtJS.waitForTimeout</a> value. If condition is not fullfilled within this time, a failed assertion will be added to the test.</p>\n</div></li><li><span class='pre'>interval</span> : Int (optional)<div class='sub-desc'><p>The polling interval (in milliseconds)</p>\n<p>Defaults to: <code>100</code></p></div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>An object with the following properties:</p>\n<ul><li><span class='pre'>force</span> : Function<div class='sub-desc'><p>A function, that will force this wait operation to immediately complete (and call the callback).\nNo call to checker will be performed and callback will not receive a result from it.</p>\n</div></li></ul></div></li></ul></div></div></div><div id='method-waitForMs' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.More' rel='Siesta.Test.More' class='defined-in docClass'>Siesta.Test.More</a><br/><a href='source/More.html#Siesta-Test-More-method-waitForMs' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.More-method-waitForMs' class='name expandable'>waitForMs</a>( <span class='pre'>method, callback, scope, timeout, [interval]</span> ) : Object<span class=\"signature\"></span></div><div class='description'><div class='short'>Waits for the number of a number millseconds and calls the callback when after waiting. ...</div><div class='long'><p>Waits for the number of a number millseconds and calls the callback when after waiting. This is just a convenience synonym for the <a href=\"#!/api/Siesta.Test.More-method-waitFor\" rel=\"Siesta.Test.More-method-waitFor\" class=\"docClass\">waitFor</a> method.</p>\n\n<pre><code>     t.waitForMs(1500, callback)\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>method</span> : Number<div class='sub-desc'><p>The number of ms to wait before calling the callback.</p>\n</div></li><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>A function to call when the condition has been met. Will receive a result from checker function.</p>\n</div></li><li><span class='pre'>scope</span> : Object<div class='sub-desc'><p>The scope for the callback</p>\n</div></li><li><span class='pre'>timeout</span> : Int<div class='sub-desc'><p>The maximum amount of time (in milliseconds) to wait for the condition to be fulfilled.\nDefaults to the <a href=\"#!/api/Siesta.Test.ExtJS-cfg-waitForTimeout\" rel=\"Siesta.Test.ExtJS-cfg-waitForTimeout\" class=\"docClass\">Siesta.Test.ExtJS.waitForTimeout</a> value. If condition is not fullfilled within this time, a failed assertion will be added to the test.</p>\n</div></li><li><span class='pre'>interval</span> : Int (optional)<div class='sub-desc'><p>The polling interval (in milliseconds)</p>\n<p>Defaults to: <code>100</code></p></div></li></ul><h3 class='pa'>Returns</h3><ul><li><span class='pre'>Object</span><div class='sub-desc'><p>An object with the following properties:</p>\n<ul><li><span class='pre'>force</span> : Function<div class='sub-desc'><p>A function, that will force this wait operation to immediately complete (and call the callback).\nNo call to checker will be performed and callback will not receive a result from it.</p>\n</div></li></ul></div></li></ul></div></div></div><div id='method-waitForPageLoad' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-waitForPageLoad' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-waitForPageLoad' class='name expandable'>waitForPageLoad</a>( <span class='pre'>callback, scope</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>Only useful along with enablePageRedirect option\n\nWait for the page load to occur and runs the callback. ...</div><div class='long'><p>Only useful along with enablePageRedirect option</p>\n\n<p>Wait for the page load to occur and runs the callback. The callback will receive a \"window\" object.\nShould be used when you are doing a redirect / refresh of the test page:</p>\n\n<pre><code> t.waitForPageLoad(function (window) {\n     ...\n })\n</code></pre>\n\n<p>Note, that method obviously must be called before the new page has completed loading, otherwise it will\nwait indefinitely and fail (since there will be no page load). So, to avoid the race conditions, one\nshould always start waiting for page load <em>before</em> the action, that causes it.</p>\n\n<p>Consider the following example (where click on the <code>&gt;&gt; #loginPanel button</code> trigger a page redirect):</p>\n\n<pre><code>     // this code does not reliably - it contains a race condition\n     // in Chrome, page refresh may happen too fast (even synchronously),\n     // so, by the time the `waitForPageLoad` action will start, the page load event will already happen\n     // and `waitForPageLoad` will wait indefinitely\n     { click : '&gt;&gt; #loginPanel button' },\n     { waitFor : 'PageLoad'}\n</code></pre>\n\n<p>&nbsp;</p>\n\n<pre><code>     // Need to start waiting first, and only then - click\n     // we'll use \"trigger\" config of the `wait` action for that\n     {\n         waitFor     : 'PageLoad',\n         trigger     : {\n             click : '&gt;&gt; #loginPanel button'\n         }\n     }\n     // or, same action using function step:\n     function (next) {\n    t.waitForPageLoad(next)\n\n    t.click('&gt;&gt; #loginPanel button', function () {})\n}\n</code></pre>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>callback</span> : Object<div class='sub-desc'></div></li><li><span class='pre'>scope</span> : Object<div class='sub-desc'></div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-waitForTarget' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-waitForTarget' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-waitForTarget' class='name expandable'>waitForTarget</a>( <span class='pre'>target, callback, scope, timeout</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>Waits until the passed action target is detected. ...</div><div class='long'><p>Waits until the passed action target is detected. This can be a string such as a component query, CSS query or a composite query.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>target</span> : String/<a href=\"#!/api/Siesta.Test.ActionTarget\" rel=\"Siesta.Test.ActionTarget\" class=\"docClass\">Siesta.Test.ActionTarget</a><div class='sub-desc'><p>The target presence to wait for</p>\n</div></li><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>The callback to call after the target has been found</p>\n</div></li><li><span class='pre'>scope</span> : Object<div class='sub-desc'><p>The scope for the callback</p>\n</div></li><li><span class='pre'>timeout</span> : Int<div class='sub-desc'><p>The maximum amount of time to wait for the condition to be fulfilled. Defaults to the <a href=\"#!/api/Siesta.Test.ExtJS-cfg-waitForTimeout\" rel=\"Siesta.Test.ExtJS-cfg-waitForTimeout\" class=\"docClass\">Siesta.Test.ExtJS.waitForTimeout</a> value.</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-waitForTextNotPresent' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-waitForTextNotPresent' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-waitForTextNotPresent' class='name expandable'>waitForTextNotPresent</a>( <span class='pre'>text, callback, scope, timeout</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will wait for the absence of the passed string. ...</div><div class='long'><p>This method will wait for the absence of the passed string.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>text</span> : String<div class='sub-desc'><p>The text to wait for</p>\n</div></li><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>The callback to call</p>\n</div></li><li><span class='pre'>scope</span> : Object<div class='sub-desc'><p>The scope for the callback</p>\n</div></li><li><span class='pre'>timeout</span> : Number<div class='sub-desc'><p>The maximum amount of time to wait for the condition to be fulfilled. Defaults to the <a href=\"#!/api/Siesta.Test.ExtJS-cfg-waitForTimeout\" rel=\"Siesta.Test.ExtJS-cfg-waitForTimeout\" class=\"docClass\">Siesta.Test.ExtJS.waitForTimeout</a> value.</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-waitForTextPresent' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-waitForTextPresent' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-waitForTextPresent' class='name expandable'>waitForTextPresent</a>( <span class='pre'>text, callback, scope, timeout</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This method will wait for the presence of the passed string. ...</div><div class='long'><p>This method will wait for the presence of the passed string.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>text</span> : String<div class='sub-desc'><p>The text to wait for</p>\n</div></li><li><span class='pre'>callback</span> : Function<div class='sub-desc'><p>The callback to call</p>\n</div></li><li><span class='pre'>scope</span> : Object<div class='sub-desc'><p>The scope for the callback</p>\n</div></li><li><span class='pre'>timeout</span> : Number<div class='sub-desc'><p>The maximum amount of time to wait for the condition to be fulfilled. Defaults to the <a href=\"#!/api/Siesta.Test.ExtJS-cfg-waitForTimeout\" rel=\"Siesta.Test.ExtJS-cfg-waitForTimeout\" class=\"docClass\">Siesta.Test.ExtJS.waitForTimeout</a> value.</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-willFireNTimes' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-willFireNTimes' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-willFireNTimes' class='name expandable'>willFireNTimes</a>( <span class='pre'>observable, event, n, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes if the observable fires the specified event exactly (n) times during the test execution. ...</div><div class='long'><p>This assertion passes if the observable fires the specified event exactly (n) times during the test execution.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>observable</span> : Ext.util.Observable/Ext.Element/HTMLElement<div class='sub-desc'><p>The observable instance</p>\n</div></li><li><span class='pre'>event</span> : String<div class='sub-desc'><p>The name of event</p>\n</div></li><li><span class='pre'>n</span> : Number<div class='sub-desc'><p>The expected number of events to be fired</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion.</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-wontFire' class='member  not-inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><span class='defined-in' rel='Siesta.Test.Browser'>Siesta.Test.Browser</span><br/><a href='source/Browser2.html#Siesta-Test-Browser-method-wontFire' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.Browser-method-wontFire' class='name expandable'>wontFire</a>( <span class='pre'>observable, event, [desc]</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This assertion passes if the observable does not fire the specified event(s) after calling this method. ...</div><div class='long'><p>This assertion passes if the observable does not fire the specified event(s) after calling this method.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>observable</span> : Mixed<div class='sub-desc'><p>Any browser observable, window object, element instances, CSS selector.</p>\n</div></li><li><span class='pre'>event</span> : String/Array[String]<div class='sub-desc'><p>The name of event or array of such</p>\n</div></li><li><span class='pre'>desc</span> : String (optional)<div class='sub-desc'><p>The description of the assertion.</p>\n</div></li></ul><h3 class='pa'>Fires</h3><ul><li>maxtimeoutchanged</li></ul></div></div></div><div id='method-xdescribe' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-xdescribe' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-xdescribe' class='name expandable'>xdescribe</a>( <span class='pre'></span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This is a no-op method, allowing you to quickly ignore some suites. ...</div><div class='long'><p>This is a no-op method, allowing you to quickly ignore some suites.</p>\n</div></div></div><div id='method-xit' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test.BDD' rel='Siesta.Test.BDD' class='defined-in docClass'>Siesta.Test.BDD</a><br/><a href='source/BDD.html#Siesta-Test-BDD-method-xit' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test.BDD-method-xit' class='name expandable'>xit</a>( <span class='pre'></span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This is a no-op method, allowing you to quickly ignore some specs. ...</div><div class='long'><p>This is a no-op method, allowing you to quickly ignore some specs.</p>\n</div></div></div></div></div><div class='members-section'><div class='definedBy'>Defined By</div><h3 class='members-title icon-event'>Events</h3><div class='subsection'><div id='event-beforetestfinalize' class='member first-child inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-event-beforetestfinalize' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-event-beforetestfinalize' class='name expandable'>beforetestfinalize</a>( <span class='pre'>event, test</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This event is fired before each individual test case ends (no any corresponding Harness actions will have been run yet). ...</div><div class='long'><p>This event is fired before each individual test case ends (no any corresponding Harness actions will have been run yet).</p>\n\n<p>This event bubbles up to the <a href=\"#!/api/Siesta.Harness\" rel=\"Siesta.Harness\" class=\"docClass\">harness</a>, so you can observe it on the harness as well.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>event</span> : JooseX.Observable.Event<div class='sub-desc'><p>The event instance</p>\n</div></li><li><span class='pre'>test</span> : <a href=\"#!/api/Siesta.Test\" rel=\"Siesta.Test\" class=\"docClass\">Siesta.Test</a><div class='sub-desc'><p>The test instance that is about to finalize</p>\n</div></li></ul></div></div></div><div id='event-testfailedwithexception' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-event-testfailedwithexception' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-event-testfailedwithexception' class='name expandable'>testfailedwithexception</a>( <span class='pre'>event, test, exception</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This event is fired when an individual test case has thrown an exception. ...</div><div class='long'><p>This event is fired when an individual test case has thrown an exception.</p>\n\n<p>This event bubbles up to the <a href=\"#!/api/Siesta.Harness\" rel=\"Siesta.Harness\" class=\"docClass\">harness</a>, so you can observe it on the harness as well.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>event</span> : JooseX.Observable.Event<div class='sub-desc'><p>The event instance</p>\n</div></li><li><span class='pre'>test</span> : <a href=\"#!/api/Siesta.Test\" rel=\"Siesta.Test\" class=\"docClass\">Siesta.Test</a><div class='sub-desc'><p>The test instance that just threw an exception</p>\n</div></li><li><span class='pre'>exception</span> : Object<div class='sub-desc'><p>The exception thrown</p>\n</div></li></ul></div></div></div><div id='event-testfinalize' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-event-testfinalize' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-event-testfinalize' class='name expandable'>testfinalize</a>( <span class='pre'>event, test</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This event is fired when an individual test case ends (either because it has completed correctly or thrown an excepti...</div><div class='long'><p>This event is fired when an individual test case ends (either because it has completed correctly or thrown an exception).</p>\n\n<p>This event bubbles up to the <a href=\"#!/api/Siesta.Harness\" rel=\"Siesta.Harness\" class=\"docClass\">harness</a>, so you can observe it on the harness as well.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>event</span> : JooseX.Observable.Event<div class='sub-desc'><p>The event instance</p>\n</div></li><li><span class='pre'>test</span> : <a href=\"#!/api/Siesta.Test\" rel=\"Siesta.Test\" class=\"docClass\">Siesta.Test</a><div class='sub-desc'><p>The test instance that just has completed</p>\n</div></li></ul></div></div></div><div id='event-teststart' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-event-teststart' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-event-teststart' class='name expandable'>teststart</a>( <span class='pre'>event, test</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This event is fired when an individual test case starts. ...</div><div class='long'><p>This event is fired when an individual test case starts. When <em>started</em>, the test will be waiting for\nthe <a href=\"#!/api/Siesta.Test-method-isReady\" rel=\"Siesta.Test-method-isReady\" class=\"docClass\">isReady</a> condition to be fullfilled and the <a href=\"#!/api/Siesta.Test-method-setup\" rel=\"Siesta.Test-method-setup\" class=\"docClass\">setup</a> method to complete.\nAfter that the test will be <em>launched</em> (and execute the <code>StartTest</code> function).</p>\n\n<p>This event bubbles up to the <a href=\"#!/api/Siesta.Harness\" rel=\"Siesta.Harness\" class=\"docClass\">harness</a>, you can observe it on the harness as well.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>event</span> : JooseX.Observable.Event<div class='sub-desc'><p>The event instance</p>\n</div></li><li><span class='pre'>test</span> : <a href=\"#!/api/Siesta.Test\" rel=\"Siesta.Test\" class=\"docClass\">Siesta.Test</a><div class='sub-desc'><p>The test instance that just has started</p>\n</div></li></ul></div></div></div><div id='event-testupdate' class='member  inherited'><a href='#' class='side expandable'><span>&nbsp;</span></a><div class='title'><div class='meta'><a href='#!/api/Siesta.Test' rel='Siesta.Test' class='defined-in docClass'>Siesta.Test</a><br/><a href='source/Test.html#Siesta-Test-event-testupdate' target='_blank' class='view-source'>view source</a></div><a href='#!/api/Siesta.Test-event-testupdate' class='name expandable'>testupdate</a>( <span class='pre'>event, test, result</span> )<span class=\"signature\"></span></div><div class='description'><div class='short'>This event is fired when an individual test case receives a new result (assertion or diagnostic message). ...</div><div class='long'><p>This event is fired when an individual test case receives a new result (assertion or diagnostic message).</p>\n\n<p>This event bubbles up to the <a href=\"#!/api/Siesta.Harness\" rel=\"Siesta.Harness\" class=\"docClass\">harness</a>, so you can observe it on the harness as well.</p>\n<h3 class=\"pa\">Parameters</h3><ul><li><span class='pre'>event</span> : JooseX.Observable.Event<div class='sub-desc'><p>The event instance</p>\n</div></li><li><span class='pre'>test</span> : <a href=\"#!/api/Siesta.Test\" rel=\"Siesta.Test\" class=\"docClass\">Siesta.Test</a><div class='sub-desc'><p>The test instance that just has started</p>\n</div></li><li><span class='pre'>result</span> : Siesta.Result<div class='sub-desc'><p>The new result. Instance of Siesta.Result.Assertion or Siesta.Result.Diagnostic classes</p>\n</div></li></ul></div></div></div></div></div></div></div>","meta":{}});