Comparing version 15.1.2 to 15.1.3
@@ -1,1 +0,1 @@ | ||
!function(){window.initTestCafeUI=function(t){var e=t.HammerheadClient,o=t.TestCafeClient,i=t.document;o.define("UI",function(e,o){var i=e("UI.ProgressPanel"),s=100,n=300,r=1e3,a=null,u=null,c=null,d=null;o.showProgressPanel=function(e,o,r){function l(){return Math.round((Date.now()-d)/o*100)}d=Date.now(),u=t.setTimeout(function(){a=new i(e,l()),u=null,c=t.setInterval(function(){a.setValue(l())},s),"function"==typeof r&&r()},n)},o.closeProgressPanel=function(e,i){function n(t){a.close(t),a=null,"function"==typeof e&&e()}return a&&i&&a.setSuccess(!0),u&&(t.clearTimeout(u),u=null),c&&(t.clearInterval(c),c=null),i&&a&&d&&Date.now()-d<r?(d=null,void t.setTimeout(function(){o.closeProgressPanel(e,i)},s)):(a&&(i?t.setTimeout(n,200):n(!0)),void(d=null))}}),o.define("UI.Cursor",function(e,o){var i=e("Settings"),s=e("UI.Cursor.Behavior"),n=e("UI.Cursor.IFrameBehavior"),r=null;o.init=function(){r||(r=t.top!==t.self?new n:new s)},o.ensureCursorPosition=function(t,e,i){if(r.isStarted()&&r.getPosition())return void i();var s={x:Math.max(0,t.x-(e?0:50)),y:Math.max(0,t.y-(e?0:50))};o.start(s,i)},o.setPosition=function(t){r.isStarted()?r.cursorPosition=t:o.start(t,function(){})},o.start=function(e,o,s){r.isStarted()?r.move(e,function(){t.setTimeout(o,0)},s):!i.RECORDING||i.PLAYBACK?(r.start(e,s),r.on(r.STARTED_EVENT,o)):o()},o.move=function(t,e){r.move(t,e)},o.lMouseDown=function(t){r.lMouseDown(t)},o.rMouseDown=function(t){r.rMouseDown(t)},o.mouseUp=function(t){r.mouseUp(t)},o.hide=function(t){r.hide(t)},o.show=function(t){r.show(t)},o.getElementUnderCursor=function(t,e,o){return r?r.getElementUnderCursor(t,e,o):void 0},o.getPosition=function(){return r.getPosition?r.getPosition():null},o.getAbsolutePosition=function(){return r.getAbsolutePosition?r.getAbsolutePosition():null}}),o.define("UI.Cursor.BaseBehavior",function(){var t=e.get("Hammerhead"),o=t.$,s=t.Util,n=t.ShadowUI,r="l-mouse-down",a="r-mouse-down",u=[r,a].join(" "),c=this.exports=function(){this.cursorPosition=null,this.pointerOffsetX=0,this.pointerOffsetY=0,this.eventEmitter=new s.EventEmitter,this.started=!1};c.prototype.start=function(){this.started=!0},c.prototype.isStarted=function(){return this.started},c.prototype.on=function(t,e){this.eventEmitter.on(t,e)},c.prototype.STARTED_EVENT="cursorStarted",c.CURSOR_MOVE_REQUEST_CMD="cursorMoveRequest",c.CURSOR_LMOUSEDOWN_REQUEST_CMD="cursorLMouseDownRequest",c.CURSOR_RMOUSEDOWN_REQUEST_CMD="cursorRMouseDownRequest",c.CURSOR_MOUSEUP_REQUEST_CMD="cursorMouseUpRequest",c.CURSOR_HIDE_REQUEST_CMD="cursorHideRequest",c.CURSOR_SHOW_REQUEST_CMD="cursorShowRequest",c.CURSOR_MOVE_RESPONSE_CMD="cursorMoveResponse",c.CURSOR_LMOUSEDOWN_RESPONSE_CMD="cursorLMouseDownResponse",c.CURSOR_RMOUSEDOWN_RESPONSE_CMD="cursorRMouseDownResponse",c.CURSOR_MOUSEUP_RESPONSE_CMD="cursorMouseUpResponse",c.CURSOR_HIDE_RESPONSE_CMD="cursorHideResponse",c.CURSOR_SHOW_RESPONSE_CMD="cursorShowResponse",c.prototype.move=function(t,e,n){this.cursorPosition=s.getFixedPosition(t,n,!0),this.$cursor&&this.$cursor.css({left:this.cursorPosition.x+o(i).scrollLeft()-this.pointerOffsetX+"px",top:this.cursorPosition.y+o(i).scrollTop()-this.pointerOffsetY+"px"}),e&&e()},c.prototype.lMouseDown=function(t){this.$cursor&&(n.removeClass(this.$cursor,u),n.addClass(this.$cursor,r)),t&&t()},c.prototype.rMouseDown=function(t){this.$cursor&&(n.removeClass(this.$cursor,u),n.addClass(this.$cursor,a)),t&&t()},c.prototype.mouseUp=function(t){this.$cursor&&n.removeClass(this.$cursor,u),t&&t()},c.prototype.hide=function(t){this.$cursor&&this.$cursor.css({visibility:"hidden"}),t&&t()},c.prototype.show=function(t){this.$cursor&&this.$cursor.css({visibility:""}),t&&t()},c.prototype.getPosition=function(){return this.cursorPosition}}),o.define("UI.Cursor.Behavior",function(o){function i(){return!c.RECORDING||c.PLAYBACK}var s=e.get("Hammerhead"),n=s.$,r=s.Util,a=s.ShadowUI,u=s.MessageSandbox,c=o("Settings"),d=o("UI.Cursor.BaseBehavior"),l="cursor",h="touch",p=this.exports=function(){var e=this;n(t).scroll(function(){var t=e?e.cursorPosition:null;t&&e.move({x:t.x,y:t.y})}),this._initCursorIFrameBehavior(),this.$cursor=n("<div></div>"),a.addClass(this.$cursor,l),this.$cursor.appendTo(a.getRoot()),this.hide(),d.call(this)};r.inherit(p,d),p.prototype.start=function(e,o){var s=this;!r.isTouchDevice||r.isIE&&o||(a.addClass(this.$cursor,h),this.pointerOffsetX=Math.ceil(this.$cursor.width()/2),this.pointerOffsetY=Math.ceil(this.$cursor.height()/2)),this.move(r.getFixedPosition(e,o,!0)),i()&&this.show(),d.prototype.start.call(this),t.setTimeout(function(){s.eventEmitter.emit(s.STARTED_EVENT,null)},0)},p.prototype._initCursorIFrameBehavior=function(){function t(t){var o=t.message;switch(o.cmd){case d.CURSOR_MOVE_REQUEST_CMD:e.move(o.position,function(){u.sendServiceMsg({cmd:d.CURSOR_MOVE_RESPONSE_CMD},t.source)},t.source);break;case d.CURSOR_LMOUSEDOWN_REQUEST_CMD:e.lMouseDown(function(){u.sendServiceMsg({cmd:d.CURSOR_LMOUSEDOWN_RESPONSE_CMD},t.source)});break;case d.CURSOR_RMOUSEDOWN_REQUEST_CMD:e.rMouseDown(function(){u.sendServiceMsg({cmd:d.CURSOR_RMOUSEDOWN_RESPONSE_CMD},t.source)});break;case d.CURSOR_MOUSEUP_REQUEST_CMD:e.mouseUp(function(){u.sendServiceMsg({cmd:d.CURSOR_MOUSEUP_RESPONSE_CMD},t.source)});break;case d.CURSOR_HIDE_REQUEST_CMD:e.hide(function(){u.sendServiceMsg({cmd:d.CURSOR_HIDE_RESPONSE_CMD},t.source)});break;case d.CURSOR_SHOW_REQUEST_CMD:e.show(function(){u.sendServiceMsg({cmd:d.CURSOR_SHOW_RESPONSE_CMD},t.source)})}}var e=this;u.on(u.SERVICE_MSG_RECEIVED,t)},p.prototype.getElementUnderCursor=function(t,e,o){var i="hidden"!==this.$cursor.css("visibility");i&&this.hide();var s=r.getElementFromPoint(t,e,o);return i&&this.show(),s},p.prototype.getAbsolutePosition=function(){if(this.$cursor){var t=r.getOffsetPosition(this.$cursor[0]),e=Math.round(t.left)+this.pointerOffsetX,o=Math.round(t.top)+this.pointerOffsetY;return{x:e,y:o}}return null}}),o.define("UI.Cursor.IFrameBehavior",function(o){var i=e.get("Hammerhead"),s=i.Util,n=i.MessageSandbox,r=o("UI.Cursor.BaseBehavior"),a=o("Base.CrossDomainMessages"),u=s.isIE?1:0,c=this.exports=function(){r.call(this)};s.inherit(c,r),c.prototype._bindMessageHandler=function(t,e){function o(i){i.message&&i.message.cmd===t&&(n.off(n.SERVICE_MSG_RECEIVED,o),e&&e())}n.on(n.SERVICE_MSG_RECEIVED,o)},c.prototype.start=function(e){var o=this,i={cmd:a.CURSOR_START_REQUEST_CMD,position:{x:e.x+u,y:e.y+u}};this.cursorPosition=e,this._bindMessageHandler(a.CURSOR_START_RESPONSE_CMD,function(){r.prototype.start.call(o),o.eventEmitter.emit(o.STARTED_EVENT,null)}),n.sendServiceMsg(i,t.top)},c.prototype.move=function(e,o){this.cursorPosition=e,this._bindMessageHandler(r.CURSOR_MOVE_RESPONSE_CMD,o);var i={cmd:r.CURSOR_MOVE_REQUEST_CMD,position:{x:e.x+u,y:e.y+u}};n.sendServiceMsg(i,t.top)},c.prototype.lMouseDown=function(e){this._bindMessageHandler(r.CURSOR_LMOUSEDOWN_RESPONSE_CMD,e),n.sendServiceMsg({cmd:r.CURSOR_LMOUSEDOWN_REQUEST_CMD},t.top)},c.prototype.rMouseDown=function(e){this._bindMessageHandler(r.CURSOR_RMOUSEDOWN_RESPONSE_CMD,e),n.sendServiceMsg({cmd:r.CURSOR_RMOUSEDOWN_REQUEST_CMD},t.top)},c.prototype.mouseUp=function(e){this._bindMessageHandler(r.CURSOR_MOUSEUP_RESPONSE_CMD,e),n.sendServiceMsg({cmd:r.CURSOR_MOUSEUP_REQUEST_CMD},t.top)},c.prototype.hide=function(e){this._bindMessageHandler(r.CURSOR_HIDE_RESPONSE_CMD,e),n.sendServiceMsg({cmd:r.CURSOR_HIDE_REQUEST_CMD},t.top)},c.prototype.show=function(e){this._bindMessageHandler(r.CURSOR_SHOW_RESPONSE_CMD,e),n.sendServiceMsg({cmd:r.CURSOR_SHOW_REQUEST_CMD},t.top)},c.prototype.getElementUnderCursor=function(t,e,o){return s.getElementFromPoint(t,e,o)}}),o.define("UI.ModalBackground",function(o,s){function n(){var t=l.getRoot();C=d("<div></div>").appendTo(t),l.addClass(C,p),v=d("<div></div>").appendTo(t).text(h),l.addClass(v,f),O=d("<div></div>").css("visibility","hidden").appendTo(t),l.addClass(O,R)}function r(){var t=_.height(),e=_.width(),o=v.is(":visible");o||(v.attr("visibility","hidden"),v.show()),v.css({left:Math.max((e-v.width())/2,0),top:Math.max((t-v.height())/2,0)}),o||(v.hide(),v.attr("visibility",""))}function a(){var t=function(){var t=_.height(),e=_.width();C.width(e),C.height(t),O.css("top",Math.round((t-O.height())/2)),O.css("left",Math.round((e-O.width())/2))};t(),_.resize(t)}function u(){n(),a(),r(),M=!0}var c=e.get("Hammerhead"),d=c.$,l=c.ShadowUI,h="Loading page...",p="modal-background",f="loading-text",S=.7,E=.8,R="loading-icon",_=d(t),C=null,v=null,O=null,M=!1;s.initAndShowLoadingText=function(){var e=!1,o=function(){u(),C.css({opacity:E}),C.show(),v.show(),e=!0},s=function(){e||(i.body?o():t.setTimeout(s,0))};s(),d(i).ready(function(){e||o()})},s.show=function(t){M||u(),C.css({opacity:t?0:S}),C.show()},s.hide=function(){M&&(v.hide(),C.hide())},s.showLoadingIcon=function(){O.css("visibility","visible")},s.hideLoadingIcon=function(){O.css("visibility","hidden")}}),o.define("UI.ProgressBar",function(){var t=e.get("Hammerhead"),o=t.$,i=t.ShadowUI,s="progress-bar",n="value",r="success",a=this.exports=function(t,e){this.$container=o("<div></div>").appendTo(t),this.$value=o("<div></div>").appendTo(this.$container),i.addClass(this.$container,s),i.addClass(this.$value,n),this.setValue(e)};a.prototype.setValue=function(t){"number"!=typeof t||0>t?t=0:t>100&&(t=100),this.$value.css("width",t+"%")},a.prototype.setSuccess=function(t){t?i.addClass(this.$container,r):i.removeClass(this.$container,r)}}),o.define("UI.ProgressPanel",function(o){function i(t){var e=Math.round(l.height()/2-t.outerHeight()/2),o=Math.round(l.width()/2-t.outerWidth()/2);t.css({top:e,left:o})}var s=e.get("Hammerhead"),n=s.$,r=s.ShadowUI,a=o("UI.ProgressBar"),u="progress-panel",c="title",d="content",l=n(t),h=this.exports=function(t,e){this.$panel=n("<div></div>").css("visibility","hidden").appendTo(r.getRoot());var o=this,s=n("<div></div>").text(t).appendTo(this.$panel),h=n("<div></div>").appendTo(this.$panel);r.addClass(this.$panel,u),r.addClass(s,c),r.addClass(h,d),this.progressBar=new a(h,e),i(this.$panel),this.disposePanel=function(){o._onWindowResize()},r.bind(l,"resize",this.disposePanel),this.$panel.css("display","none").css("visibility",""),this.$panel.fadeIn(200)};h.prototype._onWindowResize=function(){i(this.$panel)},h.prototype.setValue=function(t){this.progressBar.setValue(t)},h.prototype.close=function(t){var e=this;r.unbind(l,"resize",this.disposePanel),this.$panel.fadeOut(t?0:600,function(){e.$panel.remove()})},h.prototype.setSuccess=function(t){this.progressBar.setSuccess(t)}}),o.define("UI.SelectElement",function(o,s){function n(t){(t.target||t.srcElement)!==_[0]&&s.collapseOptionList()}function r(e,o){var i=d("<div></div>").text(e.text).appendTo(o);h.addClass(i,E),e.disabled||"optgroup"===e.parentElement.tagName.toLowerCase()&&e.parentElement.disabled?(h.addClass(i,R),i.css("color",d(e).css("color")),i.click(function(){return!1})):i.click(function(){var e=_[0],o=d.inArray(this,O),i=e.selectedIndex;e.selectedIndex=o,t.setTimeout(function(){o!==i&&p.change(e),p.click(l.isWebKit?e:d(e).find("option")[e.selectedIndex])},0),s.collapseOptionList()}),O=O&&O.length?O.add(i):i}function a(t,e){var o=d("<div></div>").text(t.label||" ").appendTo(e);h.addClass(o,S),t.disabled&&(h.addClass(o,R),o.css("color",d(t).css("color"))),u(d(t).children(),o),v=v&&v.length?v.add(o):o}function u(t,e){d.each(t,function(t,o){"option"===o.tagName.toLowerCase()?r(o,e):"optgroup"===o.tagName.toLowerCase()&&a(o,e)})}var c=e.get("Hammerhead"),d=c.$,l=c.Util,h=c.ShadowUI,p=c.EventSimulator,f="tcOptionList",S="tcOptionGroup",E="tcOption",R="disabled",_=null,C=null,v=null,O=null;s.expandOptionList=function(e){var o=d(e),r=d(e).children();if(r.length){if(_){var a=o[0]===_[0];if(s.collapseOptionList(),a)return}_=o,C=d("<div></div>").appendTo(h.getRoot()),h.addClass(C,f),u(r,C),t.setTimeout(function(){d(i).bind("mousedown",n)},0),C.css({position:"absolute",fontSize:_.css("fontSize"),fontFamily:_.css("fontFamily"),minWidth:_.width(),left:l.getOffsetPosition(_[0]).left,height:l.getSelectVisibleChildren(o).length>l.MAX_OPTION_LIST_LENGTH?l.getOptionHeight(d(e))*l.MAX_OPTION_LIST_LENGTH:""});var c=d(t),p=l.getOffsetPosition(_[0]).top,S=C.height(),E=p+_.height()+2;if(E+S>c.scrollTop()+c.height()){var R=p-3-S;R>=c.scrollTop()&&(E=R)}C.css("top",E)}},s.collapseOptionList=function(){C.remove(),d(i).unbind("mousedown",n),C=null,_=null,O=null,v=null},s.isOptionListExpanded=function(t){return t?t.is(_):!!_},s.getEmulatedChildElement=function(t,e){return e?v[t]:O[t]},s.scrollOptionListByChild=function(t){var e=l.getSelectParent(d(t));if(e){var o=d(e),i=l.getSelectSizeValue(o,!0),s=l.getOptionHeight(o),n=0,r=Math.max(o.scrollTop()/s,0),a=r+i-1,u=l.getChildVisibleIndex(o,t);r>u?(n=s*(r-u),o.scrollTop(Math.max(o.scrollTop()-n,0))):u>a&&(n=s*(u-a),o.scrollTop(o.scrollTop()+n))}},s.getSelectChildCenter=function(t){var e=l.getSelectParent(d(t));if(!e)return{x:0,y:0};var o=l.getOptionHeight(d(e)),i=l.getElementRectangle(t);return{x:Math.round(i.left+i.width/2),y:Math.round(i.top+o/2)}},s.switchOptionsByKeys=function(t){var e=d(l.getActiveElement());if("select"===e[0].tagName.toLowerCase()&&(/enter|tab|esc/.test(t)&&s.collapseOptionList(),/down|up/.test(t)||!l.isIE&&(l.getSelectSizeValue(e)<=1||l.isMozilla)&&(!h.select("."+f).is(":visible")||l.isMozilla)&&/left|right/.test(t))){var o=e.find("option"),i=o.filter(function(){var t=d(this).parent()[0];return!(this.disabled||"optgroup"===t.tagName.toLowerCase()&&t.disabled)}),n=d.inArray(e.find("option:selected")[0],i);n+=/down|right/.test(t)?1:-1,n>=0&&n<i.length&&(e[0].selectedIndex=d.inArray(i[n],o),p.change(e[0]))}}})},window.initTestCafeUI(window)}(); | ||
!function(){window.initTestCafeUI=function(t){var e=t.HammerheadClient,o=t.TestCafeClient,i=t.document;o.define("UI",function(e,o){var i=e("UI.ProgressPanel"),s=100,n=300,r=1e3,a=null,u=null,c=null,d=null;o.showProgressPanel=function(e,o,r){function l(){return Math.round((Date.now()-d)/o*100)}d=Date.now(),u=t.setTimeout(function(){a=new i(e,l()),u=null,c=t.setInterval(function(){a.setValue(l())},s),"function"==typeof r&&r()},n)},o.closeProgressPanel=function(e,i){function n(t){a.close(t),a=null,"function"==typeof e&&e()}return a&&i&&a.setSuccess(!0),u&&(t.clearTimeout(u),u=null),c&&(t.clearInterval(c),c=null),i&&a&&d&&Date.now()-d<r?(d=null,void t.setTimeout(function(){o.closeProgressPanel(e,i)},s)):(a&&(i?t.setTimeout(n,200):n(!0)),void(d=null))}}),o.define("UI.Cursor",function(e,o){var i=e("Settings"),s=e("UI.Cursor.Behavior"),n=e("UI.Cursor.IFrameBehavior"),r=null;o.init=function(){r||(r=t.top!==t.self?new n:new s)},o.ensureCursorPosition=function(t,e,i){if(r.isStarted()&&r.getPosition())return void i();var s={x:Math.max(0,t.x-(e?0:50)),y:Math.max(0,t.y-(e?0:50))};o.start(s,i)},o.setPosition=function(t){r.isStarted()?r.cursorPosition=t:o.start(t,function(){})},o.start=function(e,o,s){r.isStarted()?r.move(e,function(){t.setTimeout(o,0)},s):!i.RECORDING||i.PLAYBACK?(r.start(e,s),r.on(r.STARTED_EVENT,o)):o()},o.move=function(t,e){r.move(t,e)},o.lMouseDown=function(t){r.lMouseDown(t)},o.rMouseDown=function(t){r.rMouseDown(t)},o.mouseUp=function(t){r.mouseUp(t)},o.hide=function(t){r.hide(t)},o.show=function(t){r.show(t)},o.getElementUnderCursor=function(t,e,o){return r?r.getElementUnderCursor(t,e,o):void 0},o.getPosition=function(){return r.getPosition?r.getPosition():null},o.getAbsolutePosition=function(){return r.getAbsolutePosition?r.getAbsolutePosition():null}}),o.define("UI.Cursor.BaseBehavior",function(){var t=e.get("Hammerhead"),o=t.$,s=t.Util,n=t.ShadowUI,r="l-mouse-down",a="r-mouse-down",u=[r,a].join(" "),c=this.exports=function(){this.cursorPosition=null,this.pointerOffsetX=0,this.pointerOffsetY=0,this.eventEmitter=new s.EventEmitter,this.started=!1};c.prototype.start=function(){this.started=!0},c.prototype.isStarted=function(){return this.started},c.prototype.on=function(t,e){this.eventEmitter.on(t,e)},c.prototype.STARTED_EVENT="cursorStarted",c.CURSOR_MOVE_REQUEST_CMD="cursorMoveRequest",c.CURSOR_LMOUSEDOWN_REQUEST_CMD="cursorLMouseDownRequest",c.CURSOR_RMOUSEDOWN_REQUEST_CMD="cursorRMouseDownRequest",c.CURSOR_MOUSEUP_REQUEST_CMD="cursorMouseUpRequest",c.CURSOR_HIDE_REQUEST_CMD="cursorHideRequest",c.CURSOR_SHOW_REQUEST_CMD="cursorShowRequest",c.CURSOR_MOVE_RESPONSE_CMD="cursorMoveResponse",c.CURSOR_LMOUSEDOWN_RESPONSE_CMD="cursorLMouseDownResponse",c.CURSOR_RMOUSEDOWN_RESPONSE_CMD="cursorRMouseDownResponse",c.CURSOR_MOUSEUP_RESPONSE_CMD="cursorMouseUpResponse",c.CURSOR_HIDE_RESPONSE_CMD="cursorHideResponse",c.CURSOR_SHOW_RESPONSE_CMD="cursorShowResponse",c.prototype.move=function(t,e,n){this.cursorPosition=s.getFixedPosition(t,n,!0),this.$cursor&&this.$cursor.css({left:this.cursorPosition.x+o(i).scrollLeft()-this.pointerOffsetX+"px",top:this.cursorPosition.y+o(i).scrollTop()-this.pointerOffsetY+"px"}),e&&e()},c.prototype.lMouseDown=function(t){this.$cursor&&(n.removeClass(this.$cursor,u),n.addClass(this.$cursor,r)),t&&t()},c.prototype.rMouseDown=function(t){this.$cursor&&(n.removeClass(this.$cursor,u),n.addClass(this.$cursor,a)),t&&t()},c.prototype.mouseUp=function(t){this.$cursor&&n.removeClass(this.$cursor,u),t&&t()},c.prototype.hide=function(t){this.$cursor&&this.$cursor.css({visibility:"hidden"}),t&&t()},c.prototype.show=function(t){this.$cursor&&this.$cursor.css({visibility:""}),t&&t()},c.prototype.getPosition=function(){return this.cursorPosition}}),o.define("UI.Cursor.Behavior",function(o){function i(){return!c.RECORDING||c.PLAYBACK}var s=e.get("Hammerhead"),n=s.$,r=s.Util,a=s.ShadowUI,u=s.MessageSandbox,c=o("Settings"),d=o("UI.Cursor.BaseBehavior"),l="cursor",h="touch",p=this.exports=function(){var e=this;n(t).scroll(function(){var t=e?e.cursorPosition:null;t&&e.move({x:t.x,y:t.y})}),this._initCursorIFrameBehavior(),this.$cursor=n("<div></div>"),a.addClass(this.$cursor,l),this.$cursor.appendTo(a.getRoot()),this.hide(),d.call(this)};r.inherit(p,d),p.prototype.start=function(e,o){var s=this;!r.isTouchDevice||r.isIE&&o||(a.addClass(this.$cursor,h),this.pointerOffsetX=Math.ceil(this.$cursor.width()/2),this.pointerOffsetY=Math.ceil(this.$cursor.height()/2)),this.move(r.getFixedPosition(e,o,!0)),i()&&this.show(),d.prototype.start.call(this),t.setTimeout(function(){s.eventEmitter.emit(s.STARTED_EVENT,null)},0)},p.prototype._initCursorIFrameBehavior=function(){function t(t){var o=t.message;switch(o.cmd){case d.CURSOR_MOVE_REQUEST_CMD:e.move(o.position,function(){u.sendServiceMsg({cmd:d.CURSOR_MOVE_RESPONSE_CMD},t.source)},t.source);break;case d.CURSOR_LMOUSEDOWN_REQUEST_CMD:e.lMouseDown(function(){u.sendServiceMsg({cmd:d.CURSOR_LMOUSEDOWN_RESPONSE_CMD},t.source)});break;case d.CURSOR_RMOUSEDOWN_REQUEST_CMD:e.rMouseDown(function(){u.sendServiceMsg({cmd:d.CURSOR_RMOUSEDOWN_RESPONSE_CMD},t.source)});break;case d.CURSOR_MOUSEUP_REQUEST_CMD:e.mouseUp(function(){u.sendServiceMsg({cmd:d.CURSOR_MOUSEUP_RESPONSE_CMD},t.source)});break;case d.CURSOR_HIDE_REQUEST_CMD:e.hide(function(){u.sendServiceMsg({cmd:d.CURSOR_HIDE_RESPONSE_CMD},t.source)});break;case d.CURSOR_SHOW_REQUEST_CMD:e.show(function(){u.sendServiceMsg({cmd:d.CURSOR_SHOW_RESPONSE_CMD},t.source)})}}var e=this;u.on(u.SERVICE_MSG_RECEIVED,t)},p.prototype.getElementUnderCursor=function(t,e,o){var i="hidden"!==this.$cursor.css("visibility");i&&this.hide();var s=r.getElementFromPoint(t,e,o);return i&&this.show(),s},p.prototype.getAbsolutePosition=function(){if(this.$cursor){var t=r.getOffsetPosition(this.$cursor[0]),e=Math.round(t.left)+this.pointerOffsetX,o=Math.round(t.top)+this.pointerOffsetY;return{x:e,y:o}}return null}}),o.define("UI.Cursor.IFrameBehavior",function(o){var i=e.get("Hammerhead"),s=i.Util,n=i.MessageSandbox,r=o("UI.Cursor.BaseBehavior"),a=o("Base.CrossDomainMessages"),u=s.isIE?1:0,c=this.exports=function(){r.call(this)};s.inherit(c,r),c.prototype._bindMessageHandler=function(t,e){function o(i){i.message&&i.message.cmd===t&&(n.off(n.SERVICE_MSG_RECEIVED,o),e&&e())}n.on(n.SERVICE_MSG_RECEIVED,o)},c.prototype.start=function(e){var o=this,i={cmd:a.CURSOR_START_REQUEST_CMD,position:{x:e.x+u,y:e.y+u}};this.cursorPosition=e,this._bindMessageHandler(a.CURSOR_START_RESPONSE_CMD,function(){r.prototype.start.call(o),o.eventEmitter.emit(o.STARTED_EVENT,null)}),n.sendServiceMsg(i,t.top)},c.prototype.move=function(e,o){this.cursorPosition=e,this._bindMessageHandler(r.CURSOR_MOVE_RESPONSE_CMD,o);var i={cmd:r.CURSOR_MOVE_REQUEST_CMD,position:{x:e.x+u,y:e.y+u}};n.sendServiceMsg(i,t.top)},c.prototype.lMouseDown=function(e){this._bindMessageHandler(r.CURSOR_LMOUSEDOWN_RESPONSE_CMD,e),n.sendServiceMsg({cmd:r.CURSOR_LMOUSEDOWN_REQUEST_CMD},t.top)},c.prototype.rMouseDown=function(e){this._bindMessageHandler(r.CURSOR_RMOUSEDOWN_RESPONSE_CMD,e),n.sendServiceMsg({cmd:r.CURSOR_RMOUSEDOWN_REQUEST_CMD},t.top)},c.prototype.mouseUp=function(e){this._bindMessageHandler(r.CURSOR_MOUSEUP_RESPONSE_CMD,e),n.sendServiceMsg({cmd:r.CURSOR_MOUSEUP_REQUEST_CMD},t.top)},c.prototype.hide=function(e){this._bindMessageHandler(r.CURSOR_HIDE_RESPONSE_CMD,e),n.sendServiceMsg({cmd:r.CURSOR_HIDE_REQUEST_CMD},t.top)},c.prototype.show=function(e){this._bindMessageHandler(r.CURSOR_SHOW_RESPONSE_CMD,e),n.sendServiceMsg({cmd:r.CURSOR_SHOW_REQUEST_CMD},t.top)},c.prototype.getElementUnderCursor=function(t,e,o){return s.getElementFromPoint(t,e,o)}}),o.define("UI.ModalBackground",function(o,s){function n(){var t=l.getRoot();C=d("<div></div>").appendTo(t),l.addClass(C,p),v=d("<div></div>").appendTo(t).text(h),l.addClass(v,f),O=d("<div></div>").css("visibility","hidden").appendTo(t),l.addClass(O,R)}function r(){var t=_.height(),e=_.width(),o=v.is(":visible");o||(v.attr("visibility","hidden"),v.show()),v.css({left:Math.max((e-v.width())/2,0),top:Math.max((t-v.height())/2,0)}),o||(v.hide(),v.attr("visibility",""))}function a(){var t=function(){var t=_.height(),e=_.width();C.width(e),C.height(t),O.css("top",Math.round((t-O.height())/2)),O.css("left",Math.round((e-O.width())/2))};t(),_.resize(t)}function u(){n(),a(),r(),M=!0}var c=e.get("Hammerhead"),d=c.$,l=c.ShadowUI,h="Loading page...",p="modal-background",f="loading-text",S=.7,E=.8,R="loading-icon",_=d(t),C=null,v=null,O=null,M=!1;s.initAndShowLoadingText=function(){var e=!1,o=function(){u(),C.css({opacity:E}),C.show(),v.show(),e=!0},s=function(){e||(i.body?o():t.setTimeout(s,0))};s(),d(i).ready(function(){e||o()})},s.show=function(t){M||u(),C.css({opacity:t?0:S}),C.show()},s.hide=function(){M&&(v.hide(),C.hide())},s.showLoadingIcon=function(){O.css("visibility","visible")},s.hideLoadingIcon=function(){O.css("visibility","hidden")}}),o.define("UI.ProgressBar",function(){var t=e.get("Hammerhead"),o=t.$,i=t.ShadowUI,s="progress-bar",n="value",r="success",a=this.exports=function(t,e){this.$container=o("<div></div>").appendTo(t),this.$value=o("<div></div>").appendTo(this.$container),i.addClass(this.$container,s),i.addClass(this.$value,n),this.setValue(e)};a.prototype.setValue=function(t){"number"!=typeof t||0>t?t=0:t>100&&(t=100),this.$value.css("width",t+"%")},a.prototype.setSuccess=function(t){t?i.addClass(this.$container,r):i.removeClass(this.$container,r)}}),o.define("UI.ProgressPanel",function(o){function i(t){var e=Math.round(l.height()/2-t.outerHeight()/2),o=Math.round(l.width()/2-t.outerWidth()/2);t.css({top:e,left:o})}var s=e.get("Hammerhead"),n=s.$,r=s.ShadowUI,a=o("UI.ProgressBar"),u="progress-panel",c="title",d="content",l=n(t),h=this.exports=function(t,e){this.$panel=n("<div></div>").css("visibility","hidden").appendTo(r.getRoot());var o=this,s=n("<div></div>").text(t).appendTo(this.$panel),h=n("<div></div>").appendTo(this.$panel);r.addClass(this.$panel,u),r.addClass(s,c),r.addClass(h,d),this.progressBar=new a(h,e),i(this.$panel),this.disposePanel=function(){o._onWindowResize()},r.bind(l,"resize",this.disposePanel),this.$panel.css("display","none").css("visibility",""),this.$panel.fadeIn(200)};h.prototype._onWindowResize=function(){i(this.$panel)},h.prototype.setValue=function(t){this.progressBar.setValue(t)},h.prototype.close=function(t){var e=this;r.unbind(l,"resize",this.disposePanel),this.$panel.fadeOut(t?0:600,function(){e.$panel.remove()})},h.prototype.setSuccess=function(t){this.progressBar.setSuccess(t)}}),o.define("UI.SelectElement",function(o,s){function n(t){(t.target||t.srcElement)!==_[0]&&s.collapseOptionList()}function r(e,o){var i=d("<div></div>").text(e.text).appendTo(o);h.addClass(i,E),e.disabled||"optgroup"===e.parentElement.tagName.toLowerCase()&&e.parentElement.disabled?(h.addClass(i,R),i.css("color",d(e).css("color")),i.click(function(){return!1})):i.click(function(){var e=_[0],o=d.inArray(this,O),i=e.selectedIndex;e.selectedIndex=o,t.setTimeout(function(){o!==i&&p.change(e),p.click(l.isWebKit?e:d(e).find("option")[e.selectedIndex])},0),s.collapseOptionList()}),O=O&&O.length?O.add(i):i}function a(t,e){var o=d("<div></div>").text(t.label||" ").appendTo(e);h.addClass(o,S),t.disabled&&(h.addClass(o,R),o.css("color",d(t).css("color"))),u(d(t).children(),o),v=v&&v.length?v.add(o):o}function u(t,e){d.each(t,function(t,o){"option"===o.tagName.toLowerCase()?r(o,e):"optgroup"===o.tagName.toLowerCase()&&a(o,e)})}var c=e.get("Hammerhead"),d=c.$,l=c.Util,h=c.ShadowUI,p=c.EventSimulator,f="tcOptionList",S="tcOptionGroup",E="tcOption",R="disabled",_=null,C=null,v=null,O=null;s.expandOptionList=function(e){var o=d(e),r=d(e).children();if(r.length){if(_){var a=o[0]===_[0];if(s.collapseOptionList(),a)return}_=o,C=d("<div></div>").appendTo(h.getRoot()),h.addClass(C,f),u(r,C),t.setTimeout(function(){d(i).bind("mousedown",n)},0),C.css({position:"absolute",fontSize:_.css("fontSize"),fontFamily:_.css("fontFamily"),minWidth:_.width(),left:l.getOffsetPosition(_[0]).left,height:l.getSelectVisibleChildren(o).length>l.MAX_OPTION_LIST_LENGTH?l.getOptionHeight(d(e))*l.MAX_OPTION_LIST_LENGTH:""});var c=d(t),p=l.getOffsetPosition(_[0]).top,S=C.height(),E=p+_.height()+2;if(E+S>c.scrollTop()+c.height()){var R=p-3-S;R>=c.scrollTop()&&(E=R)}C.css("top",E)}},s.collapseOptionList=function(){C.remove(),d(i).unbind("mousedown",n),C=null,_=null,O=null,v=null},s.isOptionListExpanded=function(t){return t?t.is(_):!!_},s.getEmulatedChildElement=function(t,e){return e?v[t]:O[t]},s.scrollOptionListByChild=function(t){var e=l.getSelectParent(d(t));if(e){var o=d(e),i=l.getSelectSizeValue(o,!0),s=l.getOptionHeight(o),n=0,r=Math.max(o.scrollTop()/s,0),a=r+i-1,u=l.getChildVisibleIndex(o,t);r>u?(n=s*(r-u),o.scrollTop(Math.max(o.scrollTop()-n,0))):u>a&&(n=s*(u-a),o.scrollTop(o.scrollTop()+n))}},s.getSelectChildCenter=function(t){var e=l.getSelectParent(d(t));if(!e)return{x:0,y:0};var o=l.getOptionHeight(d(e)),i=l.getElementRectangle(t);return{x:Math.round(i.left+i.width/2),y:Math.round(i.top+o/2)}},s.switchOptionsByKeys=function(t){var e=d(l.getActiveElement());if("select"===e[0].tagName.toLowerCase()&&(/enter|tab|esc/.test(t)&&s.isOptionListExpanded(e)&&s.collapseOptionList(),/down|up/.test(t)||!l.isIE&&(l.getSelectSizeValue(e)<=1||l.isMozilla)&&(!h.select("."+f).is(":visible")||l.isMozilla)&&/left|right/.test(t))){var o=e.find("option"),i=o.filter(function(){var t=d(this).parent()[0];return!(this.disabled||"optgroup"===t.tagName.toLowerCase()&&t.disabled)}),n=d.inArray(e.find("option:selected")[0],i);n+=/down|right/.test(t)?1:-1,n>=0&&n<i.length&&(e[0].selectedIndex=d.inArray(i[n],o),p.change(e[0]))}}})},window.initTestCafeUI(window)}(); |
@@ -9,4 +9,4 @@ (function() { | ||
Const.UPLOAD_SANDBOX_HIDDEN_INPUT_NAME = "upload-89fc3-info"; | ||
Const.TEST_CAFE_HOVER_PSEUDO_CLASS_ATTR = "data-1b082a6cec-hover"; | ||
Const.TEST_CAFE_FOCUS_PSEUDO_CLASS_ATTR = "data-1b082a6cec-focus"; | ||
Const.TEST_CAFE_HOVER_PSEUDO_CLASS_ATTR = "data-hover" + Const.DOM_SANDBOX_STORED_ATTR_POSTFIX; | ||
Const.TEST_CAFE_FOCUS_PSEUDO_CLASS_ATTR = "data-focus" + Const.DOM_SANDBOX_STORED_ATTR_POSTFIX; | ||
Const.XHR_CORS_SUPPORTED_FLAG = 16; | ||
@@ -13,0 +13,0 @@ Const.XHR_REQUEST_MARKER_HEADER = "x-tc-xm-cd46977f"; |
@@ -11,2 +11,3 @@ (function() { | ||
JSProcessor.PROCESS_SCRIPT_METH_NAME = "__proc$Script"; | ||
JSProcessor.GET_EVAL_METH_NAME = "__get$Eval"; | ||
JSProcessor.FOR_IN_TEMP_VAR_NAME = "__set$temp"; | ||
@@ -16,3 +17,3 @@ JSProcessor.DOCUMENT_WRITE_BEGIN_PARAM = "__begin$"; | ||
var HTML_COMMENT_REG_EXP = /(^|\n)\s*<!--.*(\n|$)/g; | ||
JSProcessor.MOCK_ACCESSORS = [ 'var __w$undef_ = typeof window === "undefined",\r\n', JSProcessor.GET_LOCATION_METH_NAME, "=__w$undef_?function(l){return l}:window.", JSProcessor.GET_LOCATION_METH_NAME, ",\r\n", JSProcessor.SET_LOCATION_METH_NAME, "=__w$undef_?function(l,v){return l = v}:window.", JSProcessor.SET_LOCATION_METH_NAME, ",\r\n", JSProcessor.SET_PROPERTY_METH_NAME, "=__w$undef_?function(o,p,v){return o[p] = v}:window.", JSProcessor.SET_PROPERTY_METH_NAME, ",\r\n", JSProcessor.GET_PROPERTY_METH_NAME, "=__w$undef_?function(o,p){return o[p]}:window.", JSProcessor.GET_PROPERTY_METH_NAME, ",\r\n", JSProcessor.CALL_METHOD_METH_NAME, "=__w$undef_?function(o,p,a){return o[p].apply(o,a)}:window.", JSProcessor.CALL_METHOD_METH_NAME, ",\r\n", JSProcessor.PROCESS_SCRIPT_METH_NAME, "=__w$undef_?function(s){return s}:window.", JSProcessor.PROCESS_SCRIPT_METH_NAME, ";\r\n" ].join(""); | ||
JSProcessor.MOCK_ACCESSORS = [ 'var __w$undef_ = typeof window === "undefined",\r\n', JSProcessor.GET_LOCATION_METH_NAME, "=__w$undef_?function(l){return l}:window.", JSProcessor.GET_LOCATION_METH_NAME, ",\r\n", JSProcessor.SET_LOCATION_METH_NAME, "=__w$undef_?function(l,v){return l = v}:window.", JSProcessor.SET_LOCATION_METH_NAME, ",\r\n", JSProcessor.SET_PROPERTY_METH_NAME, "=__w$undef_?function(o,p,v){return o[p] = v}:window.", JSProcessor.SET_PROPERTY_METH_NAME, ",\r\n", JSProcessor.GET_PROPERTY_METH_NAME, "=__w$undef_?function(o,p){return o[p]}:window.", JSProcessor.GET_PROPERTY_METH_NAME, ",\r\n", JSProcessor.CALL_METHOD_METH_NAME, "=__w$undef_?function(o,p,a){return o[p].apply(o,a)}:window.", JSProcessor.CALL_METHOD_METH_NAME, ",\r\n", JSProcessor.GET_EVAL_METH_NAME, "=__w$undef_?function(s){return s}:window.", JSProcessor.GET_EVAL_METH_NAME, ",\r\n", JSProcessor.PROCESS_SCRIPT_METH_NAME, "=__w$undef_?function(s){return s}:window.", JSProcessor.PROCESS_SCRIPT_METH_NAME, ";\r\n" ].join(""); | ||
var SYNTAX = { | ||
@@ -111,2 +112,3 @@ AssignmentExpression: "AssignmentExpression", | ||
innerHTML: true, | ||
innerText: true, | ||
lastChild: true, | ||
@@ -332,2 +334,22 @@ lastElementChild: true, | ||
} | ||
}, { | ||
modifier: createGetEvalMethCall, | ||
condition: function(node, parentNode) { | ||
if (node.type === SYNTAX.Identifier && node.name === "eval") { | ||
if (parentNode.type === SYNTAX.CallExpression && parentNode.callee === node) return false; | ||
if (parentNode.type === SYNTAX.MemberExpression) return false; | ||
if ((parentNode.type === SYNTAX.FunctionExpression || parentNode.type === SYNTAX.FunctionDeclaration) && parentNode.params.indexOf(node) !== -1) return false; | ||
if (parentNode.type === SYNTAX.AssignmentExpression && parentNode.left === node) return false; | ||
if (parentNode.type === SYNTAX.VariableDeclarator && parentNode.id === node) return false; | ||
if (parentNode.type === SYNTAX.UpdateExpression && parentNode.operator === "++" || parentNode.operator === "--") return false; | ||
return true; | ||
} | ||
if (node.type === SYNTAX.MemberExpression) { | ||
if (parentNode.type === SYNTAX.MemberExpression && (parentNode.property === node || parentNode.object === node)) return false; | ||
if (parentNode.type === SYNTAX.CallExpression && parentNode.callee === node) return false; | ||
if (node.property.type === SYNTAX.Identifier && node.property.name === "eval") return true; | ||
if (node.property.type === SYNTAX.Literal && node.property.value === "eval") return true; | ||
} | ||
return false; | ||
} | ||
} ]; | ||
@@ -631,2 +653,13 @@ function modify(ast, parent, key) { | ||
} | ||
function createGetEvalMethCall(node, parent, key) { | ||
updateAstNode(node, { | ||
type: SYNTAX.CallExpression, | ||
callee: { | ||
type: SYNTAX.Identifier, | ||
name: JSProcessor.GET_EVAL_METH_NAME | ||
}, | ||
arguments: [ node ] | ||
}, parent, key); | ||
return false; | ||
} | ||
function computedMemberGet(astNode, parent, key) { | ||
@@ -633,0 +666,0 @@ var newNode = getGetComputedMethAst(astNode.property, astNode.object); |
@@ -35,3 +35,3 @@ (function() { | ||
data: [ "object" ] | ||
}, OVERRIDE_DOM_METH_SCRIPT = 'window["' + SharedConst.DOM_SANDBOX_OVERRIDE_DOM_METHOD_NAME + '"]', SCRIPT_HEADER = '\r\ntypeof window !== "undefined" && ' + OVERRIDE_DOM_METH_SCRIPT + " && " + OVERRIDE_DOM_METH_SCRIPT + "();\r\n" + JSProcessor.MOCK_ACCESSORS, SCRIPT_HEADER_REG_EX = new RegExp("^\\s*typeof[^\\n]+" + SharedConst.DOM_SANDBOX_OVERRIDE_DOM_METHOD_NAME + "[^\\n]+\\n[^\\n]+\\n[^\\n]+\\n[^\\n]+\\n[^\\n]+\\n[^\\n]+\\n[^\\n]+\\n[^\\n]+__proc\\$Script;", "i"), TARGET_ATTR_TAGS = { | ||
}, OVERRIDE_DOM_METH_SCRIPT = 'window["' + SharedConst.DOM_SANDBOX_OVERRIDE_DOM_METHOD_NAME + '"]', SCRIPT_HEADER_PREFIX = "/*hammerhead|script-processing-header|start*/", SCRIPT_HEADER_POSTFIX = "/*hammerhead|script-processing-header|end*/", SCRIPT_HEADER = SCRIPT_HEADER_PREFIX + '\r\ntypeof window !== "undefined" && ' + OVERRIDE_DOM_METH_SCRIPT + " && " + OVERRIDE_DOM_METH_SCRIPT + "();\r\n" + JSProcessor.MOCK_ACCESSORS + SCRIPT_HEADER_POSTFIX, SCRIPT_HEADER_REG_EX = new RegExp((SCRIPT_HEADER_PREFIX + "[\\S\\s]+?" + SCRIPT_HEADER_POSTFIX).replace(/\/|\*|\|/g, "\\$&"), "i"), TARGET_ATTR_TAGS = { | ||
a: true, | ||
@@ -46,3 +46,2 @@ form: true, | ||
PageProc.SCRIPT_HEADER = SCRIPT_HEADER; | ||
PageProc.SCRIPT_HEADER_REG_EX = SCRIPT_HEADER_REG_EX; | ||
PageProc.TARGET_ATTR_TAGS = TARGET_ATTR_TAGS; | ||
@@ -169,3 +168,3 @@ PageProc.URL_ATTR_TAGS = URL_ATTR_TAGS; | ||
if (urlReplacer && pattern.urlAttr) { | ||
var storedUrlAttr = PageProc.getStoredAttrName(pattern.urlAttr), resourceUrl = getAttr(el, pattern.urlAttr), processedOnServer = !!getAttr(el, storedUrlAttr); | ||
var storedUrlAttr = PageProc.getStoredAttrName(pattern.urlAttr), resourceUrl = getAttr(el, pattern.urlAttr), processedOnServer = hasAttr(el, storedUrlAttr); | ||
if ((resourceUrl || resourceUrl === "") && !processedOnServer) { | ||
@@ -337,2 +336,5 @@ if (UrlUtil.isSupportedProtocol(resourceUrl) && !EMPTY_URL_REG_EX.test(resourceUrl)) { | ||
}; | ||
PageProc.cleanUpScriptHeader = function(text) { | ||
return text.replace(SCRIPT_HEADER_REG_EX, ""); | ||
}; | ||
PageProc.processManifest = function(manifest, urlReplacer) { | ||
@@ -339,0 +341,0 @@ var lines = manifest.split("\n"), trim = function(str) { |
@@ -1,5 +0,3 @@ | ||
var Hammerhead = require("./../../hammerhead"), AssetsManager = require("./assets_manager"), cmd = require("../shared/service_msg_cmd"), Const = require("./const"), ERR = require("./server_errs"), errMsgBuilder = require("../err_msg_builder"), FixtureCode = require("../fixture_code/"), Upload = require("../upload"); | ||
var Hammerhead = require("./../../hammerhead"), AssetsManager = require("./assets_manager"), cmd = require("../shared/service_msg_cmd"), Const = require("./const"), uuid = require("node-uuid"), ERR = require("./server_errs"), errMsgBuilder = require("../err_msg_builder"), FixtureCode = require("../fixture_code/"), Upload = require("../upload"); | ||
var recordingCounter = 0; | ||
var WIN_PLATFORM = /^win/.test(process.platform), MAC_PLATFORM = process.platform === "darwin"; | ||
@@ -401,3 +399,3 @@ | ||
} | ||
var recordingUid = restartUid ? restartUid : ++recordingCounter, recording = restartUid ? recorder.recordings[recordingUid] : null; | ||
var recordingUid = restartUid ? restartUid : uuid.v4(), recording = restartUid ? recorder.recordings[recordingUid] : null; | ||
recorder.recordings[recordingUid] = { | ||
@@ -404,0 +402,0 @@ authCredentials: fixture.authCredentials, |
var EventEmitter = require("events").EventEmitter, util = require("util"), uuid = require("node-uuid"), moment = require("moment"), path = require("path"), childProc = require("child_process"), AssetsManager = require("../server/assets_manager"), cmd = require("../shared/service_msg_cmd"), Const = require("../server/const"), ERR = require("./../server/server_errs"), Reporter = require("./reporter"), Upload = require("../upload"), WorkerPool = require("./worker_pool"); | ||
var testRunCounter = 0; | ||
var screenshotsQueue = []; | ||
@@ -390,3 +388,3 @@ | ||
testUids.forEach(function(testUid) { | ||
var testRunUid = ++testRunCounter, test = suite.tests[testUid], fixture = suite.fixtures[test.fixtureUid]; | ||
var testRunUid = uuid.v4(), test = suite.tests[testUid], fixture = suite.fixtures[test.fixtureUid]; | ||
runner.testRuns[testRunUid] = { | ||
@@ -393,0 +391,0 @@ authCredentials: fixture.authCredentials, |
{ | ||
"name": "testcafe", | ||
"description": "Functional testing for the web", | ||
"version": "15.1.2", | ||
"version": "15.1.3", | ||
"dependencies": { | ||
@@ -6,0 +6,0 @@ "async": "0.2.6", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
6885727
176
60071
5
35
29