From 3237f8b9950ab0dbf3c80f6bef40217ea7cf96ae Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Thu, 14 Jul 2011 13:54:34 -0700 Subject: fix(directive): ng:options to support ng:change Closes #463 --- test/widgetsSpec.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'test') diff --git a/test/widgetsSpec.js b/test/widgetsSpec.js index 422ca86b..e2a070c4 100644 --- a/test/widgetsSpec.js +++ b/test/widgetsSpec.js @@ -859,6 +859,27 @@ describe("widget", function(){ expect(scope.selected).toEqual(scope.values[1]); }); + it('should fire ng:change if present', function(){ + createSelect({ + name:'selected', + 'ng:options':'value for value in values', + 'ng:change':'count = count + 1'}); + scope.values = [{name:'A'}, {name:'B'}]; + scope.selected = scope.values[0]; + scope.count = 0; + scope.$eval(); + expect(scope.count).toEqual(0); + + select.val('1'); + browserTrigger(select, 'change'); + expect(scope.count).toEqual(1); + expect(scope.selected).toEqual(scope.values[1]); + + browserTrigger(select, 'change'); + expect(scope.count).toEqual(1); + expect(scope.selected).toEqual(scope.values[1]); + }); + it('should update model on change through expression', function(){ createSelect({name:'selected', 'ng:options':'item.id as item.name for item in values'}); scope.values = [{id:10, name:'A'}, {id:20, name:'B'}]; -- cgit v1.2.3