angularjs-rails 1.2.14 → 1.2.15

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4b6ecf5eea62ec6e6a1bf705921fe554bb40f748
4
- data.tar.gz: 9d5fbe9e03c5671e105153b0a89102e109ef8465
3
+ metadata.gz: c607c5e86398be4c6e599a520c3a3cb830691731
4
+ data.tar.gz: 61bf58e1dbde57a1a0d34417c8a57eb4810073ed
5
5
  SHA512:
6
- metadata.gz: e4192934a9c7d3f16635428efd4ad0e8594cb1565fc8a75de53efa7699f2e1468c4b3fa07934772e8321522638cfbf7dd8fbf1124647e0976df5ccd2a7600fbe
7
- data.tar.gz: e906b90edff483cd3576bb7313a0d45c4aeaad8e2ce75b4cd3c892a6c8956632197ba62470656550e5f4445e2ff77d97b1be3d0df30f5f478354b9fc8e3c4e79
6
+ metadata.gz: 1237b0bd6a2250f58b9399ec55b24d60de19ce20fe024ca4eac250772aa7ff91893eaf3796554fb95ad5ee3d74024c9914e902887e2ae9e2657a9260e2ff0898
7
+ data.tar.gz: a5eceb843e09fbcd39b162b1571e4824b1c9704e7849b747d8fa3fb88706ced8c3ef3db86f6a8513a2d7ec661df37c292be0d4203781a0bd576c57fd9f2092d8
@@ -1,6 +1,6 @@
1
1
  module AngularJS
2
2
  module Rails
3
- VERSION = "1.2.14"
4
- UNSTABLE_VERSION = "1.1.5"
3
+ VERSION = "1.2.15"
4
+ UNSTABLE_VERSION = "1.3.0-beta.3"
5
5
  end
6
6
  end
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.14
2
+ * @license AngularJS v1.2.15
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -707,8 +707,7 @@ angular.module('ngAnimate', ['ng'])
707
707
  /**
708
708
  *
709
709
  * @ngdoc function
710
- * @name ng.$animate#setClass
711
- * @methodOf ng.$animate
710
+ * @name $animate#setClass
712
711
  * @function
713
712
  * @description Adds and/or removes the given CSS classes to and from the element.
714
713
  * Once complete, the done() callback will be fired (if provided).
@@ -777,7 +776,7 @@ angular.module('ngAnimate', ['ng'])
777
776
  fireDOMOperation();
778
777
  fireBeforeCallbackAsync();
779
778
  fireAfterCallbackAsync();
780
- fireDoneCallbackAsync();
779
+ closeAnimation();
781
780
  return;
782
781
  }
783
782
 
@@ -956,7 +955,7 @@ angular.module('ngAnimate', ['ng'])
956
955
  animation, but class-based animations don't. An example of this
957
956
  failing would be when a parent HTML tag has a ng-class attribute
958
957
  causing ALL directives below to skip animations during the digest */
