diff options
| author | Igor Minar | 2012-03-13 14:56:52 -0700 | 
|---|---|---|
| committer | Igor Minar | 2012-03-13 16:05:52 -0700 | 
| commit | 4806d28a29ae5c3f83d8f97c11e692ca2313c9ab (patch) | |
| tree | 914f4e3b2ecdd2f4bccd89bea820da3b2fd54b2d /test | |
| parent | 089c0f8b0e64f00e2629de07f35af03f01c34686 (diff) | |
| download | angular.js-4806d28a29ae5c3f83d8f97c11e692ca2313c9ab.tar.bz2 | |
fix(forms): remove control.$form and use nullFormCtrl
Diffstat (limited to 'test')
| -rw-r--r-- | test/directive/inputSpec.js | 52 | 
1 files changed, 29 insertions, 23 deletions
diff --git a/test/directive/inputSpec.js b/test/directive/inputSpec.js index d68f6c54..4bdba36a 100644 --- a/test/directive/inputSpec.js +++ b/test/directive/inputSpec.js @@ -1,15 +1,24 @@  'use strict';  describe('NgModelController', function() { -  var ctrl, scope, ngModelAccessor; +  var ctrl, scope, ngModelAccessor, element, parentFormCtrl;    beforeEach(inject(function($rootScope, $controller) {      var attrs = {name: 'testAlias'}; +    parentFormCtrl = { +      $setValidity: jasmine.createSpy('$setValidity'), +      $setDirty: jasmine.createSpy('$setDirty') +    } + +    element = jqLite('<form><input></form>'); +    element.data('$formController', parentFormCtrl); +      scope = $rootScope;      ngModelAccessor = jasmine.createSpy('ngModel accessor'); -    ctrl = $controller(NgModelController, {$scope: scope, ngModel: ngModelAccessor, $attrs: attrs}); - +    ctrl = $controller(NgModelController, { +      $scope: scope, $element: element.find('input'), ngModel: ngModelAccessor, $attrs: attrs +    });      // mock accessor (locals)      ngModelAccessor.andCallFake(function(val) {        if (isDefined(val)) scope.value = val; @@ -18,6 +27,11 @@ describe('NgModelController', function() {    })); +  afterEach(function() { +    dealoc(element); +  }); + +    it('should init the properties', function() {      expect(ctrl.$dirty).toBe(false);      expect(ctrl.$pristine).toBe(true); @@ -37,15 +51,13 @@ describe('NgModelController', function() {    describe('setValidity', function() {      it('should propagate invalid to the parent form only when valid', function() { -      var spy = jasmine.createSpy('setValidity'); -      ctrl.$form = {$setValidity: spy}; - +      expect(parentFormCtrl.$setValidity).not.toHaveBeenCalled();        ctrl.$setValidity('ERROR', false); -      expect(spy).toHaveBeenCalledOnceWith('ERROR', false, ctrl); +      expect(parentFormCtrl.$setValidity).toHaveBeenCalledOnceWith('ERROR', false, ctrl); -      spy.reset(); +      parentFormCtrl.$setValidity.reset();        ctrl.$setValidity('ERROR', false); -      expect(spy).not.toHaveBeenCalled(); +      expect(parentFormCtrl.$setValidity).not.toHaveBeenCalled();      }); @@ -78,17 +90,14 @@ describe('NgModelController', function() {      it('should emit $valid only when $invalid', function() { -      var spy = jasmine.createSpy('setValidity'); -      ctrl.$form = {$setValidity: spy}; -        ctrl.$setValidity('ERROR', true); -      expect(spy).not.toHaveBeenCalled(); +      expect(parentFormCtrl.$setValidity).not.toHaveBeenCalled();        ctrl.$setValidity('ERROR', false); -      expect(spy).toHaveBeenCalledOnceWith('ERROR', false, ctrl); -      spy.reset(); +      expect(parentFormCtrl.$setValidity).toHaveBeenCalledOnceWith('ERROR', false, ctrl); +      parentFormCtrl.$setValidity.reset();        ctrl.$setValidity('ERROR', true); -      expect(spy).toHaveBeenCalledOnceWith('ERROR', true, ctrl); +      expect(parentFormCtrl.$setValidity).toHaveBeenCalledOnceWith('ERROR', true, ctrl);      });    }); @@ -147,20 +156,17 @@ describe('NgModelController', function() {      }); -    it('should call parentForm.setDirty only when pristine', function() { -      var spy = jasmine.createSpy('setDirty'); -      ctrl.$form = {$setDirty: spy}; - +    it('should call parentForm.$setDirty only when pristine', function() {        ctrl.$setViewValue('');        expect(ctrl.$pristine).toBe(false);        expect(ctrl.$dirty).toBe(true); -      expect(spy).toHaveBeenCalledOnce(); +      expect(parentFormCtrl.$setDirty).toHaveBeenCalledOnce(); -      spy.reset(); +      parentFormCtrl.$setDirty.reset();        ctrl.$setViewValue('');        expect(ctrl.$pristine).toBe(false);        expect(ctrl.$dirty).toBe(true); -      expect(spy).not.toHaveBeenCalled(); +      expect(parentFormCtrl.$setDirty).not.toHaveBeenCalled();      });    });  | 
