mirror of
https://github.com/wahyd4/cdnjs.git
synced 2026-08-17 08:46:19 +10:00
1 line
12 KiB
JavaScript
1 line
12 KiB
JavaScript
function createHttpBackendMock(e,t){function n(e,t,n){return angular.isFunction(e)?e:function(){return angular.isNumber(e)?[e,t,n]:[200,e,t]}}function r(n,r,i,l,u){function d(e){return angular.isString(e)||angular.isFunction(e)||e instanceof RegExp?e:angular.toJson(e)}var h=new MockXhr,p=s[0],g=!1;if(p&&p.match(n,r)){if(!p.matchData(i))throw Error("Expected "+p+" with different data\n"+"EXPECTED: "+d(p.data)+"\nGOT: "+i);if(!p.matchHeaders(u))throw Error("Expected "+p+" with different headers\n"+"EXPECTED: "+d(p.headers)+"\nGOT: "+d(u));if(s.shift(),p.response)return a.push(function(){var e=p.response(n,r,i,u);h.$$respHeaders=e[2],l(e[0],e[1],h.getAllResponseHeaders())}),void 0;g=!0}for(var m,f=-1;m=o[++f];)if(m.match(n,r,i,u||{})){if(m.response)(t?t.defer:c)(function(){var e=m.response(n,r,i,u);h.$$respHeaders=e[2],l(e[0],e[1],h.getAllResponseHeaders())});else{if(!m.passThrough)throw Error("No response defined !");e(n,r,i,l,u)}return}throw g?Error("No response defined !"):Error("Unexpected request: "+n+" "+r+"\n"+(p?"Expected "+p:"No more request expected"))}function i(e){angular.forEach(["GET","DELETE","JSONP"],function(t){r[e+t]=function(n,i){return r[e](t,n,void 0,i)}}),angular.forEach(["PUT","POST","PATCH"],function(t){r[e+t]=function(n,i,o){return r[e](t,n,i,o)}})}var o=[],s=[],a=[],c=angular.bind(a,a.push);return r.when=function(e,r,i,s){var a=new MockHttpExpectation(e,r,i,s),c={respond:function(e,t,r){a.response=n(e,t,r)}};return t&&(c.passThrough=function(){a.passThrough=!0}),o.push(a),c},i("when"),r.expect=function(e,t,r,i){var o=new MockHttpExpectation(e,t,r,i);return s.push(o),{respond:function(e,t,r){o.response=n(e,t,r)}}},i("expect"),r.flush=function(e){if(!a.length)throw Error("No pending request to flush !");if(angular.isDefined(e))for(;e--;){if(!a.length)throw Error("No more pending request to flush !");a.shift()()}else for(;a.length;)a.shift()();r.verifyNoOutstandingExpectation()},r.verifyNoOutstandingExpectation=function(){if(s.length)throw Error("Unsatisfied requests: "+s.join(", "))},r.verifyNoOutstandingRequest=function(){if(a.length)throw Error("Unflushed requests: "+a.length)},r.resetExpectations=function(){s.length=0,a.length=0},r}function MockHttpExpectation(e,t,n,r){this.data=n,this.headers=r,this.match=function(t,n,r,i){return e!=t?!1:this.matchUrl(n)?angular.isDefined(r)&&!this.matchData(r)?!1:angular.isDefined(i)&&!this.matchHeaders(i)?!1:!0:!1},this.matchUrl=function(e){return t?angular.isFunction(t.test)?t.test(e):t==e:!0},this.matchHeaders=function(e){return angular.isUndefined(r)?!0:angular.isFunction(r)?r(e):angular.equals(r,e)},this.matchData=function(e){return angular.isUndefined(n)?!0:n&&angular.isFunction(n.test)?n.test(e):n&&!angular.isString(n)?angular.toJson(n)==e:n==e},this.toString=function(){return e+" "+t}}function MockXhr(){MockXhr.$$lastInstance=this,this.open=function(e,t,n){this.$$method=e,this.$$url=t,this.$$async=n,this.$$reqHeaders={},this.$$respHeaders={}},this.send=function(e){this.$$data=e},this.setRequestHeader=function(e,t){this.$$reqHeaders[e]=t},this.getResponseHeader=function(e){var t=this.$$respHeaders[e];return t?t:(e=angular.lowercase(e),(t=this.$$respHeaders[e])?t:(t=void 0,angular.forEach(this.$$respHeaders,function(n,r){t||angular.lowercase(r)!=e||(t=n)}),t))},this.getAllResponseHeaders=function(){var e=[];return angular.forEach(this.$$respHeaders,function(t,n){e.push(n+": "+t)}),e.join("\n")},this.abort=angular.noop}angular.mock={},angular.mock.$BrowserProvider=function(){this.$get=function(){return new angular.mock.$Browser}},angular.mock.$Browser=function(){var e=this;this.isMock=!0,e.$$url="http://server/",e.$$lastUrl=e.$$url,e.pollFns=[],e.$$completeOutstandingRequest=angular.noop,e.$$incOutstandingRequestCount=angular.noop,e.onUrlChange=function(t){return e.pollFns.push(function(){e.$$lastUrl!=e.$$url&&(e.$$lastUrl=e.$$url,t(e.$$url))}),t},e.cookieHash={},e.lastCookieHash={},e.deferredFns=[],e.deferredNextId=0,e.defer=function(t,n){return n=n||0,e.deferredFns.push({time:e.defer.now+n,fn:t,id:e.deferredNextId}),e.deferredFns.sort(function(e,t){return e.time-t.time}),e.deferredNextId++},e.defer.now=0,e.defer.cancel=function(t){var n;return angular.forEach(e.deferredFns,function(e,r){e.id===t&&(n=r)}),void 0!==n?(e.deferredFns.splice(n,1),!0):!1},e.defer.flush=function(t){if(angular.isDefined(t))e.defer.now+=t;else{if(!e.deferredFns.length)throw Error("No deferred tasks to be flushed");e.defer.now=e.deferredFns[e.deferredFns.length-1].time}for(;e.deferredFns.length&&e.deferredFns[0].time<=e.defer.now;)e.deferredFns.shift().fn()},e.$$baseHref="",e.baseHref=function(){return this.$$baseHref}},angular.mock.$Browser.prototype={poll:function(){angular.forEach(this.pollFns,function(e){e()})},addPollFn:function(e){return this.pollFns.push(e),e},url:function(e){return e?(this.$$url=e,this):this.$$url},cookies:function(e,t){return e?(void 0==t?delete this.cookieHash[e]:angular.isString(t)&&4096>=t.length&&(this.cookieHash[e]=t),void 0):(angular.equals(this.cookieHash,this.lastCookieHash)||(this.lastCookieHash=angular.copy(this.cookieHash),this.cookieHash=angular.copy(this.cookieHash)),this.cookieHash)},notifyWhenNoOutstandingRequests:function(e){e()}},angular.mock.$ExceptionHandlerProvider=function(){var e;this.mode=function(t){switch(t){case"rethrow":e=function(e){throw e};break;case"log":var n=[];e=function(e){1==arguments.length?n.push(e):n.push([].slice.call(arguments,0))},e.errors=n;break;default:throw Error("Unknown mode '"+t+"', only 'log'/'rethrow' modes are allowed!")}},this.$get=function(){return e},this.mode("rethrow")},angular.mock.$LogProvider=function(){function e(e,t,n){return e.concat(Array.prototype.slice.call(t,n))}this.$get=function(){var t={log:function(){t.log.logs.push(e([],arguments,0))},warn:function(){t.warn.logs.push(e([],arguments,0))},info:function(){t.info.logs.push(e([],arguments,0))},error:function(){t.error.logs.push(e([],arguments,0))}};return t.reset=function(){t.log.logs=[],t.warn.logs=[],t.info.logs=[],t.error.logs=[]},t.assertEmpty=function(){var e=[];if(angular.forEach(["error","warn","info","log"],function(n){angular.forEach(t[n].logs,function(t){angular.forEach(t,function(t){e.push("MOCK $log ("+n+"): "+(t+"")+"\n"+(t.stack||""))})})}),e.length)throw e.unshift("Expected $log to be empty! Either a message was logged unexpectedly, or an expected log message was not checked and removed:"),e.push(""),Error(e.join("\n---------\n"))},t.reset(),t}},function(){function e(e){var n;if(n=e.match(r)){var i=new Date(0),o=0,s=0;return n[9]&&(o=t(n[9]+n[10]),s=t(n[9]+n[11])),i.setUTCFullYear(t(n[1]),t(n[2])-1,t(n[3])),i.setUTCHours(t(n[4]||0)-o,t(n[5]||0)-s,t(n[6]||0),t(n[7]||0)),i}return e}function t(e){return parseInt(e,10)}function n(e,t,n){var r="";for(0>e&&(r="-",e=-e),e=""+e;t>e.length;)e="0"+e;return n&&(e=e.substr(e.length-t)),r+e}var r=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?:\:?(\d\d)(?:\:?(\d\d)(?:\.(\d{3}))?)?)?(Z|([+-])(\d\d):?(\d\d)))?$/;angular.mock.TzDate=function(t,r){var i=new Date(0);if(angular.isString(r)){var o=r;if(i.origDate=e(r),r=i.origDate.getTime(),isNaN(r))throw{name:"Illegal Argument",message:"Arg '"+o+"' passed into TzDate constructor is not a valid date string"}}else i.origDate=new Date(r);var s=new Date(r).getTimezoneOffset();i.offsetDiff=1e3*60*s-60*60*1e3*t,i.date=new Date(r+i.offsetDiff),i.getTime=function(){return i.date.getTime()-i.offsetDiff},i.toLocaleDateString=function(){return i.date.toLocaleDateString()},i.getFullYear=function(){return i.date.getFullYear()},i.getMonth=function(){return i.date.getMonth()},i.getDate=function(){return i.date.getDate()},i.getHours=function(){return i.date.getHours()},i.getMinutes=function(){return i.date.getMinutes()},i.getSeconds=function(){return i.date.getSeconds()},i.getTimezoneOffset=function(){return 60*t},i.getUTCFullYear=function(){return i.origDate.getUTCFullYear()},i.getUTCMonth=function(){return i.origDate.getUTCMonth()},i.getUTCDate=function(){return i.origDate.getUTCDate()},i.getUTCHours=function(){return i.origDate.getUTCHours()},i.getUTCMinutes=function(){return i.origDate.getUTCMinutes()},i.getUTCSeconds=function(){return i.origDate.getUTCSeconds()},i.getUTCMilliseconds=function(){return i.origDate.getUTCMilliseconds()},i.getDay=function(){return i.date.getDay()},i.toISOString&&(i.toISOString=function(){return n(i.origDate.getUTCFullYear(),4)+"-"+n(i.origDate.getUTCMonth()+1,2)+"-"+n(i.origDate.getUTCDate(),2)+"T"+n(i.origDate.getUTCHours(),2)+":"+n(i.origDate.getUTCMinutes(),2)+":"+n(i.origDate.getUTCSeconds(),2)+"."+n(i.origDate.getUTCMilliseconds(),3)+"Z"});var a=["getMilliseconds","getUTCDay","getYear","setDate","setFullYear","setHours","setMilliseconds","setMinutes","setMonth","setSeconds","setTime","setUTCDate","setUTCFullYear","setUTCHours","setUTCMilliseconds","setUTCMinutes","setUTCMonth","setUTCSeconds","setYear","toDateString","toGMTString","toJSON","toLocaleFormat","toLocaleString","toLocaleTimeString","toSource","toString","toTimeString","toUTCString","valueOf"];return angular.forEach(a,function(e){i[e]=function(){throw Error("Method '"+e+"' is not implemented in the TzDate mock")}}),i},angular.mock.TzDate.prototype=Date.prototype}(),angular.mock.dump=function(e){function t(e){var r;return angular.isElement(e)?(e=angular.element(e),r=angular.element("<div></div>"),angular.forEach(e,function(e){r.append(angular.element(e).clone())}),r=r.html()):angular.isArray(e)?(r=[],angular.forEach(e,function(e){r.push(t(e))}),r="[ "+r.join(", ")+" ]"):r=angular.isObject(e)?angular.isFunction(e.$eval)&&angular.isFunction(e.$apply)?n(e):e instanceof Error?e.stack||""+e.name+": "+e.message:angular.toJson(e,!0):e+"",r}function n(e,t){t=t||" ";var r=[t+"Scope("+e.$id+"): {"];for(var i in e)e.hasOwnProperty(i)&&!i.match(/^(\$|this)/)&&r.push(" "+i+": "+angular.toJson(e[i]));for(var o=e.$$childHead;o;)r.push(n(o,t+" ")),o=o.$$nextSibling;return r.push("}"),r.join("\n"+t)}return t(e)},angular.mock.$HttpBackendProvider=function(){this.$get=[createHttpBackendMock]},angular.mock.$RootElementProvider=function(){this.$get=function(){return angular.element("<div ng-app></div>")}},angular.module("ngMock",["ng"]).provider({$browser:angular.mock.$BrowserProvider,$exceptionHandler:angular.mock.$ExceptionHandlerProvider,$log:angular.mock.$LogProvider,$httpBackend:angular.mock.$HttpBackendProvider,$rootElement:angular.mock.$RootElementProvider}).config(function(e){e.decorator("$timeout",function(e,t){return e.flush=function(){t.defer.flush()},e})}),angular.module("ngMockE2E",["ng"]).config(function(e){e.decorator("$httpBackend",angular.mock.e2e.$httpBackendDecorator)}),angular.mock.e2e={},angular.mock.e2e.$httpBackendDecorator=["$delegate","$browser",createHttpBackendMock],angular.mock.clearDataCache=function(){var e,t=angular.element.cache;for(e in t)if(t.hasOwnProperty(e)){var n=t[e].handle;n&&angular.element(n.elem).unbind(),delete t[e]}},window.jstestdriver&&function(e){e.dump=function(){var t=[];angular.forEach(arguments,function(e){t.push(angular.mock.dump(e))}),jstestdriver.console.log.apply(jstestdriver.console,t),e.console&&e.console.log.apply(e.console,t)}}(window),(window.jasmine||window.mocha)&&function(e){function t(){return n&&n.queue.running}var n=null;beforeEach(function(){n=this}),afterEach(function(){var e=n.$injector;n.$injector=null,n.$modules=null,n=null,e&&(e.get("$rootElement").unbind(),e.get("$browser").pollFns.length=0),angular.mock.clearDataCache(),angular.forEach(angular.element.fragments,function(e,t){delete angular.element.fragments[t]}),MockXhr.$$lastInstance=null,angular.forEach(angular.callbacks,function(e,t){delete angular.callbacks[t]}),angular.callbacks.counter=0}),e.module=angular.mock.module=function(){function e(){if(n.$injector)throw Error("Injector already created, can not register a module!");var e=n.$modules||(n.$modules=[]);angular.forEach(r,function(t){e.push(t)})}var r=Array.prototype.slice.call(arguments,0);return t()?e():e},e.inject=angular.mock.inject=function(){function e(){var e=n.$modules||[];e.unshift("ngMock"),e.unshift("ng");var t=n.$injector;t||(t=n.$injector=angular.injector(e));for(var o=0,s=r.length;s>o;o++)try{t.invoke(r[o]||angular.noop,this)}catch(a){throw a.stack&&(a.stack+="\n"+i.stack),a}finally{i=null}}var r=Array.prototype.slice.call(arguments,0),i=Error("Declaration Location");return t()?e():e}}(window); |