diff options
Diffstat (limited to 'test/ng/directive/inputSpec.js')
| -rw-r--r-- | test/ng/directive/inputSpec.js | 33 | 
1 files changed, 31 insertions, 2 deletions
| diff --git a/test/ng/directive/inputSpec.js b/test/ng/directive/inputSpec.js index facc2b80..c94eb9b8 100644 --- a/test/ng/directive/inputSpec.js +++ b/test/ng/directive/inputSpec.js @@ -998,6 +998,16 @@ describe('input', function() {        expect(scope.list).toEqual([]);      }); +    it('should be invalid if required and empty', function() { +      compileInput('<input type="text" ng-list ng-model="list" required>'); +      changeInputValueTo(''); +      expect(scope.list).toBeUndefined(); +      expect(inputElm).toBeInvalid(); +      changeInputValueTo('a,b'); +      expect(scope.list).toEqual(['a','b']); +      expect(inputElm).toBeValid(); +    }); +      it('should allow custom separator', function() {        compileInput('<input type="text" ng-model="list" ng-list=":" />'); @@ -1090,10 +1100,29 @@ describe('input', function() {      it('should set $invalid when model undefined', function() { -      compileInput('<input type="text" ng-model="notDefiend" required />'); +      compileInput('<input type="text" ng-model="notDefined" required />');        scope.$digest();        expect(inputElm).toBeInvalid(); -    }) +    }); + + +    it('should allow `false` as a valid value when the input type is not "checkbox"', function() { +      compileInput('<input type="radio" ng-value="true" ng-model="answer" required />' + +        '<input type="radio" ng-value="false" ng-model="answer" required />'); + +      scope.$apply(); +      expect(inputElm).toBeInvalid(); + +      scope.$apply(function() { +        scope.answer = true; +      }); +      expect(inputElm).toBeValid(); + +      scope.$apply(function() { +        scope.answer = false; +      }); +      expect(inputElm).toBeValid(); +    });    }); | 
