|
2 | 2 |
|
3 | 3 | /* globals getInputCompileHelper: false */
|
4 | 4 |
|
5 |
| -describe('input', function() { |
| 5 | +ddescribe('input', function() { |
6 | 6 | var helper, $compile, $rootScope, $browser, $sniffer, $timeout, $q;
|
7 | 7 |
|
8 | 8 | beforeEach(function() {
|
@@ -707,21 +707,18 @@ describe('input', function() {
|
707 | 707 | });
|
708 | 708 |
|
709 | 709 |
|
710 |
| - it('should fire \'input\' event on \'keyup\' only on browsers that support this input type', |
711 |
| - function() { |
712 |
| - var inputType = 'month'; |
713 |
| - |
714 |
| - var inputEventExpectedToFire = browserSupportsInputTypeAndEvent(inputType, 'input'); |
715 |
| - var inputEventActuallyFired = false; |
| 710 | + it('should listen for \'keyup\' only on browsers that support this input type', function() { |
| 711 | + var inputType = 'month'; |
716 | 712 |
|
717 |
| - var inputElm = helper.compileInput('<input type="' + inputType + '" ng-model="val" />'); |
718 |
| - inputElm.on('input', function() { inputEventActuallyFired = true; }); |
| 713 | + var shouldListenForKeyup = browserSupportsInputTypeAndEvent(inputType, 'input'); |
| 714 | + var inputElm = helper.compileInput('<input type="' + inputType + '" ng-model="val" />'); |
| 715 | + var ctrl = inputElm.controller('ngModel'); |
| 716 | + spyOn(ctrl, '$setViewValue'); |
719 | 717 |
|
720 |
| - browserTrigger(inputElm, 'keyup'); |
| 718 | + inputElm.triggerHandler('keyup'); |
721 | 719 |
|
722 |
| - expect(inputEventActuallyFired).toBe(inputEventExpectedToFire); |
723 |
| - } |
724 |
| - ); |
| 720 | + expect(ctrl.$setViewValue.callCount).toBe(shouldListenForKeyup ? 1 : 0); |
| 721 | + }); |
725 | 722 |
|
726 | 723 |
|
727 | 724 | describe('min', function() {
|
@@ -989,21 +986,18 @@ describe('input', function() {
|
989 | 986 | });
|
990 | 987 |
|
991 | 988 |
|
992 |
| - it('should fire \'input\' event on \'keyup\' only on browsers that support this input type', |
993 |
| - function() { |
994 |
| - var inputType = 'week'; |
995 |
| - |
996 |
| - var inputEventExpectedToFire = browserSupportsInputTypeAndEvent(inputType, 'input'); |
997 |
| - var inputEventActuallyFired = false; |
| 989 | + it('should listen for \'keyup\' only on browsers that support this input type', function() { |
| 990 | + var inputType = 'week'; |
998 | 991 |
|
999 |
| - var inputElm = helper.compileInput('<input type="' + inputType + '" ng-model="val" />'); |
1000 |
| - inputElm.on('input', function() { inputEventActuallyFired = true; }); |
| 992 | + var shouldListenForKeyup = browserSupportsInputTypeAndEvent(inputType, 'input'); |
| 993 | + var inputElm = helper.compileInput('<input type="' + inputType + '" ng-model="val" />'); |
| 994 | + var ctrl = inputElm.controller('ngModel'); |
| 995 | + spyOn(ctrl, '$setViewValue'); |
1001 | 996 |
|
1002 |
| - browserTrigger(inputElm, 'keyup'); |
| 997 | + inputElm.triggerHandler('keyup'); |
1003 | 998 |
|
1004 |
| - expect(inputEventActuallyFired).toBe(inputEventExpectedToFire); |
1005 |
| - } |
1006 |
| - ); |
| 999 | + expect(ctrl.$setViewValue.callCount).toBe(shouldListenForKeyup ? 1 : 0); |
| 1000 | + }); |
1007 | 1001 |
|
1008 | 1002 |
|
1009 | 1003 | describe('min', function() {
|
@@ -1306,21 +1300,18 @@ describe('input', function() {
|
1306 | 1300 | });
|
1307 | 1301 |
|
1308 | 1302 |
|
1309 |
| - it('should fire \'input\' event on \'keyup\' only on browsers that support this input type', |
1310 |
| - function() { |
1311 |
| - var inputType = 'datetime-local'; |
1312 |
| - |
1313 |
| - var inputEventExpectedToFire = browserSupportsInputTypeAndEvent(inputType, 'input'); |
1314 |
| - var inputEventActuallyFired = false; |
| 1303 | + it('should listen for \'keyup\' only on browsers that support this input type', function() { |
| 1304 | + var inputType = 'datetime-local'; |
1315 | 1305 |
|
1316 |
| - var inputElm = helper.compileInput('<input type="' + inputType + '" ng-model="val" />'); |
1317 |
| - inputElm.on('input', function() { inputEventActuallyFired = true; }); |
| 1306 | + var shouldListenForKeyup = browserSupportsInputTypeAndEvent(inputType, 'input'); |
| 1307 | + var inputElm = helper.compileInput('<input type="' + inputType + '" ng-model="val" />'); |
| 1308 | + var ctrl = inputElm.controller('ngModel'); |
| 1309 | + spyOn(ctrl, '$setViewValue'); |
1318 | 1310 |
|
1319 |
| - browserTrigger(inputElm, 'keyup'); |
| 1311 | + inputElm.triggerHandler('keyup'); |
1320 | 1312 |
|
1321 |
| - expect(inputEventActuallyFired).toBe(inputEventExpectedToFire); |
1322 |
| - } |
1323 |
| - ); |
| 1313 | + expect(ctrl.$setViewValue.callCount).toBe(shouldListenForKeyup ? 1 : 0); |
| 1314 | + }); |
1324 | 1315 |
|
1325 | 1316 |
|
1326 | 1317 | describe('min', function() {
|
@@ -1699,21 +1690,18 @@ describe('input', function() {
|
1699 | 1690 | });
|
1700 | 1691 |
|
1701 | 1692 |
|
1702 |
| - it('should fire \'input\' event on \'keyup\' only on browsers that support this input type', |
1703 |
| - function() { |
1704 |
| - var inputType = 'time'; |
1705 |
| - |
1706 |
| - var inputEventExpectedToFire = browserSupportsInputTypeAndEvent(inputType, 'input'); |
1707 |
| - var inputEventActuallyFired = false; |
| 1693 | + it('should listen for \'keyup\' only on browsers that support this input type', function() { |
| 1694 | + var inputType = 'time'; |
1708 | 1695 |
|
1709 |
| - var inputElm = helper.compileInput('<input type="' + inputType + '" ng-model="val" />'); |
1710 |
| - inputElm.on('input', function() { inputEventActuallyFired = true; }); |
| 1696 | + var shouldListenForKeyup = browserSupportsInputTypeAndEvent(inputType, 'input'); |
| 1697 | + var inputElm = helper.compileInput('<input type="' + inputType + '" ng-model="val" />'); |
| 1698 | + var ctrl = inputElm.controller('ngModel'); |
| 1699 | + spyOn(ctrl, '$setViewValue'); |
1711 | 1700 |
|
1712 |
| - browserTrigger(inputElm, 'keyup'); |
| 1701 | + inputElm.triggerHandler('keyup'); |
1713 | 1702 |
|
1714 |
| - expect(inputEventActuallyFired).toBe(inputEventExpectedToFire); |
1715 |
| - } |
1716 |
| - ); |
| 1703 | + expect(ctrl.$setViewValue.callCount).toBe(shouldListenForKeyup ? 1 : 0); |
| 1704 | + }); |
1717 | 1705 |
|
1718 | 1706 |
|
1719 | 1707 | describe('min', function() {
|
@@ -2067,21 +2055,18 @@ describe('input', function() {
|
2067 | 2055 | });
|
2068 | 2056 |
|
2069 | 2057 |
|
2070 |
| - it('should fire \'input\' event on \'keyup\' only on browsers that support this input type', |
2071 |
| - function() { |
2072 |
| - var inputType = 'date'; |
| 2058 | + it('should listen for \'keyup\' only on browsers that support this input type', function() { |
| 2059 | + var inputType = 'date'; |
2073 | 2060 |
|
2074 |
| - var inputEventExpectedToFire = browserSupportsInputTypeAndEvent(inputType, 'input'); |
2075 |
| - var inputEventActuallyFired = false; |
| 2061 | + var shouldListenForKeyup = browserSupportsInputTypeAndEvent(inputType, 'input'); |
| 2062 | + var inputElm = helper.compileInput('<input type="' + inputType + '" ng-model="val" />'); |
| 2063 | + var ctrl = inputElm.controller('ngModel'); |
| 2064 | + spyOn(ctrl, '$setViewValue'); |
2076 | 2065 |
|
2077 |
| - var inputElm = helper.compileInput('<input type="' + inputType + '" ng-model="val" />'); |
2078 |
| - inputElm.on('input', function() { inputEventActuallyFired = true; }); |
| 2066 | + inputElm.triggerHandler('keyup'); |
2079 | 2067 |
|
2080 |
| - browserTrigger(inputElm, 'keyup'); |
2081 |
| - |
2082 |
| - expect(inputEventActuallyFired).toBe(inputEventExpectedToFire); |
2083 |
| - } |
2084 |
| - ); |
| 2068 | + expect(ctrl.$setViewValue.callCount).toBe(shouldListenForKeyup ? 1 : 0); |
| 2069 | + }); |
2085 | 2070 |
|
2086 | 2071 |
|
2087 | 2072 | describe('min', function() {
|
|
0 commit comments