angular-rails-engine 1.2.0.0 → 1.2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/README.md +1 -1
- data/app/assets/javascripts/angular/angular-animate.js +837 -288
- data/app/assets/javascripts/angular/angular-animate.min.js +17 -10
- data/app/assets/javascripts/angular/angular-animate.min.js.map +8 -0
- data/app/assets/javascripts/angular/angular-cookies.js +20 -2
- data/app/assets/javascripts/angular/angular-cookies.min.js +2 -4
- data/app/assets/javascripts/angular/angular-cookies.min.js.map +8 -0
- data/app/assets/javascripts/angular/angular-loader.js +31 -19
- data/app/assets/javascripts/angular/angular-loader.min.js +4 -6
- data/app/assets/javascripts/angular/angular-loader.min.js.map +8 -0
- data/app/assets/javascripts/angular/angular-mocks.js +263 -85
- data/app/assets/javascripts/angular/angular-resource.js +125 -95
- data/app/assets/javascripts/angular/angular-resource.min.js +8 -10
- data/app/assets/javascripts/angular/angular-resource.min.js.map +8 -0
- data/app/assets/javascripts/angular/angular-route.js +161 -141
- data/app/assets/javascripts/angular/angular-route.min.js +10 -11
- data/app/assets/javascripts/angular/angular-route.min.js.map +8 -0
- data/app/assets/javascripts/angular/angular-sanitize.js +135 -116
- data/app/assets/javascripts/angular/angular-sanitize.min.js +10 -11
- data/app/assets/javascripts/angular/angular-sanitize.min.js.map +8 -0
- data/app/assets/javascripts/angular/angular-scenario.js +13909 -11404
- data/app/assets/javascripts/angular/angular-touch.js +47 -20
- data/app/assets/javascripts/angular/angular-touch.min.js +9 -10
- data/app/assets/javascripts/angular/angular-touch.min.js.map +8 -0
- data/app/assets/javascripts/angular/angular.js +4407 -2278
- data/app/assets/javascripts/angular/angular.min.js +196 -181
- data/app/assets/javascripts/angular/angular.min.js.map +8 -0
- data/app/assets/stylesheets/angular-csp.css +24 -0
- data/lib/angular-rails-engine.rb +1 -1
- data/lib/angular-rails-engine/version.rb +1 -1
- metadata +11 -2
- metadata.gz.sig +0 -0
@@ -1,14 +1,21 @@
|
|
1
1
|
/*
|
2
|
-
AngularJS v1.2.
|
2
|
+
AngularJS v1.2.0
|
3
3
|
(c) 2010-2012 Google, Inc. http://angularjs.org
|
4
4
|
License: MIT
|
5
5
|
*/
|
6
|
-
(function(
|
7
|
-
|
8
|
-
|
9
|
-
b,
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
6
|
+
(function(A,s,B){'use strict';s.module("ngAnimate",["ng"]).config(["$provide","$animateProvider",function(N,D){var z=s.noop,k=s.forEach,X=D.$$selectors,T=1,f="$$ngAnimateState",E="ng-animate",g={running:!0};N.decorator("$animate",["$delegate","$injector","$sniffer","$rootElement","$timeout","$rootScope","$document",function(t,A,F,m,G,p,H){function B(a){if(a){var d=[],b={};a=a.substr(1).split(".");(F.transitions||F.animations)&&a.push("");for(var c=0;c<a.length;c++){var h=a[c],f=X[h];f&&!b[h]&&(d.push(A.get(f)),
|
7
|
+
b[h]=!0)}return d}}function n(a,d,b,c,h,g,m){function p(a){g();if(!0===a)u();else{if(a=b.data(f))a.done=u,b.data(f,a);s(v,"after",u)}}function s(c,h,g){var f=h+"End";k(c,function(k,t){var e=function(){a:{var e=h+"Complete",a=c[t];a[e]=!0;(a[f]||z)();for(a=0;a<c.length;a++)if(!c[a][e])break a;g()}};"before"!=h||"enter"!=a&&"move"!=a?k[h]?k[f]=n?k[h](b,d,e):k[h](b,e):e():e()})}function t(){m&&G(m,0,!1)}function u(){if(!u.hasBeenRun){u.hasBeenRun=!0;var a=b.data(f);a&&(n?q(b):(a.closeAnimationTimeout=
|
8
|
+
G(function(){q(b)},0,!1),b.data(f,a)));t()}}var r=(" "+((b.attr("class")||"")+" "+d)).replace(/\s+/g,".");c||(c=h?h.parent():b.parent());h=B(r);var n="addClass"==a||"removeClass"==a,r=b.data(f)||{};if(J(b,c)||0===h.length)g(),u();else{var v=[];r.running&&n&&r.structural||k(h,function(c){if(!c.allowCancel||c.allowCancel(b,a,d)){var h=c[a];"leave"==a?(c=h,h=null):c=c["before"+a.charAt(0).toUpperCase()+a.substr(1)];v.push({before:c,after:h})}});0===v.length?(g(),t()):(r.running&&(G.cancel(r.closeAnimationTimeout),
|
9
|
+
q(b),K(r.animations),(r.done||z)(!0)),"addClass"==a&&b.hasClass(d)||"removeClass"==a&&!b.hasClass(d)?(g(),t()):(b.addClass(E),b.data(f,{running:!0,structural:!n,animations:v,done:p}),s(v,"before",p)))}}function L(a){a=a[0];a.nodeType==T&&k(a.querySelectorAll("."+E),function(a){a=s.element(a);var b=a.data(f);b&&(K(b.animations),q(a))})}function K(a){k(a,function(d){a.beforeComplete||(d.beforeEnd||z)(!0);a.afterComplete||(d.afterEnd||z)(!0)})}function q(a){a[0]==m[0]?g.disabled||(g.running=!1,g.structural=
|
10
|
+
!1):(a.removeClass(E),a.removeData(f))}function J(a,d){if(g.disabled)return!0;if(a[0]==m[0])return g.disabled||g.running;do{if(0===d.length)break;var b=d[0]==m[0],c=b?g:d.data(f),c=c&&(!!c.disabled||!!c.running);if(b||c)return c;if(b)break}while(d=d.parent());return!0}m.data(f,g);p.$$postDigest(function(){g.running=!1});return{enter:function(a,d,b,c){this.enabled(!1,a);t.enter(a,d,b);p.$$postDigest(function(){n("enter","ng-enter",a,d,b,z,c)})},leave:function(a,d){L(a);this.enabled(!1,a);p.$$postDigest(function(){n("leave",
|
11
|
+
"ng-leave",a,null,null,function(){t.leave(a)},d)})},move:function(a,d,b,c){L(a);this.enabled(!1,a);t.move(a,d,b);p.$$postDigest(function(){n("move","ng-move",a,d,b,z,c)})},addClass:function(a,d,b){n("addClass",d,a,null,null,function(){t.addClass(a,d)},b)},removeClass:function(a,d,b){n("removeClass",d,a,null,null,function(){t.removeClass(a,d)},b)},enabled:function(a,d){switch(arguments.length){case 2:if(a)q(d);else{var b=d.data(f)||{};b.disabled=!0;d.data(f,b)}break;case 1:g.disabled=!a;break;default:a=
|
12
|
+
!g.disabled}return!!a}}}]);D.register("",["$window","$sniffer","$timeout",function(f,g,F){function m(e){Q.push(e);F.cancel(R);R=F(function(){k(Q,function(e){e()});Q=[];R=null;C={}},10,!1)}function G(e,a){var w=e.getAttribute("style")||"";e.setAttribute("style",(0<w.length?"; ":"")+a);return w}function p(e,a){var w=a?C[a]:null;if(!w){var b=0,d=0,c=0,l=0,g,n,m,p;k(e,function(e){if(e.nodeType==T){e=f.getComputedStyle(e)||{};m=e[h+D];b=Math.max(H(m),b);p=e[h+S];g=e[h+u];d=Math.max(H(g),d);n=e[I+u];l=
|
13
|
+
Math.max(H(n),l);var a=H(e[I+D]);0<a&&(a*=parseInt(e[I+r],10)||1);c=Math.max(a,c)}});w={total:0,transitionPropertyStyle:p,transitionDurationStyle:m,transitionDelayStyle:g,transitionDelay:d,transitionDuration:b,animationDelayStyle:n,animationDelay:l,animationDuration:c};a&&(C[a]=w)}return w}function H(e){var a=0;e=s.isString(e)?e.split(/\s*,\s*/):[];k(e,function(e){a=Math.max(parseFloat(e)||0,a)});return a}function E(e){var a=e.parent(),b=a.data(W);b||(a.data(W,++V),b=V);return b+"-"+e[0].className}
|
14
|
+
function n(e,a){var b=E(e),d=b+" "+a,c={},g=C[d]?++C[d].total:0;if(0<g){var l=a+"-stagger",c=b+" "+l;(b=!C[c])&&e.addClass(l);c=p(e,c);b&&e.removeClass(l)}e.addClass(a);d=p(e,d);l=Math.max(d.transitionDuration,d.animationDuration);if(0===l)return e.removeClass(a),!1;var b=e[0],f="";0<d.transitionDuration&&(e.addClass(U),f+=N+" ",b.style[h+S]="none");k(a.split(" "),function(a,e){f+=(0<e?" ":"")+a+"-active"});e.data(v,{className:a,activeClassName:f,maxDuration:l,classes:a+" "+f,timings:d,stagger:c,
|
15
|
+
ii:g});return!0}function L(a,b,w){function f(a){a.stopPropagation();a=a.originalEvent||a;var e=a.$manualTimeStamp||a.timeStamp||Date.now();Math.max(e-t,0)>=p&&a.elapsedTime>=n&&w()}var x=a.data(v);if(a.hasClass(b)&&x){var M=a[0],l=x.timings,k=x.stagger,n=x.maxDuration,m=x.activeClassName,p=1E3*Math.max(l.transitionDelay,l.animationDelay),t=Date.now(),s=P+" "+O,r,x=x.ii,u,y="";if(0<l.transitionDuration){M.style[h+S]="";var q=l.transitionPropertyStyle;-1==q.indexOf("all")&&(u=!0,y+=c+"transition-property: "+
|
16
|
+
q+", "+(g.msie?"-ms-zoom":"clip")+"; ",y+=c+"transition-duration: "+l.transitionDurationStyle+", "+l.transitionDuration+"s; ")}0<x&&(0<k.transitionDelay&&0===k.transitionDuration&&(q=l.transitionDelayStyle,u&&(q+=", "+l.transitionDelay+"s"),y+=c+"transition-delay: "+K(q,k.transitionDelay,x)+"; "),0<k.animationDelay&&0===k.animationDuration&&(y+=c+"animation-delay: "+K(l.animationDelayStyle,k.animationDelay,x)+"; "));0<y.length&&(r=G(M,y));a.on(s,f);a.addClass(m);return function(c){a.off(s,f);a.removeClass(m);
|
17
|
+
d(a,b);null!=r&&(0<r.length?M.setAttribute("style",r):M.removeAttribute("style"))}}w()}function K(a,b,d){var c="";k(a.split(","),function(a,e){c+=(0<e?",":"")+(d*b+parseInt(a,10))+"s"});return c}function q(a,b){if(n(a,b))return function(c){c&&d(a,b)}}function J(a,b,c){if(a.data(v))return L(a,b,c);d(a,b);c()}function a(a,b,c){var d=q(a,b);if(d){var f=d;m(function(){f=J(a,b,c)});return function(a){(f||z)(a)}}c()}function d(a,b){a.removeClass(b);a.removeClass(U);a.removeData(v)}function b(a,b){var c=
|
18
|
+
"";a=s.isArray(a)?a:a.split(/\s+/);k(a,function(a,e){a&&0<a.length&&(c+=(0<e?" ":"")+a+b)});return c}var c="",h,O,I,P;A.ontransitionend===B&&A.onwebkittransitionend!==B?(c="-webkit-",h="WebkitTransition",O="webkitTransitionEnd transitionend"):(h="transition",O="transitionend");A.onanimationend===B&&A.onwebkitanimationend!==B?(c="-webkit-",I="WebkitAnimation",P="webkitAnimationEnd animationend"):(I="animation",P="animationend");var D="Duration",S="Property",u="Delay",r="IterationCount",W="$$ngAnimateKey",
|
19
|
+
v="$$ngAnimateCSS3Data",U="ng-animate-start",N="ng-animate-active",C={},V=0,Q=[],R;return{allowCancel:function(a,c,d){var f=(a.data(v)||{}).classes;if(!f||0<=["enter","leave","move"].indexOf(c))return!0;var h=a.parent(),g=s.element(a[0].cloneNode());g.attr("style","position:absolute; top:-9999px; left:-9999px");g.removeAttr("id");g.html("");k(f.split(" "),function(a){g.removeClass(a)});g.addClass(b(d,"addClass"==c?"-add":"-remove"));h.append(g);a=p(g);g.remove();return 0<Math.max(a.transitionDuration,
|
20
|
+
a.animationDuration)},enter:function(b,c){return a(b,"ng-enter",c)},leave:function(b,c){return a(b,"ng-leave",c)},move:function(b,c){return a(b,"ng-move",c)},beforeAddClass:function(a,c,d){if(a=q(a,b(c,"-add")))return m(d),a;d()},addClass:function(a,c,d){return J(a,b(c,"-add"),d)},beforeRemoveClass:function(a,c,d){if(a=q(a,b(c,"-remove")))return m(d),a;d()},removeClass:function(a,c,d){return J(a,b(c,"-remove"),d)}}}])}])})(window,window.angular);
|
21
|
+
//# sourceMappingURL=angular-animate.min.js.map
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{
|
2
|
+
"version":3,
|
3
|
+
"file":"angular-animate.min.js",
|
4
|
+
"lineCount":20,
|
5
|
+
"mappings":"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",
|
6
|
+
"sources":["angular-animate.js"],
|
7
|
+
"names":["window","angular","undefined","module","config","$provide","$animateProvider","noop","forEach","selectors","$$selectors","ELEMENT_NODE","NG_ANIMATE_STATE","NG_ANIMATE_CLASS_NAME","rootAnimateState","decorator","$delegate","$injector","$sniffer","$rootElement","$timeout","$rootScope","$document","lookup","name","matches","flagMap","classes","substr","split","transitions","animations","push","i","length","klass","selectorFactoryName","get","performAnimation","animationEvent","className","element","parentElement","afterElement","domOperation","doneCallback","onBeforeAnimationsComplete","cancelled","closeAnimation","data","done","invokeRegisteredAnimationFns","phase","allAnimationFnsComplete","endFnName","animation","index","animationPhaseCompleted","phaseCompletionFlag","currentAnimation","isClassBased","fireDoneCallbackAsync","hasBeenRun","cleanup","closeAnimationTimeout","animationLookup","replace","attr","parent","ngAnimateState","animationsDisabled","running","structural","allowCancel","afterFn","beforeFn","charAt","toUpperCase","cancel","cancelAnimations","hasClass","addClass","cancelChildAnimations","node","nodeType","querySelectorAll","beforeEnd","isCancelledFlag","afterEnd","disabled","removeClass","removeData","isRoot","state","result","$$postDigest","enter","enabled","leave","move","value","arguments","register","$window","afterReflow","callback","animationReflowQueue","animationTimer","fn","lookupCache","applyStyle","style","oldStyle","getAttribute","setAttribute","getElementAnimationDetails","cacheKey","transitionDuration","transitionDelay","animationDuration","animationDelay","transitionDelayStyle","animationDelayStyle","transitionDurationStyle","transitionPropertyStyle","elementStyles","getComputedStyle","TRANSITION_PROP","DURATION_KEY","Math","max","parseMaxTime","PROPERTY_KEY","DELAY_KEY","ANIMATION_PROP","aDuration","parseInt","ANIMATION_ITERATION_COUNT_KEY","str","maxValue","values","isString","parseFloat","getCacheKey","parentID","NG_ANIMATE_PARENT_KEY","parentCounter","animateSetup","eventCacheKey","stagger","ii","total","staggerClassName","staggerCacheKey","applyClasses","timings","maxDuration","activeClassName","NG_ANIMATE_FALLBACK_CLASS_NAME","NG_ANIMATE_FALLBACK_ACTIVE_CLASS_NAME","NG_ANIMATE_CSS_DATA_KEY","animateRun","activeAnimationComplete","onAnimationProgress","event","stopPropagation","ev","originalEvent","timeStamp","$manualTimeStamp","Date","now","startTime","maxDelayTime","elapsedTime","css3AnimationEvents","ANIMATIONEND_EVENT","TRANSITIONEND_EVENT","formerStyle","applyFallbackStyle","propertyStyle","indexOf","CSS_PREFIX","msie","fallbackProperty","delayStyle","prepareStaggerDelay","on","onEnd","off","animateClose","removeAttribute","staggerDelay","val","animateBefore","animateAfter","afterAnimationComplete","animate","animationComplete","preReflowCancellation","suffixClasses","suffix","isArray","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","oldClasses","clone","cloneNode","removeAttr","html","append","remove","animationCompleted","beforeAddClass","cancellationMethod","beforeRemoveClass"]
|
8
|
+
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.2.
|
2
|
+
* @license AngularJS v1.2.0
|
3
3
|
* (c) 2010-2012 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -8,6 +8,18 @@
|
|
8
8
|
/**
|
9
9
|
* @ngdoc overview
|
10
10
|
* @name ngCookies
|
11
|
+
* @description
|
12
|
+
*
|
13
|
+
* # ngCookies
|
14
|
+
*
|
15
|
+
* The `ngCookies` module provides a convenient wrapper for reading and writing browser cookies.
|
16
|
+
*
|
17
|
+
* {@installModule cookies}
|
18
|
+
*
|
19
|
+
* <div doc-module-components="ngCookies"></div>
|
20
|
+
*
|
21
|
+
* See {@link ngCookies.$cookies `$cookies`} and
|
22
|
+
* {@link ngCookies.$cookieStore `$cookieStore`} for usage.
|
11
23
|
*/
|
12
24
|
|
13
25
|
|
@@ -23,6 +35,8 @@ angular.module('ngCookies', ['ng']).
|
|
23
35
|
* Only a simple Object is exposed and by adding or removing properties to/from
|
24
36
|
* this object, new cookies are created/deleted at the end of current $eval.
|
25
37
|
*
|
38
|
+
* Requires the {@link ngCookies `ngCookies`} module to be installed.
|
39
|
+
*
|
26
40
|
* @example
|
27
41
|
<doc:example>
|
28
42
|
<doc:source>
|
@@ -67,7 +81,8 @@ angular.module('ngCookies', ['ng']).
|
|
67
81
|
|
68
82
|
|
69
83
|
/**
|
70
|
-
* Pushes all the cookies from the service to the browser and verifies if all cookies were
|
84
|
+
* Pushes all the cookies from the service to the browser and verifies if all cookies were
|
85
|
+
* stored.
|
71
86
|
*/
|
72
87
|
function push() {
|
73
88
|
var name,
|
@@ -127,6 +142,9 @@ angular.module('ngCookies', ['ng']).
|
|
127
142
|
* Provides a key-value (string-object) storage, that is backed by session cookies.
|
128
143
|
* Objects put or retrieved from this storage are automatically serialized or
|
129
144
|
* deserialized by angular's toJson/fromJson.
|
145
|
+
*
|
146
|
+
* Requires the {@link ngCookies `ngCookies`} module to be installed.
|
147
|
+
*
|
130
148
|
* @example
|
131
149
|
*/
|
132
150
|
factory('$cookieStore', ['$cookies', function($cookies) {
|
@@ -1,10 +1,8 @@
|
|
1
1
|
/*
|
2
|
-
AngularJS v1.2.
|
2
|
+
AngularJS v1.2.0
|
3
3
|
(c) 2010-2012 Google, Inc. http://angularjs.org
|
4
4
|
License: MIT
|
5
5
|
*/
|
6
6
|
(function(p,f,n){'use strict';f.module("ngCookies",["ng"]).factory("$cookies",["$rootScope","$browser",function(d,b){var c={},g={},h,k=!1,l=f.copy,m=f.isUndefined;b.addPollFn(function(){var a=b.cookies();h!=a&&(h=a,l(a,g),l(a,c),k&&d.$apply())})();k=!0;d.$watch(function(){var a,e,d;for(a in g)m(c[a])&&b.cookies(a,n);for(a in c)(e=c[a],f.isString(e))?e!==g[a]&&(b.cookies(a,e),d=!0):f.isDefined(g[a])?c[a]=g[a]:delete c[a];if(d)for(a in e=b.cookies(),c)c[a]!==e[a]&&(m(e[a])?delete c[a]:c[a]=e[a])});
|
7
7
|
return c}]).factory("$cookieStore",["$cookies",function(d){return{get:function(b){return(b=d[b])?f.fromJson(b):b},put:function(b,c){d[b]=f.toJson(c)},remove:function(b){delete d[b]}}}])})(window,window.angular);
|
8
|
-
|
9
|
-
//@ sourceMappingURL=angular-cookies.min.js.map
|
10
|
-
*/
|
8
|
+
//# sourceMappingURL=angular-cookies.min.js.map
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{
|
2
|
+
"version":3,
|
3
|
+
"file":"angular-cookies.min.js",
|
4
|
+
"lineCount":7,
|
5
|
+
"mappings":"A;;;;;aAKC,SAAQ,CAACA,CAAD,CAASC,CAAT,CAAkBC,CAAlB,CAA6B,CAoBtCD,CAAAE,OAAA,CAAe,WAAf,CAA4B,CAAC,IAAD,CAA5B,CAAAC,QAAA,CA4BW,UA5BX,CA4BuB,CAAC,YAAD,CAAe,UAAf,CAA2B,QAAS,CAACC,CAAD,CAAaC,CAAb,CAAuB,CAAA,IACxEC,EAAU,EAD8D,CAExEC,EAAc,EAF0D,CAGxEC,CAHwE,CAIxEC,EAAU,CAAA,CAJ8D,CAKxEC,EAAOV,CAAAU,KALiE,CAMxEC,EAAcX,CAAAW,YAGlBN,EAAAO,UAAA,CAAmB,QAAQ,EAAG,CAC5B,IAAIC,EAAiBR,CAAAC,QAAA,EACjBE,EAAJ,EAA0BK,CAA1B,GACEL,CAGA,CAHqBK,CAGrB,CAFAH,CAAA,CAAKG,CAAL,CAAqBN,CAArB,CAEA,CADAG,CAAA,CAAKG,CAAL,CAAqBP,CAArB,CACA,CAAIG,CAAJ,EAAaL,CAAAU,OAAA,EAJf,CAF4B,CAA9B,CAAA,EAUAL,EAAA,CAAU,CAAA,CAKVL,EAAAW,OAAA,CASAC,QAAa,EAAG,CAAA,IACVC,CADU,CAEVC,CAFU,CAIVC,CAGJ,KAAKF,CAAL,GAAaV,EAAb,CACMI,CAAA,CAAYL,CAAA,CAAQW,CAAR,CAAZ,CAAJ,EACEZ,CAAAC,QAAA,CAAiBW,CAAjB,CAAuBhB,CAAvB,CAKJ,KAAIgB,CAAJ,GAAYX,EAAZ,CAEE,CADAY,CACK,CADGZ,CAAA,CAAQW,CAAR,CACH,CAAAjB,CAAAoB,SAAA,CAAiBF,CAAjB,CAAL,EAMWA,CANX,GAMqBX,CAAA,CAAYU,CAAZ,CANrB,GAOEZ,CAAAC,QAAA,CAAiBW,CAAjB,CAAuBC,CAAvB,CACA,CAAAC,CAAA,CAAU,CAAA,CARZ,EACMnB,CAAAqB,UAAA,CAAkBd,CAAA,CAAYU,CAAZ,CAAlB,CAAJ,CACEX,CAAA,CAAQW,CAAR,CADF,CACkBV,CAAA,CAAYU,CAAZ,CADlB,CAGE,OAAOX,CAAA,CAAQW,CAAR,CASb,IAAIE,CAAJ,CAIE,IAAKF,CAAL,GAFAK,EAEahB,CAFID,CAAAC,QAAA,EAEJA,CAAAA,CAAb,CACMA,CAAA,CAAQW,CAAR,CAAJ,GAAsBK,CAAA,CAAeL,CAAf,CAAtB,GAEMN,CAAA,CAAYW,CAAA,CAAeL,CAAf,CAAZ,CAAJ,CACE,OAAOX,CAAA,CAAQW,CAAR,CADT,CAGEX,CAAA,CAAQW,CAAR,CAHF,CAGkBK,CAAA,CAAeL,CAAf,CALpB,CAlCU,CAThB,CAEA;MAAOX,EA1BqE,CAA3D,CA5BvB,CAAAH,QAAA,CA4HW,cA5HX,CA4H2B,CAAC,UAAD,CAAa,QAAQ,CAACoB,CAAD,CAAW,CAErD,MAAO,KAYAC,QAAQ,CAACC,CAAD,CAAM,CAEjB,MAAO,CADHP,CACG,CADKK,CAAA,CAASE,CAAT,CACL,EAAQzB,CAAA0B,SAAA,CAAiBR,CAAjB,CAAR,CAAkCA,CAFxB,CAZd,KA4BAS,QAAQ,CAACF,CAAD,CAAMP,CAAN,CAAa,CACxBK,CAAA,CAASE,CAAT,CAAA,CAAgBzB,CAAA4B,OAAA,CAAeV,CAAf,CADQ,CA5BrB,QA0CGW,QAAQ,CAACJ,CAAD,CAAM,CACpB,OAAOF,CAAA,CAASE,CAAT,CADa,CA1CjB,CAF8C,CAAhC,CA5H3B,CApBsC,CAArC,CAAA,CAoME1B,MApMF,CAoMUA,MAAAC,QApMV;",
|
6
|
+
"sources":["angular-cookies.js"],
|
7
|
+
"names":["window","angular","undefined","module","factory","$rootScope","$browser","cookies","lastCookies","lastBrowserCookies","runEval","copy","isUndefined","addPollFn","currentCookies","$apply","$watch","push","name","value","updated","isString","isDefined","browserCookies","$cookies","get","key","fromJson","put","toJson","remove"]
|
8
|
+
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.2.
|
2
|
+
* @license AngularJS v1.2.0
|
3
3
|
* (c) 2010-2012 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -16,6 +16,8 @@
|
|
16
16
|
|
17
17
|
function setupModuleLoader(window) {
|
18
18
|
|
19
|
+
var $injectorMinErr = minErr('$injector');
|
20
|
+
|
19
21
|
function ensure(obj, name, factory) {
|
20
22
|
return obj[name] || (obj[name] = factory());
|
21
23
|
}
|
@@ -29,10 +31,14 @@ function setupModuleLoader(window) {
|
|
29
31
|
* @name angular.module
|
30
32
|
* @description
|
31
33
|
*
|
32
|
-
* The `angular.module` is a global place for creating and
|
33
|
-
* modules
|
34
|
+
* The `angular.module` is a global place for creating, registering and retrieving Angular
|
35
|
+
* modules.
|
36
|
+
* All modules (angular core or 3rd party) that should be available to an application must be
|
34
37
|
* registered using this mechanism.
|
35
38
|
*
|
39
|
+
* When passed two or more arguments, a new module is created. If passed only one argument, an
|
40
|
+
* existing module (the name passed as the first argument to `module`) is retrieved.
|
41
|
+
*
|
36
42
|
*
|
37
43
|
* # Module
|
38
44
|
*
|
@@ -64,21 +70,22 @@ function setupModuleLoader(window) {
|
|
64
70
|
* {@link angular.bootstrap} to simplify this process for you.
|
65
71
|
*
|
66
72
|
* @param {!string} name The name of the module to create or retrieve.
|
67
|
-
* @param {Array.<string>=} requires If specified then new module is being created. If
|
68
|
-
* the module is being retrieved for further configuration.
|
73
|
+
* @param {Array.<string>=} requires If specified then new module is being created. If
|
74
|
+
* unspecified then the the module is being retrieved for further configuration.
|
69
75
|
* @param {Function} configFn Optional configuration function for the module. Same as
|
70
|
-
* {@link angular.Module#
|
76
|
+
* {@link angular.Module#methods_config Module#config()}.
|
71
77
|
* @returns {module} new module with the {@link angular.Module} api.
|
72
78
|
*/
|
73
79
|
return function module(name, requires, configFn) {
|
80
|
+
assertNotHasOwnProperty(name, 'module');
|
74
81
|
if (requires && modules.hasOwnProperty(name)) {
|
75
82
|
modules[name] = null;
|
76
83
|
}
|
77
84
|
return ensure(modules, name, function() {
|
78
85
|
if (!requires) {
|
79
|
-
throw
|
80
|
-
|
81
|
-
|
86
|
+
throw $injectorMinErr('nomod', "Module '{0}' is not available! You either misspelled " +
|
87
|
+
"the module name or forgot to load it. If registering a module ensure that you " +
|
88
|
+
"specify the dependencies as the second argument.", name);
|
82
89
|
}
|
83
90
|
|
84
91
|
/** @type {!Array.<Array.<*>>} */
|
@@ -101,7 +108,8 @@ function setupModuleLoader(window) {
|
|
101
108
|
* @propertyOf angular.Module
|
102
109
|
* @returns {Array.<string>} List of module names which must be loaded before this module.
|
103
110
|
* @description
|
104
|
-
* Holds the list of modules which the injector will load before the current module is
|
111
|
+
* Holds the list of modules which the injector will load before the current module is
|
112
|
+
* loaded.
|
105
113
|
*/
|
106
114
|
requires: requires,
|
107
115
|
|
@@ -120,7 +128,8 @@ function setupModuleLoader(window) {
|
|
120
128
|
* @name angular.Module#provider
|
121
129
|
* @methodOf angular.Module
|
122
130
|
* @param {string} name service name
|
123
|
-
* @param {Function} providerType Construction function for creating new instance of the
|
131
|
+
* @param {Function} providerType Construction function for creating new instance of the
|
132
|
+
* service.
|
124
133
|
* @description
|
125
134
|
* See {@link AUTO.$provide#provider $provide.provider()}.
|
126
135
|
*/
|
@@ -176,14 +185,15 @@ function setupModuleLoader(window) {
|
|
176
185
|
* @name angular.Module#animation
|
177
186
|
* @methodOf angular.Module
|
178
187
|
* @param {string} name animation name
|
179
|
-
* @param {Function} animationFactory Factory function for creating new instance of an
|
188
|
+
* @param {Function} animationFactory Factory function for creating new instance of an
|
189
|
+
* animation.
|
180
190
|
* @description
|
181
191
|
*
|
182
|
-
* **NOTE**: animations
|
192
|
+
* **NOTE**: animations take effect only if the **ngAnimate** module is loaded.
|
183
193
|
*
|
184
194
|
*
|
185
|
-
* Defines an animation hook that can be later used with
|
186
|
-
* directives that use this service.
|
195
|
+
* Defines an animation hook that can be later used with
|
196
|
+
* {@link ngAnimate.$animate $animate} service and directives that use this service.
|
187
197
|
*
|
188
198
|
* <pre>
|
189
199
|
* module.animation('.animation-name', function($inject1, $inject2) {
|
@@ -219,7 +229,8 @@ function setupModuleLoader(window) {
|
|
219
229
|
* @ngdoc method
|
220
230
|
* @name angular.Module#controller
|
221
231
|
* @methodOf angular.Module
|
222
|
-
* @param {string} name Controller name
|
232
|
+
* @param {string|Object} name Controller name, or an object map of controllers where the
|
233
|
+
* keys are the names and the values are the constructors.
|
223
234
|
* @param {Function} constructor Controller constructor function.
|
224
235
|
* @description
|
225
236
|
* See {@link ng.$controllerProvider#register $controllerProvider.register()}.
|
@@ -230,11 +241,12 @@ function setupModuleLoader(window) {
|
|
230
241
|
* @ngdoc method
|
231
242
|
* @name angular.Module#directive
|
232
243
|
* @methodOf angular.Module
|
233
|
-
* @param {string} name
|
244
|
+
* @param {string|Object} name Directive name, or an object map of directives where the
|
245
|
+
* keys are the names and the values are the factories.
|
234
246
|
* @param {Function} directiveFactory Factory function for creating new instance of
|
235
247
|
* directives.
|
236
248
|
* @description
|
237
|
-
* See {@link ng.$compileProvider#
|
249
|
+
* See {@link ng.$compileProvider#methods_directive $compileProvider.directive()}.
|
238
250
|
*/
|
239
251
|
directive: invokeLater('$compileProvider', 'directive'),
|
240
252
|
|
@@ -281,7 +293,7 @@ function setupModuleLoader(window) {
|
|
281
293
|
return function() {
|
282
294
|
invokeQueue[insertMethod || 'push']([provider, method, arguments]);
|
283
295
|
return moduleInstance;
|
284
|
-
}
|
296
|
+
};
|
285
297
|
}
|
286
298
|
});
|
287
299
|
};
|
@@ -1,10 +1,8 @@
|
|
1
1
|
/*
|
2
|
-
AngularJS v1.2.
|
2
|
+
AngularJS v1.2.0
|
3
3
|
(c) 2010-2012 Google, Inc. http://angularjs.org
|
4
4
|
License: MIT
|
5
5
|
*/
|
6
|
-
(function(k){'use strict';function d(c,b,e){return c[b]||(c[b]=e())}return d(d(k,"angular",Object),"module",function(){var c={};return function(b,e,f){e&&c.hasOwnProperty(b)&&(c[b]=null);return d(c,b,function(){function a(a,b,d){return function(){c[d||"push"]([a,b,arguments]);return g}}if(!e)throw
|
7
|
-
"service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),animation:a("$animateProvider","register"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:h,run:function(a){d.push(a);return this}};f&&h(f);return g})}})})(window);
|
8
|
-
|
9
|
-
//@ sourceMappingURL=angular-loader.min.js.map
|
10
|
-
*/
|
6
|
+
(function(k){'use strict';function d(c,b,e){return c[b]||(c[b]=e())}var l=minErr("$injector");return d(d(k,"angular",Object),"module",function(){var c={};return function(b,e,f){assertNotHasOwnProperty(b,"module");e&&c.hasOwnProperty(b)&&(c[b]=null);return d(c,b,function(){function a(a,b,d){return function(){c[d||"push"]([a,b,arguments]);return g}}if(!e)throw l("nomod",b);var c=[],d=[],h=a("$injector","invoke"),g={_invokeQueue:c,_runBlocks:d,requires:e,name:b,provider:a("$provide","provider"),factory:a("$provide",
|
7
|
+
"factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),animation:a("$animateProvider","register"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:h,run:function(a){d.push(a);return this}};f&&h(f);return g})}})})(window);
|
8
|
+
//# sourceMappingURL=angular-loader.min.js.map
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{
|
2
|
+
"version":3,
|
3
|
+
"file":"angular-loader.min.js",
|
4
|
+
"lineCount":7,
|
5
|
+
"mappings":"A;;;;;aAgBAA,SAA0B,CAACC,CAAD,CAAS,CAIjCC,QAASA,EAAM,CAACC,CAAD,CAAMC,CAAN,CAAYC,CAAZ,CAAqB,CAClC,MAAOF,EAAA,CAAIC,CAAJ,CAAP,GAAqBD,CAAA,CAAIC,CAAJ,CAArB,CAAiCC,CAAA,EAAjC,CADkC,CAFpC,IAAIC,EAAkBC,MAAA,CAAO,WAAP,CAMtB,OAAOL,EAAA,CAAOA,CAAA,CAAOD,CAAP,CAAe,SAAf,CAA0BO,MAA1B,CAAP,CAA0C,QAA1C,CAAoD,QAAQ,EAAG,CAEpE,IAAIC,EAAU,EAoDd,OAAOC,SAAe,CAACN,CAAD,CAAOO,CAAP,CAAiBC,CAAjB,CAA2B,CAC/CC,uBAAA,CAAwBT,CAAxB,CAA8B,QAA9B,CACIO,EAAJ,EAAgBF,CAAAK,eAAA,CAAuBV,CAAvB,CAAhB,GACEK,CAAA,CAAQL,CAAR,CADF,CACkB,IADlB,CAGA,OAAOF,EAAA,CAAOO,CAAP,CAAgBL,CAAhB,CAAsB,QAAQ,EAAG,CAgNtCW,QAASA,EAAW,CAACC,CAAD,CAAWC,CAAX,CAAmBC,CAAnB,CAAiC,CACnD,MAAO,SAAQ,EAAG,CAChBC,CAAA,CAAYD,CAAZ,EAA4B,MAA5B,CAAA,CAAoC,CAACF,CAAD,CAAWC,CAAX,CAAmBG,SAAnB,CAApC,CACA,OAAOC,EAFS,CADiC,CA/MrD,GAAI,CAACV,CAAL,CACE,KAAML,EAAA,CAAgB,OAAhB,CAEiDF,CAFjD,CAAN,CAMF,IAAIe,EAAc,EAAlB,CAGIG,EAAY,EAHhB,CAKIC,EAASR,CAAA,CAAY,WAAZ,CAAyB,QAAzB,CALb,CAQIM,EAAiB,cAELF,CAFK,YAGPG,CAHO,UAcTX,CAdS,MAuBbP,CAvBa,UAoCTW,CAAA,CAAY,UAAZ,CAAwB,UAAxB,CApCS,SA+CVA,CAAA,CAAY,UAAZ;AAAwB,SAAxB,CA/CU,SA0DVA,CAAA,CAAY,UAAZ,CAAwB,SAAxB,CA1DU,OAqEZA,CAAA,CAAY,UAAZ,CAAwB,OAAxB,CArEY,UAiFTA,CAAA,CAAY,UAAZ,CAAwB,UAAxB,CAAoC,SAApC,CAjFS,WAmHRA,CAAA,CAAY,kBAAZ,CAAgC,UAAhC,CAnHQ,QA8HXA,CAAA,CAAY,iBAAZ,CAA+B,UAA/B,CA9HW,YA0IPA,CAAA,CAAY,qBAAZ,CAAmC,UAAnC,CA1IO,WAuJRA,CAAA,CAAY,kBAAZ,CAAgC,WAAhC,CAvJQ,QAkKXQ,CAlKW,KA8KdC,QAAQ,CAACC,CAAD,CAAQ,CACnBH,CAAAI,KAAA,CAAeD,CAAf,CACA,OAAO,KAFY,CA9KF,CAoLjBb,EAAJ,EACEW,CAAA,CAAOX,CAAP,CAGF,OAAQS,EAxM8B,CAAjC,CALwC,CAtDmB,CAA/D,CAR0B,CAAnCrB,CAAA,CA+REC,MA/RF;",
|
6
|
+
"sources":["angular-loader.js"],
|
7
|
+
"names":["setupModuleLoader","window","ensure","obj","name","factory","$injectorMinErr","minErr","Object","modules","module","requires","configFn","assertNotHasOwnProperty","hasOwnProperty","invokeLater","provider","method","insertMethod","invokeQueue","arguments","moduleInstance","runBlocks","config","run","block","push"]
|
8
|
+
}
|
@@ -1,5 +1,7 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
1
3
|
/**
|
2
|
-
* @license AngularJS v1.2.
|
4
|
+
* @license AngularJS v1.2.0
|
3
5
|
* (c) 2010-2012 Google, Inc. http://angularjs.org
|
4
6
|
* License: MIT
|
5
7
|
*
|
@@ -75,6 +77,13 @@ angular.mock.$Browser = function() {
|
|
75
77
|
};
|
76
78
|
|
77
79
|
|
80
|
+
/**
|
81
|
+
* @name ngMock.$browser#defer.now
|
82
|
+
* @propertyOf ngMock.$browser
|
83
|
+
*
|
84
|
+
* @description
|
85
|
+
* Current milliseconds mock time.
|
86
|
+
*/
|
78
87
|
self.defer.now = 0;
|
79
88
|
|
80
89
|
|
@@ -110,7 +119,7 @@ angular.mock.$Browser = function() {
|
|
110
119
|
if (self.deferredFns.length) {
|
111
120
|
self.defer.now = self.deferredFns[self.deferredFns.length-1].time;
|
112
121
|
} else {
|
113
|
-
throw Error('No deferred tasks to be flushed');
|
122
|
+
throw new Error('No deferred tasks to be flushed');
|
114
123
|
}
|
115
124
|
}
|
116
125
|
|
@@ -119,29 +128,6 @@ angular.mock.$Browser = function() {
|
|
119
128
|
}
|
120
129
|
};
|
121
130
|
|
122
|
-
/**
|
123
|
-
* @name ngMock.$browser#defer.flushNext
|
124
|
-
* @methodOf ngMock.$browser
|
125
|
-
*
|
126
|
-
* @description
|
127
|
-
* Flushes next pending request and compares it to the provided delay
|
128
|
-
*
|
129
|
-
* @param {number=} expectedDelay the delay value that will be asserted against the delay of the next timeout function
|
130
|
-
*/
|
131
|
-
self.defer.flushNext = function(expectedDelay) {
|
132
|
-
var tick = self.deferredFns.shift();
|
133
|
-
expect(tick.time).toEqual(expectedDelay);
|
134
|
-
tick.fn();
|
135
|
-
};
|
136
|
-
|
137
|
-
/**
|
138
|
-
* @name ngMock.$browser#defer.now
|
139
|
-
* @propertyOf ngMock.$browser
|
140
|
-
*
|
141
|
-
* @description
|
142
|
-
* Current milliseconds mock time.
|
143
|
-
*/
|
144
|
-
|
145
131
|
self.$$baseHref = '';
|
146
132
|
self.baseHref = function() {
|
147
133
|
return this.$$baseHref;
|
@@ -178,7 +164,7 @@ angular.mock.$Browser.prototype = {
|
|
178
164
|
|
179
165
|
cookies: function(name, value) {
|
180
166
|
if (name) {
|
181
|
-
if (value
|
167
|
+
if (angular.isUndefined(value)) {
|
182
168
|
delete this.cookieHash[name];
|
183
169
|
} else {
|
184
170
|
if (angular.isString(value) && //strings only
|
@@ -206,8 +192,8 @@ angular.mock.$Browser.prototype = {
|
|
206
192
|
* @name ngMock.$exceptionHandlerProvider
|
207
193
|
*
|
208
194
|
* @description
|
209
|
-
* Configures the mock implementation of {@link ng.$exceptionHandler} to rethrow or to log errors
|
210
|
-
* into the `$exceptionHandler`.
|
195
|
+
* Configures the mock implementation of {@link ng.$exceptionHandler} to rethrow or to log errors
|
196
|
+
* passed into the `$exceptionHandler`.
|
211
197
|
*/
|
212
198
|
|
213
199
|
/**
|
@@ -260,10 +246,10 @@ angular.mock.$ExceptionHandlerProvider = function() {
|
|
260
246
|
* - `rethrow`: If any errors are passed into the handler in tests, it typically
|
261
247
|
* means that there is a bug in the application or test, so this mock will
|
262
248
|
* make these tests fail.
|
263
|
-
* - `log`: Sometimes it is desirable to test that an error is thrown, for this case the `log`
|
264
|
-
* array of errors in `$exceptionHandler.errors`, to allow later
|
265
|
-
* See {@link ngMock.$log#assertEmpty assertEmpty()} and
|
266
|
-
*
|
249
|
+
* - `log`: Sometimes it is desirable to test that an error is thrown, for this case the `log`
|
250
|
+
* mode stores an array of errors in `$exceptionHandler.errors`, to allow later
|
251
|
+
* assertion of them. See {@link ngMock.$log#assertEmpty assertEmpty()} and
|
252
|
+
* {@link ngMock.$log#reset reset()}
|
267
253
|
*/
|
268
254
|
this.mode = function(mode) {
|
269
255
|
switch(mode) {
|
@@ -286,7 +272,7 @@ angular.mock.$ExceptionHandlerProvider = function() {
|
|
286
272
|
handler.errors = errors;
|
287
273
|
break;
|
288
274
|
default:
|
289
|
-
throw Error("Unknown mode '" + mode + "', only 'log'/'rethrow' modes are allowed!");
|
275
|
+
throw new Error("Unknown mode '" + mode + "', only 'log'/'rethrow' modes are allowed!");
|
290
276
|
}
|
291
277
|
};
|
292
278
|
|
@@ -316,12 +302,12 @@ angular.mock.$LogProvider = function() {
|
|
316
302
|
}
|
317
303
|
|
318
304
|
this.debugEnabled = function(flag) {
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
305
|
+
if (angular.isDefined(flag)) {
|
306
|
+
debug = flag;
|
307
|
+
return this;
|
308
|
+
} else {
|
309
|
+
return debug;
|
310
|
+
}
|
325
311
|
};
|
326
312
|
|
327
313
|
this.$get = function () {
|
@@ -420,7 +406,7 @@ angular.mock.$LogProvider = function() {
|
|
420
406
|
* var first = $log.debug.logs.unshift();
|
421
407
|
* </pre>
|
422
408
|
*/
|
423
|
-
$log.debug.logs = []
|
409
|
+
$log.debug.logs = [];
|
424
410
|
};
|
425
411
|
|
426
412
|
/**
|
@@ -429,20 +415,22 @@ angular.mock.$LogProvider = function() {
|
|
429
415
|
* @methodOf ngMock.$log
|
430
416
|
*
|
431
417
|
* @description
|
432
|
-
* Assert that the all of the logging methods have no logged messages. If messages present, an
|
418
|
+
* Assert that the all of the logging methods have no logged messages. If messages present, an
|
419
|
+
* exception is thrown.
|
433
420
|
*/
|
434
421
|
$log.assertEmpty = function() {
|
435
422
|
var errors = [];
|
436
423
|
angular.forEach(['error', 'warn', 'info', 'log', 'debug'], function(logLevel) {
|
437
424
|
angular.forEach($log[logLevel].logs, function(log) {
|
438
425
|
angular.forEach(log, function (logItem) {
|
439
|
-
errors.push('MOCK $log (' + logLevel + '): ' + String(logItem) + '\n' +
|
426
|
+
errors.push('MOCK $log (' + logLevel + '): ' + String(logItem) + '\n' +
|
427
|
+
(logItem.stack || ''));
|
440
428
|
});
|
441
429
|
});
|
442
430
|
});
|
443
431
|
if (errors.length) {
|
444
|
-
errors.unshift("Expected $log to be empty! Either a message was logged unexpectedly, or
|
445
|
-
"log message was not checked and removed:");
|
432
|
+
errors.unshift("Expected $log to be empty! Either a message was logged unexpectedly, or "+
|
433
|
+
"an expected log message was not checked and removed:");
|
446
434
|
errors.push('');
|
447
435
|
throw new Error(errors.join('\n---------\n'));
|
448
436
|
}
|
@@ -454,6 +442,124 @@ angular.mock.$LogProvider = function() {
|
|
454
442
|
};
|
455
443
|
|
456
444
|
|
445
|
+
/**
|
446
|
+
* @ngdoc service
|
447
|
+
* @name ngMock.$interval
|
448
|
+
*
|
449
|
+
* @description
|
450
|
+
* Mock implementation of the $interval service.
|
451
|
+
*
|
452
|
+
* Use {@link ngMock.$interval#methods_flush `$interval.flush(millis)`} to
|
453
|
+
* move forward by `millis` milliseconds and trigger any functions scheduled to run in that
|
454
|
+
* time.
|
455
|
+
*
|
456
|
+
* @param {function()} fn A function that should be called repeatedly.
|
457
|
+
* @param {number} delay Number of milliseconds between each function call.
|
458
|
+
* @param {number=} [count=0] Number of times to repeat. If not set, or 0, will repeat
|
459
|
+
* indefinitely.
|
460
|
+
* @param {boolean=} [invokeApply=true] If set to `false` skips model dirty checking, otherwise
|
461
|
+
* will invoke `fn` within the {@link ng.$rootScope.Scope#methods_$apply $apply} block.
|
462
|
+
* @returns {promise} A promise which will be notified on each iteration.
|
463
|
+
*/
|
464
|
+
angular.mock.$IntervalProvider = function() {
|
465
|
+
this.$get = ['$rootScope', '$q',
|
466
|
+
function($rootScope, $q) {
|
467
|
+
var repeatFns = [],
|
468
|
+
nextRepeatId = 0,
|
469
|
+
now = 0;
|
470
|
+
|
471
|
+
var $interval = function(fn, delay, count, invokeApply) {
|
472
|
+
var deferred = $q.defer(),
|
473
|
+
promise = deferred.promise,
|
474
|
+
iteration = 0,
|
475
|
+
skipApply = (angular.isDefined(invokeApply) && !invokeApply);
|
476
|
+
|
477
|
+
count = (angular.isDefined(count)) ? count : 0,
|
478
|
+
promise.then(null, null, fn);
|
479
|
+
|
480
|
+
promise.$$intervalId = nextRepeatId;
|
481
|
+
|
482
|
+
function tick() {
|
483
|
+
deferred.notify(iteration++);
|
484
|
+
|
485
|
+
if (count > 0 && iteration >= count) {
|
486
|
+
var fnIndex;
|
487
|
+
deferred.resolve(iteration);
|
488
|
+
|
489
|
+
angular.forEach(repeatFns, function(fn, index) {
|
490
|
+
if (fn.id === promise.$$intervalId) fnIndex = index;
|
491
|
+
});
|
492
|
+
|
493
|
+
if (fnIndex !== undefined) {
|
494
|
+
repeatFns.splice(fnIndex, 1);
|
495
|
+
}
|
496
|
+
}
|
497
|
+
|
498
|
+
if (!skipApply) $rootScope.$apply();
|
499
|
+
}
|
500
|
+
|
501
|
+
repeatFns.push({
|
502
|
+
nextTime:(now + delay),
|
503
|
+
delay: delay,
|
504
|
+
fn: tick,
|
505
|
+
id: nextRepeatId,
|
506
|
+
deferred: deferred
|
507
|
+
});
|
508
|
+
repeatFns.sort(function(a,b){ return a.nextTime - b.nextTime;});
|
509
|
+
|
510
|
+
nextRepeatId++;
|
511
|
+
return promise;
|
512
|
+
};
|
513
|
+
|
514
|
+
$interval.cancel = function(promise) {
|
515
|
+
var fnIndex;
|
516
|
+
|
517
|
+
angular.forEach(repeatFns, function(fn, index) {
|
518
|
+
if (fn.id === promise.$$intervalId) fnIndex = index;
|
519
|
+
});
|
520
|
+
|
521
|
+
if (fnIndex !== undefined) {
|
522
|
+
repeatFns[fnIndex].deferred.reject('canceled');
|
523
|
+
repeatFns.splice(fnIndex, 1);
|
524
|
+
return true;
|
525
|
+
}
|
526
|
+
|
527
|
+
return false;
|
528
|
+
};
|
529
|
+
|
530
|
+
/**
|
531
|
+
* @ngdoc method
|
532
|
+
* @name ngMock.$interval#flush
|
533
|
+
* @methodOf ngMock.$interval
|
534
|
+
* @description
|
535
|
+
*
|
536
|
+
* Runs interval tasks scheduled to be run in the next `millis` milliseconds.
|
537
|
+
*
|
538
|
+
* @param {number=} millis maximum timeout amount to flush up until.
|
539
|
+
*
|
540
|
+
* @return {number} The amount of time moved forward.
|
541
|
+
*/
|
542
|
+
$interval.flush = function(millis) {
|
543
|
+
now += millis;
|
544
|
+
while (repeatFns.length && repeatFns[0].nextTime <= now) {
|
545
|
+
var task = repeatFns[0];
|
546
|
+
task.fn();
|
547
|
+
task.nextTime += task.delay;
|
548
|
+
repeatFns.sort(function(a,b){ return a.nextTime - b.nextTime;});
|
549
|
+
}
|
550
|
+
return millis;
|
551
|
+
};
|
552
|
+
|
553
|
+
return $interval;
|
554
|
+
}];
|
555
|
+
};
|
556
|
+
|
557
|
+
|
558
|
+
/* jshint -W101 */
|
559
|
+
/* The R_ISO8061_STR regex is never going to fit into the 100 char limit!
|
560
|
+
* This directive should go inside the anonymous function but a bug in JSHint means that it would
|
561
|
+
* not be enacted early enough to prevent the warning.
|
562
|
+
*/
|
457
563
|
(function() {
|
458
564
|
var R_ISO8061_STR = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?:\:?(\d\d)(?:\:?(\d\d)(?:\.(\d{3}))?)?)?(Z|([+-])(\d\d):?(\d\d)))?$/;
|
459
565
|
|
@@ -468,7 +574,10 @@ angular.mock.$LogProvider = function() {
|
|
468
574
|
tzMin = int(match[9] + match[11]);
|
469
575
|
}
|
470
576
|
date.setUTCFullYear(int(match[1]), int(match[2]) - 1, int(match[3]));
|
471
|
-
date.setUTCHours(int(match[4]||0) - tzHour,
|
577
|
+
date.setUTCHours(int(match[4]||0) - tzHour,
|
578
|
+
int(match[5]||0) - tzMin,
|
579
|
+
int(match[6]||0),
|
580
|
+
int(match[7]||0));
|
472
581
|
return date;
|
473
582
|
}
|
474
583
|
return string;
|
@@ -631,8 +740,8 @@ angular.mock.$LogProvider = function() {
|
|
631
740
|
padNumber(self.origDate.getUTCHours(), 2) + ':' +
|
632
741
|
padNumber(self.origDate.getUTCMinutes(), 2) + ':' +
|
633
742
|
padNumber(self.origDate.getUTCSeconds(), 2) + '.' +
|
634
|
-
padNumber(self.origDate.getUTCMilliseconds(), 3) + 'Z'
|
635
|
-
}
|
743
|
+
padNumber(self.origDate.getUTCMilliseconds(), 3) + 'Z';
|
744
|
+
};
|
636
745
|
}
|
637
746
|
|
638
747
|
//hide all methods not implemented in this mock that the Date prototype exposes
|
@@ -645,7 +754,7 @@ angular.mock.$LogProvider = function() {
|
|
645
754
|
|
646
755
|
angular.forEach(unimplementedMethods, function(methodName) {
|
647
756
|
self[methodName] = function() {
|
648
|
-
throw Error("Method '" + methodName + "' is not implemented in the TzDate mock");
|
757
|
+
throw new Error("Method '" + methodName + "' is not implemented in the TzDate mock");
|
649
758
|
};
|
650
759
|
});
|
651
760
|
|
@@ -655,6 +764,7 @@ angular.mock.$LogProvider = function() {
|
|
655
764
|
//make "tzDateInstance instanceof Date" return true
|
656
765
|
angular.mock.TzDate.prototype = Date.prototype;
|
657
766
|
})();
|
767
|
+
/* jshint +W101 */
|
658
768
|
|
659
769
|
angular.mock.animate = angular.module('mock.animate', ['ng'])
|
660
770
|
|
@@ -666,13 +776,18 @@ angular.mock.animate = angular.module('mock.animate', ['ng'])
|
|
666
776
|
enabled : $delegate.enabled,
|
667
777
|
flushNext : function(name) {
|
668
778
|
var tick = animate.queue.shift();
|
669
|
-
|
779
|
+
|
780
|
+
if (!tick) throw new Error('No animation to be flushed');
|
781
|
+
if(tick.method !== name) {
|
782
|
+
throw new Error('The next animation is not "' + name +
|
783
|
+
'", but is "' + tick.method + '"');
|
784
|
+
}
|
670
785
|
tick.fn();
|
671
786
|
return tick;
|
672
787
|
}
|
673
788
|
};
|
674
789
|
|
675
|
-
forEach(['enter','leave','move','addClass','removeClass'], function(method) {
|
790
|
+
angular.forEach(['enter','leave','move','addClass','removeClass'], function(method) {
|
676
791
|
animate[method] = function() {
|
677
792
|
var params = arguments;
|
678
793
|
animate.queue.push({
|
@@ -701,9 +816,11 @@ angular.mock.animate = angular.module('mock.animate', ['ng'])
|
|
701
816
|
*
|
702
817
|
* *NOTE*: this is not an injectable instance, just a globally available function.
|
703
818
|
*
|
704
|
-
* Method for serializing common angular objects (scope, elements, etc..) into strings, useful for
|
819
|
+
* Method for serializing common angular objects (scope, elements, etc..) into strings, useful for
|
820
|
+
* debugging.
|
705
821
|
*
|
706
|
-
* This method is also available on window, where it can be used to display objects on debug
|
822
|
+
* This method is also available on window, where it can be used to display objects on debug
|
823
|
+
* console.
|
707
824
|
*
|
708
825
|
* @param {*} object - any object to turn into string.
|
709
826
|
* @return {string} a serialized string of the argument
|
@@ -733,7 +850,8 @@ angular.mock.dump = function(object) {
|
|
733
850
|
} else if (object instanceof Error) {
|
734
851
|
out = object.stack || ('' + object.name + ': ' + object.message);
|
735
852
|
} else {
|
736
|
-
// TODO(i): this prevents methods
|
853
|
+
// TODO(i): this prevents methods being logged,
|
854
|
+
// we should have a better way to serialize objects
|
737
855
|
out = angular.toJson(object, true);
|
738
856
|
}
|
739
857
|
} else {
|
@@ -747,7 +865,7 @@ angular.mock.dump = function(object) {
|
|
747
865
|
offset = offset || ' ';
|
748
866
|
var log = [offset + 'Scope(' + scope.$id + '): {'];
|
749
867
|
for ( var key in scope ) {
|
750
|
-
if (
|
868
|
+
if (Object.prototype.hasOwnProperty.call(scope, key) && !key.match(/^(\$|this)/)) {
|
751
869
|
log.push(' ' + key + ': ' + angular.toJson(scope[key]));
|
752
870
|
}
|
753
871
|
}
|
@@ -1032,7 +1150,8 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {
|
|
1032
1150
|
|
1033
1151
|
if (!expectation.matchHeaders(headers))
|
1034
1152
|
throw new Error('Expected ' + expectation + ' with different headers\n' +
|
1035
|
-
|
1153
|
+
'EXPECTED: ' + prettyPrint(expectation.headers) + '\nGOT: ' +
|
1154
|
+
prettyPrint(headers));
|
1036
1155
|
|
1037
1156
|
expectations.shift();
|
1038
1157
|
|
@@ -1051,7 +1170,7 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {
|
|
1051
1170
|
($browser ? $browser.defer : responsesPush)(wrapResponse(definition));
|
1052
1171
|
} else if (definition.passThrough) {
|
1053
1172
|
$delegate(method, url, data, callback, headers, timeout, withCredentials);
|
1054
|
-
} else throw Error('No response defined !');
|
1173
|
+
} else throw new Error('No response defined !');
|
1055
1174
|
return;
|
1056
1175
|
}
|
1057
1176
|
}
|
@@ -1074,10 +1193,11 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {
|
|
1074
1193
|
* data string and returns true if the data is as expected.
|
1075
1194
|
* @param {(Object|function(Object))=} headers HTTP headers or function that receives http header
|
1076
1195
|
* object and returns true if the headers match the current definition.
|
1077
|
-
* @returns {requestHandler} Returns an object with `respond` method that
|
1196
|
+
* @returns {requestHandler} Returns an object with `respond` method that controls how a matched
|
1078
1197
|
* request is handled.
|
1079
1198
|
*
|
1080
|
-
* - respond –
|
1199
|
+
* - respond –
|
1200
|
+
* `{function([status,] data[, headers])|function(function(method, url, data, headers)}`
|
1081
1201
|
* – The respond method takes a set of static data to be returned or a function that can return
|
1082
1202
|
* an array containing response status (number), response data (string) and response headers
|
1083
1203
|
* (Object).
|
@@ -1200,7 +1320,8 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {
|
|
1200
1320
|
* @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
1201
1321
|
* request is handled.
|
1202
1322
|
*
|
1203
|
-
* - respond –
|
1323
|
+
* - respond –
|
1324
|
+
* `{function([status,] data[, headers])|function(function(method, url, data, headers)}`
|
1204
1325
|
* – The respond method takes a set of static data to be returned or a function that can return
|
1205
1326
|
* an array containing response status (number), response data (string) and response headers
|
1206
1327
|
* (Object).
|
@@ -1330,11 +1451,11 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {
|
|
1330
1451
|
*/
|
1331
1452
|
$httpBackend.flush = function(count) {
|
1332
1453
|
$rootScope.$digest();
|
1333
|
-
if (!responses.length) throw Error('No pending request to flush !');
|
1454
|
+
if (!responses.length) throw new Error('No pending request to flush !');
|
1334
1455
|
|
1335
1456
|
if (angular.isDefined(count)) {
|
1336
1457
|
while (count--) {
|
1337
|
-
if (!responses.length) throw Error('No more pending request to flush !');
|
1458
|
+
if (!responses.length) throw new Error('No more pending request to flush !');
|
1338
1459
|
responses.shift()();
|
1339
1460
|
}
|
1340
1461
|
} else {
|
@@ -1385,7 +1506,7 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {
|
|
1385
1506
|
*/
|
1386
1507
|
$httpBackend.verifyNoOutstandingRequest = function() {
|
1387
1508
|
if (responses.length) {
|
1388
|
-
throw Error('Unflushed requests: ' + responses.length);
|
1509
|
+
throw new Error('Unflushed requests: ' + responses.length);
|
1389
1510
|
}
|
1390
1511
|
};
|
1391
1512
|
|
@@ -1410,14 +1531,14 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {
|
|
1410
1531
|
function createShortMethods(prefix) {
|
1411
1532
|
angular.forEach(['GET', 'DELETE', 'JSONP'], function(method) {
|
1412
1533
|
$httpBackend[prefix + method] = function(url, headers) {
|
1413
|
-
return $httpBackend[prefix](method, url, undefined, headers)
|
1414
|
-
}
|
1534
|
+
return $httpBackend[prefix](method, url, undefined, headers);
|
1535
|
+
};
|
1415
1536
|
});
|
1416
1537
|
|
1417
1538
|
angular.forEach(['PUT', 'POST', 'PATCH'], function(method) {
|
1418
1539
|
$httpBackend[prefix + method] = function(url, data, headers) {
|
1419
|
-
return $httpBackend[prefix](method, url, data, headers)
|
1420
|
-
}
|
1540
|
+
return $httpBackend[prefix](method, url, data, headers);
|
1541
|
+
};
|
1421
1542
|
});
|
1422
1543
|
}
|
1423
1544
|
}
|
@@ -1482,7 +1603,8 @@ function MockXhr() {
|
|
1482
1603
|
};
|
1483
1604
|
|
1484
1605
|
this.getResponseHeader = function(name) {
|
1485
|
-
// the lookup must be case insensitive,
|
1606
|
+
// the lookup must be case insensitive,
|
1607
|
+
// that's why we try two quick lookups first and full scan last
|
1486
1608
|
var header = this.$$respHeaders[name];
|
1487
1609
|
if (header) return header;
|
1488
1610
|
|
@@ -1543,7 +1665,8 @@ angular.mock.$TimeoutDecorator = function($delegate, $browser) {
|
|
1543
1665
|
*
|
1544
1666
|
* Flushes the next timeout in the queue and compares it to the provided delay
|
1545
1667
|
*
|
1546
|
-
* @param {number=} expectedDelay the delay value that will be asserted against the delay of the
|
1668
|
+
* @param {number=} expectedDelay the delay value that will be asserted against the delay of the
|
1669
|
+
* next timeout function
|
1547
1670
|
*/
|
1548
1671
|
$delegate.flushNext = function(expectedDelay) {
|
1549
1672
|
$browser.defer.flushNext(expectedDelay);
|
@@ -1582,7 +1705,7 @@ angular.mock.$TimeoutDecorator = function($delegate, $browser) {
|
|
1582
1705
|
angular.mock.$RootElementProvider = function() {
|
1583
1706
|
this.$get = function() {
|
1584
1707
|
return angular.element('<div ng-app></div>');
|
1585
|
-
}
|
1708
|
+
};
|
1586
1709
|
};
|
1587
1710
|
|
1588
1711
|
/**
|
@@ -1590,18 +1713,27 @@ angular.mock.$RootElementProvider = function() {
|
|
1590
1713
|
* @name ngMock
|
1591
1714
|
* @description
|
1592
1715
|
*
|
1593
|
-
*
|
1594
|
-
*
|
1716
|
+
* # ngMock
|
1717
|
+
*
|
1718
|
+
* The `ngMock` module providers support to inject and mock Angular services into unit tests.
|
1719
|
+
* In addition, ngMock also extends various core ng services such that they can be
|
1720
|
+
* inspected and controlled in a synchronous manner within test code.
|
1721
|
+
*
|
1722
|
+
* {@installModule mocks}
|
1723
|
+
*
|
1724
|
+
* <div doc-module-components="ngMock"></div>
|
1725
|
+
*
|
1595
1726
|
*/
|
1596
1727
|
angular.module('ngMock', ['ng']).provider({
|
1597
1728
|
$browser: angular.mock.$BrowserProvider,
|
1598
1729
|
$exceptionHandler: angular.mock.$ExceptionHandlerProvider,
|
1599
1730
|
$log: angular.mock.$LogProvider,
|
1731
|
+
$interval: angular.mock.$IntervalProvider,
|
1600
1732
|
$httpBackend: angular.mock.$HttpBackendProvider,
|
1601
1733
|
$rootElement: angular.mock.$RootElementProvider
|
1602
|
-
}).config(function($provide) {
|
1734
|
+
}).config(['$provide', function($provide) {
|
1603
1735
|
$provide.decorator('$timeout', angular.mock.$TimeoutDecorator);
|
1604
|
-
});
|
1736
|
+
}]);
|
1605
1737
|
|
1606
1738
|
/**
|
1607
1739
|
* @ngdoc overview
|
@@ -1612,9 +1744,9 @@ angular.module('ngMock', ['ng']).provider({
|
|
1612
1744
|
* Currently there is only one mock present in this module -
|
1613
1745
|
* the {@link ngMockE2E.$httpBackend e2e $httpBackend} mock.
|
1614
1746
|
*/
|
1615
|
-
angular.module('ngMockE2E', ['ng']).config(function($provide) {
|
1747
|
+
angular.module('ngMockE2E', ['ng']).config(['$provide', function($provide) {
|
1616
1748
|
$provide.decorator('$httpBackend', angular.mock.e2e.$httpBackendDecorator);
|
1617
|
-
});
|
1749
|
+
}]);
|
1618
1750
|
|
1619
1751
|
/**
|
1620
1752
|
* @ngdoc object
|
@@ -1679,7 +1811,8 @@ angular.module('ngMockE2E', ['ng']).config(function($provide) {
|
|
1679
1811
|
* @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
|
1680
1812
|
* control how a matched request is handled.
|
1681
1813
|
*
|
1682
|
-
* - respond –
|
1814
|
+
* - respond –
|
1815
|
+
* `{function([status,] data[, headers])|function(function(method, url, data, headers)}`
|
1683
1816
|
* – The respond method takes a set of static data to be returned or a function that can return
|
1684
1817
|
* an array containing response status (number), response data (string) and response headers
|
1685
1818
|
* (Object).
|
@@ -1781,7 +1914,8 @@ angular.module('ngMockE2E', ['ng']).config(function($provide) {
|
|
1781
1914
|
* control how a matched request is handled.
|
1782
1915
|
*/
|
1783
1916
|
angular.mock.e2e = {};
|
1784
|
-
angular.mock.e2e.$httpBackendDecorator =
|
1917
|
+
angular.mock.e2e.$httpBackendDecorator =
|
1918
|
+
['$rootScope', '$delegate', '$browser', createHttpBackendMock];
|
1785
1919
|
|
1786
1920
|
|
1787
1921
|
angular.mock.clearDataCache = function() {
|
@@ -1789,7 +1923,7 @@ angular.mock.clearDataCache = function() {
|
|
1789
1923
|
cache = angular.element.cache;
|
1790
1924
|
|
1791
1925
|
for(key in cache) {
|
1792
|
-
if (
|
1926
|
+
if (Object.prototype.hasOwnProperty.call(cache,key)) {
|
1793
1927
|
var handle = cache[key].handle;
|
1794
1928
|
|
1795
1929
|
handle && angular.element(handle.elem).off();
|
@@ -1851,9 +1985,11 @@ angular.mock.clearDataCache = function() {
|
|
1851
1985
|
*
|
1852
1986
|
* See {@link angular.mock.inject inject} for usage example
|
1853
1987
|
*
|
1854
|
-
* @param {...(string|Function)} fns any number of modules which are represented as string
|
1988
|
+
* @param {...(string|Function|Object)} fns any number of modules which are represented as string
|
1855
1989
|
* aliases or as anonymous module initialization functions. The modules are used to
|
1856
|
-
* configure the injector. The 'ng' and 'ngMock' modules are automatically loaded.
|
1990
|
+
* configure the injector. The 'ng' and 'ngMock' modules are automatically loaded. If an
|
1991
|
+
* object literal is passed they will be register as values in the module, the key being
|
1992
|
+
* the module name and the value being what is returned.
|
1857
1993
|
*/
|
1858
1994
|
window.module = angular.mock.module = function() {
|
1859
1995
|
var moduleFns = Array.prototype.slice.call(arguments, 0);
|
@@ -1861,11 +1997,19 @@ angular.mock.clearDataCache = function() {
|
|
1861
1997
|
/////////////////////
|
1862
1998
|
function workFn() {
|
1863
1999
|
if (currentSpec.$injector) {
|
1864
|
-
throw Error('Injector already created, can not register a module!');
|
2000
|
+
throw new Error('Injector already created, can not register a module!');
|
1865
2001
|
} else {
|
1866
2002
|
var modules = currentSpec.$modules || (currentSpec.$modules = []);
|
1867
2003
|
angular.forEach(moduleFns, function(module) {
|
1868
|
-
|
2004
|
+
if (angular.isObject(module) && !angular.isArray(module)) {
|
2005
|
+
modules.push(function($provide) {
|
2006
|
+
angular.forEach(module, function(value, key) {
|
2007
|
+
$provide.value(key, value);
|
2008
|
+
});
|
2009
|
+
});
|
2010
|
+
} else {
|
2011
|
+
modules.push(module);
|
2012
|
+
}
|
1869
2013
|
});
|
1870
2014
|
}
|
1871
2015
|
}
|
@@ -1882,8 +2026,40 @@ angular.mock.clearDataCache = function() {
|
|
1882
2026
|
* instance of {@link AUTO.$injector $injector} per test, which is then used for
|
1883
2027
|
* resolving references.
|
1884
2028
|
*
|
1885
|
-
* See also {@link angular.mock.module module}
|
1886
2029
|
*
|
2030
|
+
* ## Resolving References (Underscore Wrapping)
|
2031
|
+
* Often, we would like to inject a reference once, in a `beforeEach()` block and reuse this
|
2032
|
+
* in multiple `it()` clauses. To be able to do this we must assign the reference to a variable
|
2033
|
+
* that is declared in the scope of the `describe()` block. Since we would, most likely, want
|
2034
|
+
* the variable to have the same name of the reference we have a problem, since the parameter
|
2035
|
+
* to the `inject()` function would hide the outer variable.
|
2036
|
+
*
|
2037
|
+
* To help with this, the injected parameters can, optionally, be enclosed with underscores.
|
2038
|
+
* These are ignored by the injector when the reference name is resolved.
|
2039
|
+
*
|
2040
|
+
* For example, the parameter `_myService_` would be resolved as the reference `myService`.
|
2041
|
+
* Since it is available in the function body as _myService_, we can then assign it to a variable
|
2042
|
+
* defined in an outer scope.
|
2043
|
+
*
|
2044
|
+
* ```
|
2045
|
+
* // Defined out reference variable outside
|
2046
|
+
* var myService;
|
2047
|
+
*
|
2048
|
+
* // Wrap the parameter in underscores
|
2049
|
+
* beforeEach( inject( function(_myService_){
|
2050
|
+
* myService = _myService_;
|
2051
|
+
* }));
|
2052
|
+
*
|
2053
|
+
* // Use myService in a series of tests.
|
2054
|
+
* it('makes use of myService', function() {
|
2055
|
+
* myService.doStuff();
|
2056
|
+
* });
|
2057
|
+
*
|
2058
|
+
* ```
|
2059
|
+
*
|
2060
|
+
* See also {@link angular.mock.module angular.mock.module}
|
2061
|
+
*
|
2062
|
+
* ## Example
|
1887
2063
|
* Example of what a typical jasmine tests looks like with the inject method.
|
1888
2064
|
* <pre>
|
1889
2065
|
*
|
@@ -1916,7 +2092,7 @@ angular.mock.clearDataCache = function() {
|
|
1916
2092
|
* inject(function(version) {
|
1917
2093
|
* expect(version).toEqual('overridden');
|
1918
2094
|
* });
|
1919
|
-
* )
|
2095
|
+
* });
|
1920
2096
|
* });
|
1921
2097
|
*
|
1922
2098
|
* </pre>
|
@@ -1939,7 +2115,9 @@ angular.mock.clearDataCache = function() {
|
|
1939
2115
|
}
|
1940
2116
|
for(var i = 0, ii = blockFns.length; i < ii; i++) {
|
1941
2117
|
try {
|
2118
|
+
/* jshint -W040 *//* Jasmine explicitly provides a `this` object when calling functions */
|
1942
2119
|
injector.invoke(blockFns[i] || angular.noop, this);
|
2120
|
+
/* jshint +W040 */
|
1943
2121
|
} catch (e) {
|
1944
2122
|
if(e.stack && errorForStack) e.stack += '\n' + errorForStack.stack;
|
1945
2123
|
throw e;
|
@@ -1949,4 +2127,4 @@ angular.mock.clearDataCache = function() {
|
|
1949
2127
|
}
|
1950
2128
|
}
|
1951
2129
|
};
|
1952
|
-
})(window);
|
2130
|
+
})(window);
|