aboutsummaryrefslogtreecommitdiffstats
path: root/test/ng/directive/inputSpec.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/ng/directive/inputSpec.js')
-rw-r--r--test/ng/directive/inputSpec.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/ng/directive/inputSpec.js b/test/ng/directive/inputSpec.js
index c6f5558a..892c1b7f 100644
--- a/test/ng/directive/inputSpec.js
+++ b/test/ng/directive/inputSpec.js
@@ -468,6 +468,32 @@ describe('input', function() {
expect(scope.name).toEqual('adam');
});
+ describe('"change" event', function() {
+ function assertBrowserSupportsChangeEvent(inputEventSupported) {
+ // Force browser to report a lack of an 'input' event
+ $sniffer.hasEvent = function(eventName) {
+ if (eventName === 'input' && !inputEventSupported) {
+ return false;
+ }
+ return true;
+ };
+ compileInput('<input type="text" ng-model="name" name="alias" />');
+
+ inputElm.val('mark');
+ browserTrigger(inputElm, 'change');
+ expect(scope.name).toEqual('mark');
+ }
+
+ it('should update the model event if the browser does not support the "input" event',function() {
+ assertBrowserSupportsChangeEvent(false);
+ });
+
+ it('should update the model event if the browser supports the "input" ' +
+ 'event so that form auto complete works',function() {
+ assertBrowserSupportsChangeEvent(true);
+ });
+ });
+
describe('"paste" and "cut" events', function() {
beforeEach(function() {
// Force browser to report a lack of an 'input' event