angularjs-rails 1.2.22 → 1.2.25
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
- data/lib/angularjs-rails/version.rb +2 -2
- data/vendor/assets/javascripts/angular-animate.js +1 -1
- data/vendor/assets/javascripts/angular-cookies.js +1 -1
- data/vendor/assets/javascripts/angular-loader.js +5 -4
- data/vendor/assets/javascripts/angular-mocks.js +5 -1
- data/vendor/assets/javascripts/angular-resource.js +7 -1
- data/vendor/assets/javascripts/angular-route.js +1 -2
- data/vendor/assets/javascripts/angular-sanitize.js +2 -2
- data/vendor/assets/javascripts/angular-scenario.js +200 -98
- data/vendor/assets/javascripts/angular-touch.js +1 -1
- data/vendor/assets/javascripts/angular.js +200 -98
- data/vendor/assets/javascripts/unstable/angular-animate.js +390 -239
- data/vendor/assets/javascripts/unstable/angular-aria.js +250 -0
- data/vendor/assets/javascripts/unstable/angular-cookies.js +1 -1
- data/vendor/assets/javascripts/unstable/angular-loader.js +10 -7
- data/vendor/assets/javascripts/unstable/angular-messages.js +7 -7
- data/vendor/assets/javascripts/unstable/angular-mocks.js +23 -35
- data/vendor/assets/javascripts/unstable/angular-resource.js +10 -5
- data/vendor/assets/javascripts/unstable/angular-route.js +43 -15
- data/vendor/assets/javascripts/unstable/angular-sanitize.js +2 -2
- data/vendor/assets/javascripts/unstable/angular-scenario.js +2928 -1730
- data/vendor/assets/javascripts/unstable/angular-touch.js +1 -1
- data/vendor/assets/javascripts/unstable/angular.js +2922 -1710
- metadata +3 -2
@@ -0,0 +1,250 @@
|
|
1
|
+
/**
|
2
|
+
* @license AngularJS v1.3.0-rc.3
|
3
|
+
* (c) 2010-2014 Google, Inc. http://angularjs.org
|
4
|
+
* License: MIT
|
5
|
+
*/
|
6
|
+
(function(window, angular, undefined) {'use strict';
|
7
|
+
|
8
|
+
/**
|
9
|
+
* @ngdoc module
|
10
|
+
* @name ngAria
|
11
|
+
* @description
|
12
|
+
*
|
13
|
+
* The `ngAria` module provides support for adding aria tags that convey state or semantic information
|
14
|
+
* about the application in order to allow assistive technologies to convey appropriate information to
|
15
|
+
* persons with disabilities.
|
16
|
+
*
|
17
|
+
* <div doc-module-components="ngAria"></div>
|
18
|
+
*
|
19
|
+
* # Usage
|
20
|
+
* To enable the addition of the aria tags, just require the module into your application and the tags will
|
21
|
+
* hook into your ng-show/ng-hide, input, textarea, button, select and ng-required directives and adds the
|
22
|
+
* appropriate aria-tags.
|
23
|
+
*
|
24
|
+
* Currently, the following aria tags are implemented:
|
25
|
+
*
|
26
|
+
* + aria-hidden
|
27
|
+
* + aria-checked
|
28
|
+
* + aria-disabled
|
29
|
+
* + aria-required
|
30
|
+
* + aria-invalid
|
31
|
+
* + aria-multiline
|
32
|
+
* + aria-valuenow
|
33
|
+
* + aria-valuemin
|
34
|
+
* + aria-valuemax
|
35
|
+
* + tabindex
|
36
|
+
*
|
37
|
+
* You can disable individual aria tags by using the {@link ngAria.$ariaProvider#config config} method.
|
38
|
+
*/
|
39
|
+
|
40
|
+
/* global -ngAriaModule */
|
41
|
+
var ngAriaModule = angular.module('ngAria', ['ng']).
|
42
|
+
provider('$aria', $AriaProvider);
|
43
|
+
|
44
|
+
/**
|
45
|
+
* @ngdoc provider
|
46
|
+
* @name $ariaProvider
|
47
|
+
*
|
48
|
+
* @description
|
49
|
+
*
|
50
|
+
* Used for configuring aria attributes.
|
51
|
+
*
|
52
|
+
* ## Dependencies
|
53
|
+
* Requires the {@link ngAria} module to be installed.
|
54
|
+
*/
|
55
|
+
function $AriaProvider() {
|
56
|
+
var config = {
|
57
|
+
ariaHidden : true,
|
58
|
+
ariaChecked: true,
|
59
|
+
ariaDisabled: true,
|
60
|
+
ariaRequired: true,
|
61
|
+
ariaInvalid: true,
|
62
|
+
ariaMultiline: true,
|
63
|
+
ariaValue: true,
|
64
|
+
tabindex: true
|
65
|
+
};
|
66
|
+
|
67
|
+
/**
|
68
|
+
* @ngdoc method
|
69
|
+
* @name $ariaProvider#config
|
70
|
+
*
|
71
|
+
* @param {object} config object to enable/disable specific aria tags
|
72
|
+
*
|
73
|
+
* - **ariaHidden** – `{boolean}` – Enables/disables aria-hidden tags
|
74
|
+
* - **ariaChecked** – `{boolean}` – Enables/disables aria-checked tags
|
75
|
+
* - **ariaDisabled** – `{boolean}` – Enables/disables aria-disabled tags
|
76
|
+
* - **ariaRequired** – `{boolean}` – Enables/disables aria-required tags
|
77
|
+
* - **ariaInvalid** – `{boolean}` – Enables/disables aria-invalid tags
|
78
|
+
* - **ariaMultiline** – `{boolean}` – Enables/disables aria-multiline tags
|
79
|
+
* - **ariaValue** – `{boolean}` – Enables/disables aria-valuemin, aria-valuemax and aria-valuenow tags
|
80
|
+
* - **tabindex** – `{boolean}` – Enables/disables tabindex tags
|
81
|
+
*
|
82
|
+
* @description
|
83
|
+
* Enables/disables various aria tags
|
84
|
+
*/
|
85
|
+
this.config = function(newConfig) {
|
86
|
+
config = angular.extend(config, newConfig);
|
87
|
+
};
|
88
|
+
|
89
|
+
function camelCase(input) {
|
90
|
+
return input.replace(/-./g, function(letter, pos) {
|
91
|
+
return letter[1].toUpperCase();
|
92
|
+
});
|
93
|
+
}
|
94
|
+
|
95
|
+
|
96
|
+
function watchExpr(attrName, ariaAttr, negate) {
|
97
|
+
var ariaCamelName = camelCase(ariaAttr);
|
98
|
+
return function(scope, elem, attr) {
|
99
|
+
if (config[ariaCamelName] && !attr[ariaCamelName]) {
|
100
|
+
scope.$watch(attr[attrName], function(boolVal) {
|
101
|
+
if (negate) {
|
102
|
+
boolVal = !boolVal;
|
103
|
+
}
|
104
|
+
elem.attr(ariaAttr, boolVal);
|
105
|
+
});
|
106
|
+
}
|
107
|
+
};
|
108
|
+
}
|
109
|
+
|
110
|
+
/**
|
111
|
+
* @ngdoc service
|
112
|
+
* @name $aria
|
113
|
+
*
|
114
|
+
* @description
|
115
|
+
*
|
116
|
+
* Contains helper methods for applying aria tags to HTML
|
117
|
+
*
|
118
|
+
* ## Dependencies
|
119
|
+
* Requires the {@link ngAria} module to be installed.
|
120
|
+
*/
|
121
|
+
this.$get = function() {
|
122
|
+
return {
|
123
|
+
config: function (key) {
|
124
|
+
return config[camelCase(key)];
|
125
|
+
},
|
126
|
+
$$watchExpr: watchExpr
|
127
|
+
};
|
128
|
+
};
|
129
|
+
}
|
130
|
+
|
131
|
+
var ngAriaTabindex = ['$aria', function($aria) {
|
132
|
+
return function(scope, elem, attr) {
|
133
|
+
if ($aria.config('tabindex') && !elem.attr('tabindex')) {
|
134
|
+
elem.attr('tabindex', 0);
|
135
|
+
}
|
136
|
+
};
|
137
|
+
}];
|
138
|
+
|
139
|
+
ngAriaModule.directive('ngShow', ['$aria', function($aria) {
|
140
|
+
return $aria.$$watchExpr('ngShow', 'aria-hidden', true);
|
141
|
+
}])
|
142
|
+
.directive('ngHide', ['$aria', function($aria) {
|
143
|
+
return $aria.$$watchExpr('ngHide', 'aria-hidden', false);
|
144
|
+
}])
|
145
|
+
.directive('ngModel', ['$aria', function($aria) {
|
146
|
+
|
147
|
+
function shouldAttachAttr (attr, elem) {
|
148
|
+
return $aria.config(attr) && !elem.attr(attr);
|
149
|
+
}
|
150
|
+
|
151
|
+
function getShape (attr, elem) {
|
152
|
+
var type = attr.type,
|
153
|
+
role = attr.role;
|
154
|
+
|
155
|
+
return ((type || role) === 'checkbox' || role === 'menuitemcheckbox') ? 'checkbox' :
|
156
|
+
((type || role) === 'radio' || role === 'menuitemradio') ? 'radio' :
|
157
|
+
(type === 'range' || role === 'progressbar' || role === 'slider') ? 'range' :
|
158
|
+
(type || role) === 'textbox' || elem[0].nodeName === 'TEXTAREA' ? 'multiline' : '';
|
159
|
+
}
|
160
|
+
|
161
|
+
return {
|
162
|
+
restrict: 'A',
|
163
|
+
require: '?ngModel',
|
164
|
+
link: function(scope, elem, attr, ngModel) {
|
165
|
+
var shape = getShape(attr, elem);
|
166
|
+
var needsTabIndex = shouldAttachAttr('tabindex', elem);
|
167
|
+
|
168
|
+
function ngAriaWatchModelValue() {
|
169
|
+
return ngModel.$modelValue;
|
170
|
+
}
|
171
|
+
|
172
|
+
function getRadioReaction() {
|
173
|
+
if (needsTabIndex) {
|
174
|
+
needsTabIndex = false;
|
175
|
+
return function ngAriaRadioReaction(newVal) {
|
176
|
+
var boolVal = newVal === attr.value;
|
177
|
+
elem.attr('aria-checked', boolVal);
|
178
|
+
elem.attr('tabindex', 0 - !boolVal);
|
179
|
+
};
|
180
|
+
} else {
|
181
|
+
return function ngAriaRadioReaction(newVal) {
|
182
|
+
elem.attr('aria-checked', newVal === attr.value);
|
183
|
+
};
|
184
|
+
}
|
185
|
+
}
|
186
|
+
|
187
|
+
function ngAriaCheckboxReaction(newVal) {
|
188
|
+
elem.attr('aria-checked', !!newVal);
|
189
|
+
}
|
190
|
+
|
191
|
+
switch (shape) {
|
192
|
+
case 'radio':
|
193
|
+
case 'checkbox':
|
194
|
+
if (shouldAttachAttr('aria-checked', elem)) {
|
195
|
+
scope.$watch(ngAriaWatchModelValue, shape === 'radio' ?
|
196
|
+
getRadioReaction() : ngAriaCheckboxReaction);
|
197
|
+
}
|
198
|
+
break;
|
199
|
+
case 'range':
|
200
|
+
if ($aria.config('ariaValue')) {
|
201
|
+
if (attr.min && !elem.attr('aria-valuemin')) {
|
202
|
+
elem.attr('aria-valuemin', attr.min);
|
203
|
+
}
|
204
|
+
if (attr.max && !elem.attr('aria-valuemax')) {
|
205
|
+
elem.attr('aria-valuemax', attr.max);
|
206
|
+
}
|
207
|
+
if (!elem.attr('aria-valuenow')) {
|
208
|
+
scope.$watch(ngAriaWatchModelValue, function ngAriaValueNowReaction(newVal) {
|
209
|
+
elem.attr('aria-valuenow', newVal);
|
210
|
+
});
|
211
|
+
}
|
212
|
+
}
|
213
|
+
break;
|
214
|
+
case 'multiline':
|
215
|
+
if (shouldAttachAttr('aria-multiline', elem)) {
|
216
|
+
elem.attr('aria-multiline', true);
|
217
|
+
}
|
218
|
+
break;
|
219
|
+
}
|
220
|
+
|
221
|
+
if (needsTabIndex) {
|
222
|
+
elem.attr('tabindex', 0);
|
223
|
+
}
|
224
|
+
|
225
|
+
if (ngModel.$validators.required && shouldAttachAttr('aria-required', elem)) {
|
226
|
+
scope.$watch(function ngAriaRequiredWatch() {
|
227
|
+
return ngModel.$error.required;
|
228
|
+
}, function ngAriaRequiredReaction(newVal) {
|
229
|
+
elem.attr('aria-required', !!newVal);
|
230
|
+
});
|
231
|
+
}
|
232
|
+
|
233
|
+
if (shouldAttachAttr('aria-invalid', elem)) {
|
234
|
+
scope.$watch(function ngAriaInvalidWatch() {
|
235
|
+
return ngModel.$invalid;
|
236
|
+
}, function ngAriaInvalidReaction(newVal) {
|
237
|
+
elem.attr('aria-invalid', !!newVal);
|
238
|
+
});
|
239
|
+
}
|
240
|
+
}
|
241
|
+
};
|
242
|
+
}])
|
243
|
+
.directive('ngDisabled', ['$aria', function($aria) {
|
244
|
+
return $aria.$$watchExpr('ngDisabled', 'aria-disabled');
|
245
|
+
}])
|
246
|
+
.directive('ngClick', ngAriaTabindex)
|
247
|
+
.directive('ngDblclick', ngAriaTabindex);
|
248
|
+
|
249
|
+
|
250
|
+
})(window, window.angular);
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.3.0-
|
2
|
+
* @license AngularJS v1.3.0-rc.3
|
3
3
|
* (c) 2010-2014 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -31,10 +31,13 @@
|
|
31
31
|
* should all be static strings, not variables or general expressions.
|
32
32
|
*
|
33
33
|
* @param {string} module The namespace to use for the new minErr instance.
|
34
|
+
* @param {function} ErrorConstructor Custom error constructor to be instantiated when returning
|
35
|
+
* error from returned function, for cases when a particular type of error is useful.
|
34
36
|
* @returns {function(code:string, template:string, ...templateArgs): Error} minErr instance
|
35
37
|
*/
|
36
38
|
|
37
|
-
function minErr(module) {
|
39
|
+
function minErr(module, ErrorConstructor) {
|
40
|
+
ErrorConstructor = ErrorConstructor || Error;
|
38
41
|
return function () {
|
39
42
|
var code = arguments[0],
|
40
43
|
prefix = '[' + (module ? module + ':' : '') + code + '] ',
|
@@ -69,14 +72,13 @@ function minErr(module) {
|
|
69
72
|
return match;
|
70
73
|
});
|
71
74
|
|
72
|
-
message = message + '\nhttp://errors.angularjs.org/1.3.0-
|
75
|
+
message = message + '\nhttp://errors.angularjs.org/1.3.0-rc.3/' +
|
73
76
|
(module ? module + '/' : '') + code;
|
74
77
|
for (i = 2; i < arguments.length; i++) {
|
75
78
|
message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
|
76
79
|
encodeURIComponent(stringify(arguments[i]));
|
77
80
|
}
|
78
|
-
|
79
|
-
return new Error(message);
|
81
|
+
return new ErrorConstructor(message);
|
80
82
|
};
|
81
83
|
}
|
82
84
|
|
@@ -198,7 +200,7 @@ function setupModuleLoader(window) {
|
|
198
200
|
* @ngdoc property
|
199
201
|
* @name angular.Module#requires
|
200
202
|
* @module ng
|
201
|
-
*
|
203
|
+
*
|
202
204
|
* @description
|
203
205
|
* Holds the list of modules which the injector will load before the current module is
|
204
206
|
* loaded.
|
@@ -209,8 +211,9 @@ function setupModuleLoader(window) {
|
|
209
211
|
* @ngdoc property
|
210
212
|
* @name angular.Module#name
|
211
213
|
* @module ng
|
212
|
-
*
|
214
|
+
*
|
213
215
|
* @description
|
216
|
+
* Name of the module.
|
214
217
|
*/
|
215
218
|
name: name,
|
216
219
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.3.0-
|
2
|
+
* @license AngularJS v1.3.0-rc.3
|
3
3
|
* (c) 2010-2014 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -233,14 +233,14 @@ angular.module('ngMessages', [])
|
|
233
233
|
* </file>
|
234
234
|
* </example>
|
235
235
|
*/
|
236
|
-
.directive('ngMessages', ['$compile', '$animate', '$
|
237
|
-
function($compile, $animate, $
|
236
|
+
.directive('ngMessages', ['$compile', '$animate', '$templateRequest',
|
237
|
+
function($compile, $animate, $templateRequest) {
|
238
238
|
var ACTIVE_CLASS = 'ng-active';
|
239
239
|
var INACTIVE_CLASS = 'ng-inactive';
|
240
240
|
|
241
241
|
return {
|
242
242
|
restrict: 'AE',
|
243
|
-
controller:
|
243
|
+
controller: function() {
|
244
244
|
this.$renderNgMessageClasses = angular.noop;
|
245
245
|
|
246
246
|
var messages = [];
|
@@ -281,7 +281,7 @@ angular.module('ngMessages', [])
|
|
281
281
|
return value !== null && value !== false && value;
|
282
282
|
}
|
283
283
|
};
|
284
|
-
}
|
284
|
+
},
|
285
285
|
require: 'ngMessages',
|
286
286
|
link: function($scope, element, $attrs, ctrl) {
|
287
287
|
ctrl.renderElementClasses = function(bool) {
|
@@ -301,8 +301,8 @@ angular.module('ngMessages', [])
|
|
301
301
|
|
302
302
|
var tpl = $attrs.ngMessagesInclude || $attrs.include;
|
303
303
|
if(tpl) {
|
304
|
-
$
|
305
|
-
.
|
304
|
+
$templateRequest(tpl)
|
305
|
+
.then(function processTemplate(html) {
|
306
306
|
var after, container = angular.element('<div/>').html(html);
|
307
307
|
angular.forEach(container.children(), function(elm) {
|
308
308
|
elm = angular.element(elm);
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.3.0-
|
2
|
+
* @license AngularJS v1.3.0-rc.3
|
3
3
|
* (c) 2010-2014 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -63,6 +63,8 @@ angular.mock.$Browser = function() {
|
|
63
63
|
return listener;
|
64
64
|
};
|
65
65
|
|
66
|
+
self.$$checkUrlChange = angular.noop;
|
67
|
+
|
66
68
|
self.cookieHash = {};
|
67
69
|
self.lastCookieHash = {};
|
68
70
|
self.deferredFns = [];
|
@@ -125,7 +127,7 @@ angular.mock.$Browser = function() {
|
|
125
127
|
}
|
126
128
|
};
|
127
129
|
|
128
|
-
self.$$baseHref = '';
|
130
|
+
self.$$baseHref = '/';
|
129
131
|
self.baseHref = function() {
|
130
132
|
return this.$$baseHref;
|
131
133
|
};
|
@@ -774,14 +776,22 @@ angular.mock.animate = angular.module('ngAnimateMock', ['ng'])
|
|
774
776
|
};
|
775
777
|
});
|
776
778
|
|
777
|
-
$provide.decorator('$animate', ['$delegate', '$$asyncCallback',
|
778
|
-
|
779
|
+
$provide.decorator('$animate', ['$delegate', '$$asyncCallback', '$timeout', '$browser',
|
780
|
+
function($delegate, $$asyncCallback, $timeout, $browser) {
|
779
781
|
var animate = {
|
780
782
|
queue : [],
|
783
|
+
cancel : $delegate.cancel,
|
781
784
|
enabled : $delegate.enabled,
|
782
|
-
|
785
|
+
triggerCallbackEvents : function() {
|
783
786
|
$$asyncCallback.flush();
|
784
787
|
},
|
788
|
+
triggerCallbackPromise : function() {
|
789
|
+
$timeout.flush(0);
|
790
|
+
},
|
791
|
+
triggerCallbacks : function() {
|
792
|
+
this.triggerCallbackEvents();
|
793
|
+
this.triggerCallbackPromise();
|
794
|
+
},
|
785
795
|
triggerReflow : function() {
|
786
796
|
angular.forEach(reflowQueue, function(fn) {
|
787
797
|
fn();
|
@@ -1487,11 +1497,11 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {
|
|
1487
1497
|
* all pending requests will be flushed. If there are no pending requests when the flush method
|
1488
1498
|
* is called an exception is thrown (as this typically a sign of programming error).
|
1489
1499
|
*/
|
1490
|
-
$httpBackend.flush = function(count) {
|
1491
|
-
$rootScope.$digest();
|
1500
|
+
$httpBackend.flush = function(count, digest) {
|
1501
|
+
if (digest !== false) $rootScope.$digest();
|
1492
1502
|
if (!responses.length) throw new Error('No pending request to flush !');
|
1493
1503
|
|
1494
|
-
if (angular.isDefined(count)) {
|
1504
|
+
if (angular.isDefined(count) && count !== null) {
|
1495
1505
|
while (count--) {
|
1496
1506
|
if (!responses.length) throw new Error('No more pending request to flush !');
|
1497
1507
|
responses.shift()();
|
@@ -1501,7 +1511,7 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {
|
|
1501
1511
|
responses.shift()();
|
1502
1512
|
}
|
1503
1513
|
}
|
1504
|
-
$httpBackend.verifyNoOutstandingExpectation();
|
1514
|
+
$httpBackend.verifyNoOutstandingExpectation(digest);
|
1505
1515
|
};
|
1506
1516
|
|
1507
1517
|
|
@@ -1519,8 +1529,8 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {
|
|
1519
1529
|
* afterEach($httpBackend.verifyNoOutstandingExpectation);
|
1520
1530
|
* ```
|
1521
1531
|
*/
|
1522
|
-
$httpBackend.verifyNoOutstandingExpectation = function() {
|
1523
|
-
$rootScope.$digest();
|
1532
|
+
$httpBackend.verifyNoOutstandingExpectation = function(digest) {
|
1533
|
+
if (digest !== false) $rootScope.$digest();
|
1524
1534
|
if (expectations.length) {
|
1525
1535
|
throw new Error('Unsatisfied requests: ' + expectations.join(', '));
|
1526
1536
|
}
|
@@ -2008,28 +2018,6 @@ angular.mock.e2e.$httpBackendDecorator =
|
|
2008
2018
|
['$rootScope', '$delegate', '$browser', createHttpBackendMock];
|
2009
2019
|
|
2010
2020
|
|
2011
|
-
angular.mock.clearDataCache = function() {
|
2012
|
-
// jQuery 2.x doesn't expose data attached to elements. We could use jQuery.cleanData
|
2013
|
-
// to clean up after elements but we'd first need to know which elements to clean up after.
|
2014
|
-
// Skip it then.
|
2015
|
-
if (window.jQuery) {
|
2016
|
-
return;
|
2017
|
-
}
|
2018
|
-
|
2019
|
-
var key,
|
2020
|
-
cache = angular.element.cache;
|
2021
|
-
|
2022
|
-
for(key in cache) {
|
2023
|
-
if (Object.prototype.hasOwnProperty.call(cache,key)) {
|
2024
|
-
var handle = cache[key].handle;
|
2025
|
-
|
2026
|
-
handle && angular.element(handle.elem).off();
|
2027
|
-
delete cache[key];
|
2028
|
-
}
|
2029
|
-
}
|
2030
|
-
};
|
2031
|
-
|
2032
|
-
|
2033
2021
|
if(window.jasmine || window.mocha) {
|
2034
2022
|
|
2035
2023
|
var currentSpec = null,
|
@@ -2060,8 +2048,6 @@ if(window.jasmine || window.mocha) {
|
|
2060
2048
|
injector.get('$browser').pollFns.length = 0;
|
2061
2049
|
}
|
2062
2050
|
|
2063
|
-
angular.mock.clearDataCache();
|
2064
|
-
|
2065
2051
|
// clean up jquery's fragment cache
|
2066
2052
|
angular.forEach(angular.element.fragments, function(val, key) {
|
2067
2053
|
delete angular.element.fragments[key];
|
@@ -2081,6 +2067,7 @@ if(window.jasmine || window.mocha) {
|
|
2081
2067
|
* @description
|
2082
2068
|
*
|
2083
2069
|
* *NOTE*: This function is also published on window for easy access.<br>
|
2070
|
+
* *NOTE*: This function is declared ONLY WHEN running tests with jasmine or mocha
|
2084
2071
|
*
|
2085
2072
|
* This function registers a module configuration code. It collects the configuration information
|
2086
2073
|
* which will be used when the injector is created by {@link angular.mock.inject inject}.
|
@@ -2123,6 +2110,7 @@ if(window.jasmine || window.mocha) {
|
|
2123
2110
|
* @description
|
2124
2111
|
*
|
2125
2112
|
* *NOTE*: This function is also published on window for easy access.<br>
|
2113
|
+
* *NOTE*: This function is declared ONLY WHEN running tests with jasmine or mocha
|
2126
2114
|
*
|
2127
2115
|
* The inject function wraps a function into an injectable function. The inject() creates new
|
2128
2116
|
* instance of {@link auto.$injector $injector} per test, which is then used for
|