Podcast/lib/angular/docs/partials/api/angular.mock.inject.html
2013-04-07 10:12:25 +02:00

58 lines
2.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<h1><code ng:non-bindable="">angular.mock.inject</code>
<span class="hint">(API in module <code ng:non-bindable="">ng</code>
)</span>
</h1>
<div><h2 id="Description">Description</h2>
<div class="description"><p><em>NOTE</em>: This is function is also published on window for easy access.<br>
<em>NOTE</em>: Only available with <a href="http://pivotal.github.com/jasmine/">jasmine</a>.</p>
<p>The inject function wraps a function into an injectable function. The inject() creates new
instance of <a href="api/AUTO.$injector"><code>$injector</code></a> per test, which is then used for
resolving references.</p>
<p>See also <a href="api/angular.mock.module"><code>module</code></a></p>
<p>Example of what a typical jasmine tests looks like with the inject method.
<pre class="prettyprint linenums">
angular.module('myApplicationModule', [])
.value('mode', 'app')
.value('version', 'v1.0.1');
describe('MyApp', function() {
// You need to load modules that you want to test,
// it loads only the "ng" module by default.
beforeEach(module('myApplicationModule'));
// inject() is used to inject arguments of all given functions
it('should provide a version', inject(function(mode, version) {
expect(version).toEqual('v1.0.1');
expect(mode).toEqual('app');
}));
// The inject and module method can also be used inside of the it or beforeEach
it('should override a version and test the new version is injected', function() {
// module() takes functions or strings (module aliases)
module(function($provide) {
$provide.value('version', 'overridden'); // override version here
});
inject(function(version) {
expect(version).toEqual('overridden');
});
));
});
</pre></div>
<h2 id="Usage">Usage</h2>
<div class="usage"><pre class="prettyprint linenums">angular.mock.inject(fns);</pre>
<h3 id="Parameters">Parameters</h3>
<ul class="parameters"><li><code ng:non-bindable="">fns {...Function} </code>
<p>any number of functions which will be injected using the injector.</p></li>
</ul>
</div>
</div>