aboutsummaryrefslogtreecommitdiffstats
path: root/test/jqLiteSpec.js
diff options
context:
space:
mode:
authorMisko Hevery2011-02-07 13:28:42 -0800
committerMisko Hevery2011-02-16 00:48:22 -0500
commit0a5c00abf8664fdbdc5d16b13adb1989b4531cdf (patch)
tree42d9426de8aa7917ba2dc127ee35dbc5890d7877 /test/jqLiteSpec.js
parenta004d487c4bb48b2bec19b60bc5ddc5244029be5 (diff)
downloadangular.js-0a5c00abf8664fdbdc5d16b13adb1989b4531cdf.tar.bz2
Add public API to retrieve scope from element.
Diffstat (limited to 'test/jqLiteSpec.js')
-rw-r--r--test/jqLiteSpec.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js
new file mode 100644
index 00000000..da8ab206
--- /dev/null
+++ b/test/jqLiteSpec.js
@@ -0,0 +1,31 @@
+describe('jqLite', function(){
+ var scope;
+
+ beforeEach(function(){
+ scope = angular.scope();
+ });
+
+ describe('scope', function() {
+ it('should retrieve scope attached to the current element', function() {
+ var element = jqLite('<i>foo</i>');
+ element.data('$scope', scope);
+ expect(element.scope()).toBe(scope);
+ dealoc(element);
+ });
+
+ it('should walk up the dom to find scope', function() {
+ var element = jqLite('<ul><li><p><b>deep deep</b><p></li></ul>');
+ var deepChild = jqLite(element[0].getElementsByTagName('b')[0]);
+ element.data('$scope', scope);
+ expect(deepChild.scope()).toBe(scope);
+ dealoc(element);
+ });
+
+ it('should return undefined when no scope was found', function() {
+ var element = jqLite('<ul><li><p><b>deep deep</b><p></li></ul>');
+ var deepChild = jqLite(element[0].getElementsByTagName('b')[0]);
+ expect(deepChild.scope()).toBeNull();
+ dealoc(element);
+ });
+ });
+});