Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit ee59883

Browse files
committed
test(ngModel): add missing tests for ngMin/ngMax for date inputs
1 parent a17a1d5 commit ee59883

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed

test/ng/directive/inputSpec.js

+98
Original file line numberDiff line numberDiff line change
@@ -2526,6 +2526,42 @@ describe('input', function() {
25262526

25272527
expect(inputElm).toBeValid();
25282528
});
2529+
2530+
it('should validate even if ng-max value changes on-the-fly', function() {
2531+
scope.max = '2013-01-01T01:02:00';
2532+
compileInput('<input type="datetime-local" ng-model="value" name="alias" ng-max="max" />');
2533+
2534+
changeInputValueTo('2014-01-01T12:34:00');
2535+
expect(inputElm).toBeInvalid();
2536+
2537+
scope.max = '2001-01-01T01:02:00';
2538+
scope.$digest();
2539+
2540+
expect(inputElm).toBeInvalid();
2541+
2542+
scope.max = '2024-01-01T01:02:00';
2543+
scope.$digest();
2544+
2545+
expect(inputElm).toBeValid();
2546+
});
2547+
2548+
it('should validate even if ng-min value changes on-the-fly', function() {
2549+
scope.min = '2013-01-01T01:02:00';
2550+
compileInput('<input type="datetime-local" ng-model="value" name="alias" ng-min="min" />');
2551+
2552+
changeInputValueTo('2010-01-01T12:34:00');
2553+
expect(inputElm).toBeInvalid();
2554+
2555+
scope.min = '2014-01-01T01:02:00';
2556+
scope.$digest();
2557+
2558+
expect(inputElm).toBeInvalid();
2559+
2560+
scope.min = '2009-01-01T01:02:00';
2561+
scope.$digest();
2562+
2563+
expect(inputElm).toBeValid();
2564+
});
25292565
});
25302566

25312567
describe('time', function () {
@@ -2726,6 +2762,32 @@ describe('input', function() {
27262762

27272763
expect(inputElm).toBeValid();
27282764
});
2765+
2766+
it('should validate even if ng-max value changes on-the-fly', function() {
2767+
scope.max = '4:02:00';
2768+
compileInput('<input type="time" ng-model="value" name="alias" ng-max="max" />');
2769+
2770+
changeInputValueTo('05:34:00');
2771+
expect(inputElm).toBeInvalid();
2772+
2773+
scope.max = '06:34:00';
2774+
scope.$digest();
2775+
2776+
expect(inputElm).toBeValid();
2777+
});
2778+
2779+
it('should validate even if ng-min value changes on-the-fly', function() {
2780+
scope.min = '08:45:00';
2781+
compileInput('<input type="time" ng-model="value" name="alias" ng-min="min" />');
2782+
2783+
changeInputValueTo('06:15:00');
2784+
expect(inputElm).toBeInvalid();
2785+
2786+
scope.min = '05:50:00';
2787+
scope.$digest();
2788+
2789+
expect(inputElm).toBeValid();
2790+
});
27292791
});
27302792

27312793
describe('date', function () {
@@ -2936,6 +2998,42 @@ describe('input', function() {
29362998

29372999
expect(inputElm).toBeValid();
29383000
});
3001+
3002+
it('should validate even if ng-max value changes on-the-fly', function() {
3003+
scope.max = '2013-01-01';
3004+
compileInput('<input type="date" ng-model="value" name="alias" ng-max="max" />');
3005+
3006+
changeInputValueTo('2014-01-01');
3007+
expect(inputElm).toBeInvalid();
3008+
3009+
scope.max = '2001-01-01';
3010+
scope.$digest();
3011+
3012+
expect(inputElm).toBeInvalid();
3013+
3014+
scope.max = '2021-01-01';
3015+
scope.$digest();
3016+
3017+
expect(inputElm).toBeValid();
3018+
});
3019+
3020+
it('should validate even if ng-min value changes on-the-fly', function() {
3021+
scope.min = '2013-01-01';
3022+
compileInput('<input type="date" ng-model="value" name="alias" ng-min="min" />');
3023+
3024+
changeInputValueTo('2010-01-01');
3025+
expect(inputElm).toBeInvalid();
3026+
3027+
scope.min = '2014-01-01';
3028+
scope.$digest();
3029+
3030+
expect(inputElm).toBeInvalid();
3031+
3032+
scope.min = '2009-01-01';
3033+
scope.$digest();
3034+
3035+
expect(inputElm).toBeValid();
3036+
});
29393037
});
29403038

29413039
describe('number', function() {

0 commit comments

Comments
 (0)