aboutsummaryrefslogtreecommitdiffstats
path: root/src/service/window.js
diff options
context:
space:
mode:
authorIgor Minar2011-02-15 01:12:45 -0500
committerIgor Minar2011-02-15 11:01:53 -0500
commit1777110958f76ee4be5760e36c96702223385918 (patch)
tree5aa03b246507e66877e5eac69e58e004e244d7a5 /src/service/window.js
parentd2089a16335276eecb8d81eb17332c2dff2cf1a2 (diff)
downloadangular.js-1777110958f76ee4be5760e36c96702223385918.tar.bz2
split up services into individual files
- split up services into files under src/service - split up specs into files under test/service - rewrite all specs so that they don't depend on one global forEach - get rid of obsolete code and tests in ng:switch - rename mock $log spec from "$log" to "$log mock"
Diffstat (limited to 'src/service/window.js')
-rw-r--r--src/service/window.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/service/window.js b/src/service/window.js
new file mode 100644
index 00000000..2392e7f9
--- /dev/null
+++ b/src/service/window.js
@@ -0,0 +1,25 @@
+/**
+ * @workInProgress
+ * @ngdoc service
+ * @name angular.service.$window
+ *
+ * @description
+ * Is reference to the browser's `window` object. While `window`
+ * is globally available in JavaScript, it causes testability problems, because
+ * it is a global variable. In angular we always refer to it through the
+ * `$window` service, so it may be overriden, removed or mocked for testing.
+ *
+ * All expressions are evaluated with respect to current scope so they don't
+ * suffer from window globality.
+ *
+ * @example
+ <doc:example>
+ <doc:source>
+ <input ng:init="$window = $service('$window'); greeting='Hello World!'" type="text" name="greeting" />
+ <button ng:click="$window.alert(greeting)">ALERT</button>
+ </doc:source>
+ <doc:scenario>
+ </doc:scenario>
+ </doc:example>
+ */
+angularServiceInject("$window", bind(window, identity, window), [], true);