aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiško Hevery2012-12-14 05:49:22 -0800
committerIgor Minar2013-01-22 11:32:27 -0800
commitb49c3a1a1efc85b31053481eea450c7be407957c (patch)
tree38796448344647593b528f68a3376328a58daecd
parentc7addd488677307c6d2b35c7656179fbe6d80999 (diff)
downloadangular.js-b49c3a1a1efc85b31053481eea450c7be407957c.tar.bz2
docs(q): added testing information
-rw-r--r--src/ng/q.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/ng/q.js b/src/ng/q.js
index fd412a33..8b474755 100644
--- a/src/ng/q.js
+++ b/src/ng/q.js
@@ -123,6 +123,30 @@
* you can treat promises attached to a scope as if they were the resulting values.
* - Q has many more features that $q, but that comes at a cost of bytes. $q is tiny, but contains
* all the important functionality needed for common async tasks.
+ *
+ * # Testing
+ *
+ * <pre>
+ * it('should simulate promise', inject(function($q, $rootSCope) {
+ * var deferred = $q.defer();
+ * var promise = deferred.promise;
+ * var resolvedValue;
+ *
+ * promise.then(function(value) { resolvedValue = value; });
+ * expect(resolvedValue).toBeUndefined();
+ *
+ * // Simulate resolving of promise
+ * defered.resolve(123);
+ * // Note that the 'then' function does not get called synchronously.
+ * // This is because we want the promise API to always be async, whether or not
+ * // it got called synchronously or asynchronously.
+ * expect(resolvedValue).toBeUndefined();
+ *
+ * // Propagate promise resolution to 'then' functions using $apply().
+ * $rootScope.$apply();
+ * expect(resolvedValue).toEqual(123);
+ * });
+ * </pre>
*/
function $QProvider() {