aboutsummaryrefslogtreecommitdiffstats
path: root/test/ScenarioSpec.js
diff options
context:
space:
mode:
authorMisko Hevery2011-03-23 09:33:29 -0700
committerVojta Jina2011-08-02 01:00:03 +0200
commit8f0dcbab804180828d6859b1340c86cf161209fb (patch)
treed13d47d47a1889cb7c96a87cecacd2e25307d51c /test/ScenarioSpec.js
parent1f4b417184ce53af15474de065400f8a686430c5 (diff)
downloadangular.js-8f0dcbab804180828d6859b1340c86cf161209fb.tar.bz2
feat(scope): new and improved scope implementation
- Speed improvements (about 4x on flush phase) - Memory improvements (uses no function closures) - Break $eval into $apply, $dispatch, $flush - Introduced $watch and $observe Breaks angular.equals() use === instead of == Breaks angular.scope() does not take parent as first argument Breaks scope.$watch() takes scope as first argument Breaks scope.$set(), scope.$get are removed Breaks scope.$config is removed Breaks $route.onChange callback has not "this" bounded
Diffstat (limited to 'test/ScenarioSpec.js')
-rw-r--r--test/ScenarioSpec.js23
1 files changed, 3 insertions, 20 deletions
diff --git a/test/ScenarioSpec.js b/test/ScenarioSpec.js
index 17a10ae9..ce8b0dec 100644
--- a/test/ScenarioSpec.js
+++ b/test/ScenarioSpec.js
@@ -15,41 +15,24 @@ describe("ScenarioSpec: Compilation", function(){
it("should compile dom node and return scope", function(){
var node = jqLite('<div ng:init="a=1">{{b=a+1}}</div>')[0];
scope = angular.compile(node)();
+ scope.$flush();
expect(scope.a).toEqual(1);
expect(scope.b).toEqual(2);
});
it("should compile jQuery node and return scope", function(){
scope = compile(jqLite('<div>{{a=123}}</div>'))();
+ scope.$flush();
expect(jqLite(scope.$element).text()).toEqual('123');
});
it("should compile text node and return scope", function(){
scope = angular.compile('<div>{{a=123}}</div>')();
+ scope.$flush();
expect(jqLite(scope.$element).text()).toEqual('123');
});
});
- describe('scope', function(){
- it("should have $set, $get, $eval, $updateView methods", function(){
- scope = angular.compile('<div>{{a}}</div>')();
- scope.$eval("$invalidWidgets.push({})");
- expect(scope.$set("a", 2)).toEqual(2);
- expect(scope.$get("a")).toEqual(2);
- expect(scope.$eval("a=3")).toEqual(3);
- scope.$eval();
- expect(jqLite(scope.$element).text()).toEqual('3');
- });
-
- it("should have $ objects", function(){
- scope = angular.compile('<div></div>')(angular.scope({$config: {a:"b"}}));
- expect(scope.$service('$location')).toBeDefined();
- expect(scope.$get('$eval')).toBeDefined();
- expect(scope.$get('$config')).toBeDefined();
- expect(scope.$get('$config.a')).toEqual("b");
- });
- });
-
describe("configuration", function(){
it("should take location object", function(){
var url = "http://server/#?book=moby";