From 945056b1667a69ecc4d557cc0f03894597250ced Mon Sep 17 00:00:00 2001
From: Igor Minar
Date: Fri, 25 Feb 2011 14:03:02 -0800
Subject: linking function should return bound scope
angular.compile()() returns {scope:scope, view:view},
this isn't useful at all and only makes tests more verbose.
Instead, this change makes the linking function return scope directly
and if anyone needs the linked dom there are two ways to do it
documented in angular.compile.
other changes:
- moved angular.compile docs to the compiler so that they are closer to
the compiler
- fixed some typos and updated angular.compile docs with the new return
value
---
test/AngularSpec.js | 46 ++++++++++++++++++++++++++--------------------
1 file changed, 26 insertions(+), 20 deletions(-)
(limited to 'test/AngularSpec.js')
diff --git a/test/AngularSpec.js b/test/AngularSpec.js
index 5b7e33fd..2352cdf8 100644
--- a/test/AngularSpec.js
+++ b/test/AngularSpec.js
@@ -369,45 +369,51 @@ describe('angular', function(){
});
describe('compile', function(){
- var mvc;
+ var scope, template;
+
afterEach(function(){
- dealoc(mvc.view);
+ dealoc(scope);
});
it('should link to existing node and create scope', function(){
- mvc = angular.compile('
{{greeting = "hello world"}}
')();
- expect(mvc.view.text()).toEqual('hello world');
- expect(mvc.scope.greeting).toEqual('hello world');
+ template = angular.element('{{greeting = "hello world"}}
');
+ scope = angular.compile(template)();
+ expect(template.text()).toEqual('hello world');
+ expect(scope.greeting).toEqual('hello world');
});
it('should link to existing node and given scope', function(){
- var scope = angular.scope();
- mvc = angular.compile('{{greeting = "hello world"}}
')(scope);
- expect(mvc.view.text()).toEqual('hello world');
- expect(mvc.scope).toEqual(scope);
+ scope = angular.scope();
+ template = angular.element('{{greeting = "hello world"}}
');
+ angular.compile(template)(scope);
+ expect(template.text()).toEqual('hello world');
+ expect(scope).toEqual(scope);
});
it('should link to new node and given scope', function(){
- var scope = angular.scope();
- var template = jqLite('{{greeting = "hello world"}}
');
+ scope = angular.scope();
+ template = jqLite('{{greeting = "hello world"}}
');
+
var templateFn = angular.compile(template);
var templateClone = template.clone();
- mvc = templateFn(scope, function(clone){
+
+ templateFn(scope, function(clone){
templateClone = clone;
});
+
expect(template.text()).toEqual('');
- expect(mvc.view.text()).toEqual('hello world');
- expect(mvc.view).toEqual(templateClone);
- expect(mvc.scope.greeting).toEqual('hello world');
+ expect(scope.$element.text()).toEqual('hello world');
+ expect(scope.$element).toEqual(templateClone);
+ expect(scope.greeting).toEqual('hello world');
});
it('should link to cloned node and create scope', function(){
- var scope = angular.scope();
- var template = jqLite('{{greeting = "hello world"}}
');
- mvc = angular.compile(template)(scope, noop);
+ scope = angular.scope();
+ template = jqLite('{{greeting = "hello world"}}
');
+ angular.compile(template)(scope, noop);
expect(template.text()).toEqual('');
- expect(mvc.view.text()).toEqual('hello world');
- expect(mvc.scope.greeting).toEqual('hello world');
+ expect(scope.$element.text()).toEqual('hello world');
+ expect(scope.greeting).toEqual('hello world');
});
});
});
--
cgit v1.2.3