959
- if(runner.isClassBased) {
958
+ if(runner && runner.isClassBased) {
960
959
  cleanup(element, className);
961
960
  } else {
962
961
  $$asyncCallback(function() {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.14
2
+ * @license AngularJS v1.2.15
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -30,8 +30,9 @@ angular.module('ngCookies', ['ng']).
30
30
  * @description
31
31
  * Provides read/write access to browser's cookies.
32
32
  *
33
- * Only a simple Object is exposed and by adding or removing properties to/from
34
- * this object, new cookies are created/deleted at the end of current $eval.
33
+ * Only a simple Object is exposed and by adding or removing properties to/from this object, new
34
+ * cookies are created/deleted at the end of current $eval.
35
+ * The object's properties can only be strings.
35
36
  *
36
37
  * Requires the {@link ngCookies `ngCookies`} module to be installed.
37
38
  *
@@ -99,12 +100,10 @@ angular.module('ngCookies', ['ng']).
99
100
  for(name in cookies) {
100
101
  value = cookies[name];
101
102
  if (!angular.isString(value)) {
102
- if (angular.isDefined(lastCookies[name])) {
103
- cookies[name] = lastCookies[name];
104
- } else {
105
- delete cookies[name];
106
- }
107
- } else if (value !== lastCookies[name]) {
103
+ value = '' + value;
104
+ cookies[name] = value;
105
+ }
106
+ if (value !== lastCookies[name]) {
108
107
  $browser.cookies(name, value);
109
108
  updated = true;
110
109
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.14
2
+ * @license AngularJS v1.2.15
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -69,7 +69,7 @@ function minErr(module) {
69
69
  return match;
70
70
  });
71
71
 
72
- message = message + '\nhttp://errors.angularjs.org/1.2.14/' +
72
+ message = message + '\nhttp://errors.angularjs.org/1.2.15/' +
73
73
  (module ? module + '/' : '') + code;
74
74
  for (i = 2; i < arguments.length; i++) {
75
75
  message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
@@ -135,16 +135,16 @@ function setupModuleLoader(window) {
135
135
  * myModule.value('appName', 'MyCoolApp');
136
136
  *
137
137
  * // configure existing services inside initialization blocks.
138
- * myModule.config(function($locationProvider) {
138
+ * myModule.config(['$locationProvider', function($locationProvider) {
139
139
  * // Configure existing providers
140
140
  * $locationProvider.hashPrefix('!');
141
- * });
141
+ * }]);
142
142
  * ```
143
143
  *
144
144
  * Then you can create an injector and load your modules like this:
145
145
  *
146
146
  * ```js
147
- * var injector = angular.injector(['ng', 'MyModule'])
147
+ * var injector = angular.injector(['ng', 'myModule'])
148
148
  * ```
149
149
  *
150
150
  * However it's more likely that you'll just use
@@ -153,7 +153,7 @@ function setupModuleLoader(window) {
153
153
  *
154
154
  * @param {!string} name The name of the module to create or retrieve.
155
155
  * @param {Array.<string>=} requires If specified then new module is being created. If
156
- * unspecified then the the module is being retrieved for further configuration.
156
+ * unspecified then the module is being retrieved for further configuration.
157
157
  * @param {Function} configFn Optional configuration function for the module. Same as
158
158
  * {@link angular.Module#config Module#config()}.
159
159
  * @returns {module} new module with the {@link angular.Module} api.
@@ -194,7 +194,6 @@ function setupModuleLoader(window) {
194
194
  * @ngdoc property
195
195
  * @name angular.Module#requires
196
196
  * @module ng
197
- * @propertyOf angular.Module
198
197
  * @returns {Array.<string>} List of module names which must be loaded before this module.
199
198
  * @description
200
199
  * Holds the list of modules which the injector will load before the current module is
@@ -206,7 +205,6 @@ function setupModuleLoader(window) {
206
205
  * @ngdoc property
207
206
  * @name angular.Module#name
208
207
  * @module ng
209
- * @propertyOf angular.Module
210
208
  * @returns {string} Name of the module.
211
209
  * @description
212
210
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.14
2
+ * @license AngularJS v1.2.15
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -505,7 +505,7 @@ angular.mock.$IntervalProvider = function() {
505
505
  * @description
506
506
  * Cancels a task associated with the `promise`.
507
507
  *
508
- * @param {number} promise A promise from calling the `$interval` function.
508
+ * @param {promise} promise A promise from calling the `$interval` function.
509
509
  * @returns {boolean} Returns `true` if the task was successfully cancelled.
510
510
  */
511
511
  $interval.cancel = function(promise) {
@@ -967,13 +967,12 @@ angular.mock.dump = function(object) {
967
967
  *
968
968
  * # Flushing HTTP requests
969
969
  *
970
- * The $httpBackend used in production always responds to requests with responses asynchronously.
971
- * If we preserved this behavior in unit testing we'd have to create async unit tests, which are
972
- * hard to write, understand, and maintain. However, the testing mock can't respond
973
- * synchronously because that would change the execution of the code under test. For this reason the
974
- * mock $httpBackend has a `flush()` method, which allows the test to explicitly flush pending
975
- * requests and thus preserve the async api of the backend while allowing the test to execute
976
- * synchronously.
970
+ * The $httpBackend used in production always responds to requests asynchronously. If we preserved
971
+ * this behavior in unit testing, we'd have to create async unit tests, which are hard to write,
972
+ * to follow and to maintain. But neither can the testing mock respond synchronously; that would
973
+ * change the execution of the code under test. For this reason, the mock $httpBackend has a
974
+ * `flush()` method, which allows the test to explicitly flush pending requests. This preserves
975
+ * the async api of the backend, while allowing the test to execute synchronously.
977
976
  *
978
977
  *
979
978
  * # Unit testing with mock $httpBackend
@@ -1829,8 +1828,8 @@ angular.module('ngMockE2E', ['ng']).config(['$provide', function($provide) {
1829
1828
  * an array containing response status (number), response data (string) and response headers
1830
1829
  * (Object).
1831
1830
  * - passThrough – `{function()}` – Any request matching a backend definition with `passThrough`
1832
- * handler, will be pass through to the real backend (an XHR request will be made to the
1833
- * server.
1831
+ * handler will be passed through to the real backend (an XHR request will be made to the
1832
+ * server.)
1834
1833
  */
1835
1834
 
1836
1835
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.14
2
+ * @license AngularJS v1.2.15
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -102,7 +102,7 @@ function shallowClearAndCopy(src, dst) {
102
102
  * If the parameter value is prefixed with `@` then the value of that parameter is extracted from
103
103
  * the data object (useful for non-GET operations).
104
104
  *
105
- * @param {Object.&lt;Object&gt;=} actions Hash with declaration of custom action that should extend
105
+ * @param {Object.<Object>=} actions Hash with declaration of custom action that should extend
106
106
  * the default set of resource actions. The declaration should be created in the format of {@link
107
107
  * ng.$http#usage_parameters $http.config}:
108
108
  *
@@ -258,7 +258,7 @@ function shallowClearAndCopy(src, dst) {
258
258
 
259
259
  ```js
260
260
  var User = $resource('/user/:userId', {userId:'@id'});
261
- var user = User.get({userId:123}, function() {
261
+ User.get({userId:123}, function(user) {
262
262
  user.abc = true;
263
263
  user.$save();
264
264
  });
@@ -278,6 +278,16 @@ function shallowClearAndCopy(src, dst) {
278
278
  });
279
279
  });
280
280
  ```
281
+ *
282
+ * You can also access the raw `$http` promise via the `$promise` property on the object returned
283
+ *
284
+ ```
285
+ var User = $resource('/user/:userId', {userId:'@id'});
286
+ User.get({userId:123})
287
+ .$promise.then(function(user) {
288
+ $scope.user = user;
289
+ });
290
+ ```
281
291
 
282
292
  * # Creating a custom 'PUT' request
283
293
  * In this example we create a custom method on our resource to make a PUT request
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.14
2
+ * @license AngularJS v1.2.15
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -87,7 +87,7 @@ function $RouteProvider(){
87
87
  *
88
88
  * If `template` is a function, it will be called with the following parameters:
89
89
  *
90
- * - `{Array.&lt;Object&gt;}` - route parameters extracted from the current
90
+ * - `{Array.<Object>}` - route parameters extracted from the current
91
91
  * `$location.path()` by applying the current route
92
92
  *
93
93
  * - `templateUrl` – `{string=|function()=}` – path or function that returns a path to an html
@@ -95,7 +95,7 @@ function $RouteProvider(){
95
95
  *
96
96
  * If `templateUrl` is a function, it will be called with the following parameters:
97
97
  *
98
- * - `{Array.&lt;Object&gt;}` - route parameters extracted from the current
98
+ * - `{Array.<Object>}` - route parameters extracted from the current
99
99
  * `$location.path()` by applying the current route
100
100
  *
101
101
  * - `resolve` - `{Object.<string, function>=}` - An optional map of dependencies which should
@@ -252,7 +252,7 @@ function $RouteProvider(){
252
252
  * - `$scope` - The current route scope.
253
253
  * - `$template` - The current route template HTML.
254
254
  *
255
- * @property {Array.&lt;Object&gt;} routes Array of all configured routes.
255
+ * @property {Object} routes Object with all route configuration Objects as its properties.
256
256
  *
257
257
  * @description
258
258
  * `$route` is used for deep-linking URLs to controllers and views (HTML partials).
@@ -267,102 +267,106 @@ function $RouteProvider(){
267
267
  * {@link ngRoute.$routeParams `$routeParams`} service.
268
268
  *
269
269
  * @example
270
- This example shows how changing the URL hash causes the `$route` to match a route against the
271
- URL, and the `ngView` pulls in the partial.
272
-
273
- Note that this example is using {@link ng.directive:script inlined templates}
274
- to get it working on jsfiddle as well.
275
-
276
- <example name="$route-service" module="ngRouteExample" deps="angular-route.js" fixBase="true">
277
- <file name="index.html">
278
- <div ng-controller="MainCntl">
279
- Choose:
280
- <a href="Book/Moby">Moby</a> |
281
- <a href="Book/Moby/ch/1">Moby: Ch1</a> |
282
- <a href="Book/Gatsby">Gatsby</a> |
283
- <a href="Book/Gatsby/ch/4?key=value">Gatsby: Ch4</a> |
284
- <a href="Book/Scarlet">Scarlet Letter</a><br/>
285
-
286
- <div ng-view></div>
287
- <hr />
288
-
289
- <pre>$location.path() = {{$location.path()}}</pre>
290
- <pre>$route.current.templateUrl = {{$route.current.templateUrl}}</pre>
291
- <pre>$route.current.params = {{$route.current.params}}</pre>
292
- <pre>$route.current.scope.name = {{$route.current.scope.name}}</pre>
293
- <pre>$routeParams = {{$routeParams}}</pre>
294
- </div>
295
- </file>
296
-
297
- <file name="book.html">
298
- controller: {{name}}<br />
299
- Book Id: {{params.bookId}}<br />
300
- </file>
301
-
302
- <file name="chapter.html">
303
- controller: {{name}}<br />
304
- Book Id: {{params.bookId}}<br />
305
- Chapter Id: {{params.chapterId}}
306
- </file>
307
-
308
- <file name="script.js">
309
- angular.module('ngRouteExample', ['ngRoute'])
310
-
311
- .config(function($routeProvider, $locationProvider) {
312
- $routeProvider.when('/Book/:bookId', {
313
- templateUrl: 'book.html',
314
- controller: BookCntl,
315
- resolve: {
316
- // I will cause a 1 second delay
317
- delay: function($q, $timeout) {
318
- var delay = $q.defer();
319
- $timeout(delay.resolve, 1000);
320
- return delay.promise;
321
- }
322
- }
323
- });
324
- $routeProvider.when('/Book/:bookId/ch/:chapterId', {
325
- templateUrl: 'chapter.html',
326
- controller: ChapterCntl
327
- });
328
-
329
- // configure html5 to get links working on jsfiddle
330
- $locationProvider.html5Mode(true);
331
- });
332
-
333
- function MainCntl($scope, $route, $routeParams, $location) {
334
- $scope.$route = $route;
335
- $scope.$location = $location;
336
- $scope.$routeParams = $routeParams;
337
- }
338
-
339
- function BookCntl($scope, $routeParams) {
340
- $scope.name = "BookCntl";
341
- $scope.params = $routeParams;
342
- }
343
-
344
- function ChapterCntl($scope, $routeParams) {
345
- $scope.name = "ChapterCntl";
346
- $scope.params = $routeParams;
347
- }
348
- </file>
349
-
350
- <file name="protractor.js" type="protractor">
351
- it('should load and compile correct template', function() {
352
- element(by.linkText('Moby: Ch1')).click();
353
- var content = element(by.css('[ng-view]')).getText();
354
- expect(content).toMatch(/controller\: ChapterCntl/);
355
- expect(content).toMatch(/Book Id\: Moby/);
356
- expect(content).toMatch(/Chapter Id\: 1/);
357
-
358
- element(by.partialLinkText('Scarlet')).click();
359
-
360
- content = element(by.css('[ng-view]')).getText();
361
- expect(content).toMatch(/controller\: BookCntl/);
362
- expect(content).toMatch(/Book Id\: Scarlet/);
363
- });
364
- </file>
365
- </example>
270
+ * This example shows how changing the URL hash causes the `$route` to match a route against the
271
+ * URL, and the `ngView` pulls in the partial.
272
+ *
273
+ * Note that this example is using {@link ng.directive:script inlined templates}
274
+ * to get it working on jsfiddle as well.
275
+ *
276
+ * <example name="$route-service" module="ngRouteExample"
277
+ * deps="angular-route.js" fixBase="true">
278
+ * <file name="index.html">
279
+ * <div ng-controller="MainController">
280
+ * Choose:
281
+ * <a href="Book/Moby">Moby</a> |
282
+ * <a href="Book/Moby/ch/1">Moby: Ch1</a> |
283
+ * <a href="Book/Gatsby">Gatsby</a> |
284
+ * <a href="Book/Gatsby/ch/4?key=value">Gatsby: Ch4</a> |
285
+ * <a href="Book/Scarlet">Scarlet Letter</a><br/>
286
+ *
287
+ * <div ng-view></div>
288
+ *
289
+ * <hr />
290
+ *
291
+ * <pre>$location.path() = {{$location.path()}}</pre>
292
+ * <pre>$route.current.templateUrl = {{$route.current.templateUrl}}</pre>
293
+ * <pre>$route.current.params = {{$route.current.params}}</pre>
294
+ * <pre>$route.current.scope.name = {{$route.current.scope.name}}</pre>
295
+ * <pre>$routeParams = {{$routeParams}}</pre>
296
+ * </div>
297
+ * </file>
298
+ *
299
+ * <file name="book.html">
300
+ * controller: {{name}}<br />
301
+ * Book Id: {{params.bookId}}<br />
302
+ * </file>
303
+ *
304
+ * <file name="chapter.html">
305
+ * controller: {{name}}<br />
306
+ * Book Id: {{params.bookId}}<br />
307
+ * Chapter Id: {{params.chapterId}}
308
+ * </file>
309
+ *
310
+ * <file name="script.js">
311
+ * angular.module('ngRouteExample', ['ngRoute'])
312
+ *
313
+ * .controller('MainController', function($scope, $route, $routeParams, $location) {
314
+ * $scope.$route = $route;
315
+ * $scope.$location = $location;
316
+ * $scope.$routeParams = $routeParams;
317
+ * })
318
+ *
319
+ * .controller('BookController', function($scope, $routeParams) {
320
+ * $scope.name = "BookController";
321
+ * $scope.params = $routeParams;
322
+ * })
323
+ *
324
+ * .controller('ChapterController', function($scope, $routeParams) {
325
+ * $scope.name = "ChapterController";
326
+ * $scope.params = $routeParams;
327
+ * })
328
+ *
329
+ * .config(function($routeProvider, $locationProvider) {
330
+ * $routeProvider
331
+ * .when('/Book/:bookId', {
332
+ * templateUrl: 'book.html',
333
+ * controller: 'BookController',
334
+ * resolve: {
335
+ * // I will cause a 1 second delay
336
+ * delay: function($q, $timeout) {
337
+ * var delay = $q.defer();
338
+ * $timeout(delay.resolve, 1000);
339
+ * return delay.promise;
340
+ * }
341
+ * }
342
+ * })
343
+ * .when('/Book/:bookId/ch/:chapterId', {
344
+ * templateUrl: 'chapter.html',
345
+ * controller: 'ChapterController'
346
+ * });
347
+ *
348
+ * // configure html5 to get links working on jsfiddle
349
+ * $locationProvider.html5Mode(true);
350
+ * });
351
+ *
352
+ * </file>
353
+ *
354
+ * <file name="protractor.js" type="protractor">
355
+ * it('should load and compile correct template', function() {
356
+ * element(by.linkText('Moby: Ch1')).click();
357
+ * var content = element(by.css('[ng-view]')).getText();
358
+ * expect(content).toMatch(/controller\: ChapterController/);
359
+ * expect(content).toMatch(/Book Id\: Moby/);
360
+ * expect(content).toMatch(/Chapter Id\: 1/);
361
+ *
362
+ * element(by.partialLinkText('Scarlet')).click();
363
+ *
364
+ * content = element(by.css('[ng-view]')).getText();
365
+ * expect(content).toMatch(/controller\: BookController/);
366
+ * expect(content).toMatch(/Book Id\: Scarlet/);
367
+ * });
368
+ * </file>
369
+ * </example>
366
370
  */
367
371
 
368
372
  /**
@@ -675,7 +679,7 @@ ngRouteModule.directive('ngView', ngViewFillContentFactory);
675
679
  deps="angular-route.js;angular-animate.js"
676
680
  animations="true" fixBase="true">
677
681
  <file name="index.html">
678
- <div ng-controller="MainCntl as main">
682
+ <div ng-controller="MainCtrl as main">
679
683
  Choose:
680
684
  <a href="Book/Moby">Moby</a> |
681
685
  <a href="Book/Moby/ch/1">Moby: Ch1</a> |
@@ -754,52 +758,53 @@ ngRouteModule.directive('ngView', ngViewFillContentFactory);
754
758
  </file>
755
759
 
756
760
  <file name="script.js">
757
- angular.module('ngViewExample', ['ngRoute', 'ngAnimate'],
758
- function($routeProvider, $locationProvider) {
759
- $routeProvider.when('/Book/:bookId', {
760
- templateUrl: 'book.html',
761
- controller: BookCntl,
762
- controllerAs: 'book'
763
- });
764
- $routeProvider.when('/Book/:bookId/ch/:chapterId', {
765
- templateUrl: 'chapter.html',
766
- controller: ChapterCntl,
767
- controllerAs: 'chapter'
768
- });
761
+ angular.module('ngViewExample', ['ngRoute', 'ngAnimate'])
762
+ .config(['$routeProvider', '$locationProvider',
763
+ function($routeProvider, $locationProvider) {
764
+ $routeProvider
765
+ .when('/Book/:bookId', {
766
+ templateUrl: 'book.html',
767
+ controller: 'BookCtrl',
768
+ controllerAs: 'book'
769
+ })
770
+ .when('/Book/:bookId/ch/:chapterId', {
771
+ templateUrl: 'chapter.html',
772
+ controller: 'ChapterCtrl',
773
+ controllerAs: 'chapter'
774
+ });
775
+
776
+ // configure html5 to get links working on jsfiddle
777
+ $locationProvider.html5Mode(true);
778
+ }])
779
+ .controller('MainCtrl', ['$route', '$routeParams', '$location',
780
+ function($route, $routeParams, $location) {
781
+ this.$route = $route;
782
+ this.$location = $location;
783
+ this.$routeParams = $routeParams;
784
+ }])
785
+ .controller('BookCtrl', ['$routeParams', function($routeParams) {
786
+ this.name = "BookCtrl";
787
+ this.params = $routeParams;
788
+ }])
789
+ .controller('ChapterCtrl', ['$routeParams', function($routeParams) {
790
+ this.name = "ChapterCtrl";
791
+ this.params = $routeParams;
792
+ }]);
769
793
 
770
- // configure html5 to get links working on jsfiddle
771
- $locationProvider.html5Mode(true);
772
- });
773
-
774
- function MainCntl($route, $routeParams, $location) {
775
- this.$route = $route;
776
- this.$location = $location;
777
- this.$routeParams = $routeParams;
778
- }
779
-
780
- function BookCntl($routeParams) {
781
- this.name = "BookCntl";
782
- this.params = $routeParams;
783
- }
784
-
785
- function ChapterCntl($routeParams) {
786
- this.name = "ChapterCntl";
787
- this.params = $routeParams;
788
- }
789
794
  </file>
790
795
 
791
796
  <file name="protractor.js" type="protractor">
792
797
  it('should load and compile correct template', function() {
793
798
  element(by.linkText('Moby: Ch1')).click();
794
799
  var content = element(by.css('[ng-view]')).getText();
795
- expect(content).toMatch(/controller\: ChapterCntl/);
800
+ expect(content).toMatch(/controller\: ChapterCtrl/);
796
801
  expect(content).toMatch(/Book Id\: Moby/);
797
802
  expect(content).toMatch(/Chapter Id\: 1/);
798
803
 
799
804
  element(by.partialLinkText('Scarlet')).click();
800
805
 
801
806
  content = element(by.css('[ng-view]')).getText();
802
- expect(content).toMatch(/controller\: BookCntl/);
807
+ expect(content).toMatch(/controller\: BookCtrl/);
803
808
  expect(content).toMatch(/Book Id\: Scarlet/);
804
809
  });
805
810
  </file>