Permalink
Comparing changes
Open a pull request
- 6 commits
- 6 files changed
- 0 commit comments
- 5 contributors
Unified
Split
Showing
with
27 additions
and 11 deletions.
- +1 −1 docs/content/error/$resource/badcfg.ngdoc
- +5 −5 docs/content/guide/e2e-testing.ngdoc
- +15 −1 docs/content/guide/expression.ngdoc
- +1 −1 docs/content/guide/scope.ngdoc
- +3 −3 docs/content/tutorial/step_06.ngdoc
- +2 −0 src/Angular.js
| @@ -3,7 +3,7 @@ | ||
| @fullName Response does not match configured parameter | ||
| @description | ||
|
|
||
| This error occurs when the {@link ngResource.$resource `$resource`} service expects a response that can be deserialized as an array, receives an object, or vice versa. | ||
| This error occurs when the {@link ngResource.$resource `$resource`} service expects a response that can be deserialized as an array but receives an object, or vice versa. | ||
| By default, all resource actions expect objects, except `query` which expects arrays. | ||
|
|
||
| To resolve this error, make sure your `$resource` configuration matches the actual format of the data returned from the server. | ||
| @@ -6,15 +6,15 @@ | ||
| # E2E Testing | ||
|
|
||
| <div class="alert alert-danger"> | ||
| **Note:** In the past, end to end testing could be done with a deprecated tool called | ||
| **Note:** In the past, end-to-end testing could be done with a deprecated tool called | ||
| [Angular Scenario Runner](http://code.angularjs.org/1.2.16/docs/guide/e2e-testing). That tool | ||
| is now in maintenance mode. | ||
| </div> | ||
|
|
||
| As applications grow in size and complexity, it becomes unrealistic to rely on manual testing to | ||
| verify the correctness of new features, catch bugs and notice regressions. End to end tests | ||
| are the first line of defense for catching bugs, but sometimes issues come up with integration | ||
| between components which can't be captured in a unit test. End to end tests are made to find | ||
| between components which can't be captured in a unit test. End-to-end tests are made to find | ||
| these problems. | ||
|
|
||
| We have built [Protractor](https://github.com/angular/protractor), an end | ||
| @@ -23,7 +23,7 @@ Angular application. | ||
|
|
||
| ## Using Protractor | ||
|
|
||
| Protractor is a [Node.js](http://nodejs.org) program, and runs end to end tests that are also | ||
| Protractor is a [Node.js](http://nodejs.org) program, and runs end-to-end tests that are also | ||
| written in JavaScript and run with node. Protractor uses [WebDriver](https://code.google.com/p/selenium/wiki/GettingStarted) | ||
| to control browsers and simulate user actions. | ||
|
|
||
| @@ -76,8 +76,8 @@ filter the list of items. | ||
|
|
||
| ## Example | ||
| See the [angular-seed](https://github.com/angular/angular-seed) project for more examples, or look | ||
| at the embedded examples in the Angular documentation (For example, [$http](http://docs.angularjs.org/api/ng/service/$http) | ||
| has an end to end test in the example under the `protractor.js` tag). | ||
| at the embedded examples in the Angular documentation (For example, {@link $http $http} | ||
| has an end-to-end test in the example under the `protractor.js` tag). | ||
|
|
||
| ## Caveats | ||
|
|
||
| @@ -26,8 +26,16 @@ Angular expressions are like JavaScript expressions with the following differenc | ||
| * **Forgiving:** In JavaScript, trying to evaluate undefined properties generates `ReferenceError` | ||
| or `TypeError`. In Angular, expression evaluation is forgiving to `undefined` and `null`. | ||
|
|
||
| * **No Control Flow Statements:** you cannot use the following in an Angular expression: | ||
| * **No Control Flow Statements:** You cannot use the following in an Angular expression: | ||
| conditionals, loops, or exceptions. | ||
|
|
||
| * **No Function Declarations:** You cannot decleare functions in an Angular expression. | ||
| Even inside `ng-init` directive | ||
|
|
||
| * **No RegExp Creation With Literal Notation:** You cannot create regular expressions | ||
| in an Angular expression. | ||
|
|
||
| * **No Comma And Void Operators:** You cannot use `,` or `void` in an Angular expression. | ||
|
|
||
| * **Filters:** You can use {@link guide/filter filters} within expressions to format data before | ||
| displaying it. | ||
| @@ -164,6 +172,12 @@ expression. The reason behind this is core to the Angular philosophy that applic | ||
| be in controllers, not the views. If you need a real conditional, loop, or to throw from a view | ||
| expression, delegate to a JavaScript method instead. | ||
|
|
||
| ## No function declarations or RegExp creation with literal notation | ||
|
|
||
| You can't declare functions or create regular expressions from within AngularJS expressions. This is | ||
| to avoid complex model transformation logic inside templates. Such logic is better placed in a | ||
| controller or in a dedicated filter where it can be tested properly. | ||
|
|
||
| ## `$event` | ||
|
|
||
| Directives like {@link ng.directive:ngClick `ngClick`} and {@link ng.directive:ngFocus `ngFocus`} | ||
| @@ -177,7 +177,7 @@ for example, only a portion of the view needs to be controlled by Angular. | ||
|
|
||
| To examine the scope in the debugger: | ||
|
|
||
| 1. right click on the element of interest in your browser and select 'inspect element'. You | ||
| 1. Right click on the element of interest in your browser and select 'inspect element'. You | ||
| should see the browser debugger with the element you clicked on highlighted. | ||
|
|
||
| 2. The debugger allows you to access the currently selected element in the console as `$0` | ||
| @@ -16,8 +16,8 @@ about the phones in the catalog. | ||
|
|
||
| ## Data | ||
|
|
||
| Note that the `phones.json` file contains unique ids and image urls for each of the phones. The | ||
| urls point to the `app/img/phones/` directory. | ||
| Note that the `phones.json` file contains unique IDs and image URLs for each of the phones. The | ||
| URLs point to the `app/img/phones/` directory. | ||
|
|
||
| __`app/phones/phones.json`__ (sample snippet): | ||
|
|
||
| @@ -59,7 +59,7 @@ the element attribute. | ||
| We also added phone images next to each record using an image tag with the {@link | ||
| ng.directive:ngSrc ngSrc} directive. That directive prevents the | ||
| browser from treating the Angular `{{ expression }}` markup literally, and initiating a request to | ||
| invalid url `http://localhost:8000/app/{{phone.imageUrl}}`, which it would have done if we had only | ||
| invalid URL `http://localhost:8000/app/{{phone.imageUrl}}`, which it would have done if we had only | ||
| specified an attribute binding in a regular `src` attribute (`<img src="{{phone.imageUrl}}">`). | ||
| Using the `ngSrc` directive prevents the browser from making an http request to an invalid location. | ||
|
|
||
| @@ -403,6 +403,8 @@ noop.$inject = []; | ||
| return (transformationFn || angular.identity)(value); | ||
| }; | ||
| ``` | ||
| * @param {*} value to be returned. | ||
| * @returns {*} the value passed in. | ||
| */ | ||
| function identity($) {return $;} | ||
| identity.$inject = []; | ||