diff options
| author | JasonM23 | 2013-08-16 20:04:55 +1000 |
|---|---|---|
| committer | Pete Bacon Darwin | 2013-09-05 14:34:40 +0100 |
| commit | e12e584ca8db306dce8e0f4d3a212d77fbae966c (patch) | |
| tree | 8d44c394f8cd3ab87b965f407bfce0de3e4a1914 /src | |
| parent | 42a5f1e99a3771e20a2f1a2d5e3f7ecfc00c3167 (diff) | |
| download | angular.js-e12e584ca8db306dce8e0f4d3a212d77fbae966c.tar.bz2 | |
docs(mock.inject): document underscore wrapping syntax
Add a summary describing the ignored underscore syntax sugar helper,
with a simple use case example.
Closes #3621
Diffstat (limited to 'src')
| -rw-r--r-- | src/ngMock/angular-mocks.js | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/src/ngMock/angular-mocks.js b/src/ngMock/angular-mocks.js index 6764bf17..b41956d5 100644 --- a/src/ngMock/angular-mocks.js +++ b/src/ngMock/angular-mocks.js @@ -1892,8 +1892,40 @@ angular.mock.clearDataCache = function() { * instance of {@link AUTO.$injector $injector} per test, which is then used for * resolving references. * - * See also {@link angular.mock.module module} * + * ## Resolving References (Underscore Wrapping) + * Often, we would like to inject a reference once, in a `beforeEach()` block and reuse this + * in multiple `it()` clauses. To be able to do this we must assign the reference to a variable + * that is declared in the scope of the `describe()` block. Since we would, most likely, want + * the variable to have the same name of the reference we have a problem, since the parameter + * to the `inject()` function would hide the outer variable. + * + * To help with this, the injected parameters can, optionally, beenclosing with underscores. + * These are ignored by the injector when the reference name is resolved. + * + * For example, the parameter `_myService_` would be resolved as the reference `myService`. + * Since it is available in the function body as _myService_, we can then assign it to a variable + * defined in an outer scope. + * + * ``` + * // Defined out reference variable outside + * var myService; + * + * // Wrap the parameter in underscores + * beforeEach( inject( function(_myService_){ + * myService = _myService_; + * })); + * + * // Use myService in a series of tests. + * it('makes use of myService', function() { + * myService.doStuff(); + * }); + * + * ``` + * + * See also {@link angular.mock.module angular.mock.module} + * + * ## Example * Example of what a typical jasmine tests looks like with the inject method. * <pre> * @@ -1930,7 +1962,7 @@ angular.mock.clearDataCache = function() { * }); * * </pre> - * + * * @param {...Function} fns any number of functions which will be injected using the injector. */ window.inject = angular.mock.inject = function() { |
