diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/directive/formSpec.js | 42 | ||||
| -rw-r--r-- | test/directive/inputSpec.js | 39 |
2 files changed, 50 insertions, 31 deletions
diff --git a/test/directive/formSpec.js b/test/directive/formSpec.js index fbcf4aec..588b9f49 100644 --- a/test/directive/formSpec.js +++ b/test/directive/formSpec.js @@ -43,7 +43,7 @@ describe('form', function() { expect(form.$error.required).toEqual([control]); doc.find('input').remove(); - expect(form.$error.required).toBeUndefined(); + expect(form.$error.required).toBe(false); expect(form.alias).toBeUndefined(); }); @@ -124,8 +124,8 @@ describe('form', function() { expect(scope.firstName).toBe('val1'); expect(scope.lastName).toBe('val2'); - expect(scope.formA.$error.required).toBeUndefined(); - expect(scope.formB.$error.required).toBeUndefined(); + expect(scope.formA.$error.required).toBe(false); + expect(scope.formB.$error.required).toBe(false); }); @@ -169,8 +169,8 @@ describe('form', function() { expect(child.$error.MyError).toEqual([inputB]); inputB.$setValidity('MyError', true); - expect(parent.$error.MyError).toBeUndefined(); - expect(child.$error.MyError).toBeUndefined(); + expect(parent.$error.MyError).toBe(false); + expect(child.$error.MyError).toBe(false); }); @@ -192,7 +192,7 @@ describe('form', function() { expect(parent.child).toBeUndefined(); expect(scope.child).toBeUndefined(); - expect(parent.$error.required).toBeUndefined(); + expect(parent.$error.required).toBe(false); }); @@ -223,8 +223,8 @@ describe('form', function() { expect(parent.$error.myRule).toEqual([child]); input.$setValidity('myRule', true); - expect(parent.$error.myRule).toBeUndefined(); - expect(child.$error.myRule).toBeUndefined(); + expect(parent.$error.myRule).toBe(false); + expect(child.$error.myRule).toBe(false); }); }) @@ -244,20 +244,30 @@ describe('form', function() { it('should have ng-valid/ng-invalid css class', function() { expect(doc).toBeValid(); - control.$setValidity('ERROR', false); - scope.$apply(); + control.$setValidity('error', false); expect(doc).toBeInvalid(); + expect(doc.hasClass('ng-valid-error')).toBe(false); + expect(doc.hasClass('ng-invalid-error')).toBe(true); - control.$setValidity('ANOTHER', false); - scope.$apply(); + control.$setValidity('another', false); + expect(doc.hasClass('ng-valid-error')).toBe(false); + expect(doc.hasClass('ng-invalid-error')).toBe(true); + expect(doc.hasClass('ng-valid-another')).toBe(false); + expect(doc.hasClass('ng-invalid-another')).toBe(true); - control.$setValidity('ERROR', true); - scope.$apply(); + control.$setValidity('error', true); expect(doc).toBeInvalid(); + expect(doc.hasClass('ng-valid-error')).toBe(true); + expect(doc.hasClass('ng-invalid-error')).toBe(false); + expect(doc.hasClass('ng-valid-another')).toBe(false); + expect(doc.hasClass('ng-invalid-another')).toBe(true); - control.$setValidity('ANOTHER', true); - scope.$apply(); + control.$setValidity('another', true); expect(doc).toBeValid(); + expect(doc.hasClass('ng-valid-error')).toBe(true); + expect(doc.hasClass('ng-invalid-error')).toBe(false); + expect(doc.hasClass('ng-valid-another')).toBe(true); + expect(doc.hasClass('ng-invalid-another')).toBe(false); }); diff --git a/test/directive/inputSpec.js b/test/directive/inputSpec.js index 4bdba36a..a9aafd04 100644 --- a/test/directive/inputSpec.js +++ b/test/directive/inputSpec.js @@ -66,38 +66,39 @@ describe('NgModelController', function() { expect(ctrl.$error.required).toBe(true); ctrl.$setValidity('required', true); - expect(ctrl.$error.required).toBeUndefined(); + expect(ctrl.$error.required).toBe(false); }); it('should set valid/invalid', function() { - ctrl.$setValidity('FIRST', false); + ctrl.$setValidity('first', false); expect(ctrl.$valid).toBe(false); expect(ctrl.$invalid).toBe(true); - ctrl.$setValidity('SECOND', false); + ctrl.$setValidity('second', false); expect(ctrl.$valid).toBe(false); expect(ctrl.$invalid).toBe(true); - ctrl.$setValidity('SECOND', true); + ctrl.$setValidity('second', true); expect(ctrl.$valid).toBe(false); expect(ctrl.$invalid).toBe(true); - ctrl.$setValidity('FIRST', true); + ctrl.$setValidity('first', true); expect(ctrl.$valid).toBe(true); expect(ctrl.$invalid).toBe(false); }); it('should emit $valid only when $invalid', function() { - ctrl.$setValidity('ERROR', true); - expect(parentFormCtrl.$setValidity).not.toHaveBeenCalled(); + ctrl.$setValidity('error', true); + expect(parentFormCtrl.$setValidity).toHaveBeenCalledOnceWith('error', true, ctrl); + parentFormCtrl.$setValidity.reset(); - ctrl.$setValidity('ERROR', false); - expect(parentFormCtrl.$setValidity).toHaveBeenCalledOnceWith('ERROR', false, ctrl); + ctrl.$setValidity('error', false); + expect(parentFormCtrl.$setValidity).toHaveBeenCalledOnceWith('error', false, ctrl); parentFormCtrl.$setValidity.reset(); - ctrl.$setValidity('ERROR', true); - expect(parentFormCtrl.$setValidity).toHaveBeenCalledOnceWith('ERROR', true, ctrl); + ctrl.$setValidity('error', true); + expect(parentFormCtrl.$setValidity).toHaveBeenCalledOnceWith('error', true, ctrl); }); }); @@ -152,7 +153,7 @@ describe('NgModelController', function() { ctrl.$parsers.push(function() {return undefined;}); expect(ctrl.$modelValue).toBe('aaaa'); ctrl.$setViewValue('bbbb'); - expect(ctrl.$modelValue).toBeUndefined; + expect(ctrl.$modelValue).toBeUndefined(); }); @@ -241,22 +242,30 @@ describe('ng-model', function() { $rootScope.$digest(); expect(element).toBeValid(); expect(element).toBePristine(); + expect(element.hasClass('ng-valid-email')).toBe(true); + expect(element.hasClass('ng-invalid-email')).toBe(false); $rootScope.$apply(function() { $rootScope.value = 'invalid-email'; }); expect(element).toBeInvalid(); expect(element).toBePristine(); + expect(element.hasClass('ng-valid-email')).toBe(false); + expect(element.hasClass('ng-invalid-email')).toBe(true); element.val('invalid-again'); browserTrigger(element, 'blur'); expect(element).toBeInvalid(); expect(element).toBeDirty(); + expect(element.hasClass('ng-valid-email')).toBe(false); + expect(element.hasClass('ng-invalid-email')).toBe(true); element.val('vojta@google.com'); browserTrigger(element, 'blur'); expect(element).toBeValid(); expect(element).toBeDirty(); + expect(element.hasClass('ng-valid-email')).toBe(true); + expect(element.hasClass('ng-invalid-email')).toBe(false); dealoc(element); })); @@ -305,7 +314,7 @@ describe('input', function() { expect(scope.form.$error.required.length).toBe(1); inputElm.remove(); - expect(scope.form.$error.required).toBeUndefined(); + expect(scope.form.$error.required).toBe(false); }); @@ -605,7 +614,7 @@ describe('input', function() { expect(scope.email).toBe('vojta@google.com'); expect(inputElm).toBeValid(); - expect(widget.$error.email).toBeUndefined(); + expect(widget.$error.email).toBe(false); changeInputValueTo('invalid@'); expect(scope.email).toBeUndefined(); @@ -633,7 +642,7 @@ describe('input', function() { changeInputValueTo('http://www.something.com'); expect(scope.url).toBe('http://www.something.com'); expect(inputElm).toBeValid(); - expect(widget.$error.url).toBeUndefined(); + expect(widget.$error.url).toBe(false); changeInputValueTo('invalid.com'); expect(scope.url).toBeUndefined(); |
