diff options
Diffstat (limited to 'test/ng')
| -rw-r--r-- | test/ng/directive/inputSpec.js | 44 | 
1 files changed, 31 insertions, 13 deletions
diff --git a/test/ng/directive/inputSpec.js b/test/ng/directive/inputSpec.js index c568e807..48319cfa 100644 --- a/test/ng/directive/inputSpec.js +++ b/test/ng/directive/inputSpec.js @@ -477,19 +477,37 @@ describe('input', function() {      expect(scope.name).toEqual('adam');    }); -  it('should not update the model between "compositionstart" and "compositionend"', function() { -    compileInput('<input type="text" ng-model="name" name="alias"" />'); -    changeInputValueTo('a'); -    expect(scope.name).toEqual('a'); -    if (!(msie < 9)) { -      browserTrigger(inputElm, 'compositionstart'); -      changeInputValueTo('adam'); -      expect(scope.name).toEqual('a'); -      browserTrigger(inputElm, 'compositionend'); -    } -    changeInputValueTo('adam'); -    expect(scope.name).toEqual('adam'); -  }); +  if (!(msie < 9)) { +    describe('compositionevents', function() { +      it('should not update the model between "compositionstart" and "compositionend" on non android', inject(function($sniffer) { +        $sniffer.android = false; + +        compileInput('<input type="text" ng-model="name" name="alias"" />'); +        changeInputValueTo('a'); +        expect(scope.name).toEqual('a'); +        browserTrigger(inputElm, 'compositionstart'); +        changeInputValueTo('adam'); +        expect(scope.name).toEqual('a'); +        browserTrigger(inputElm, 'compositionend'); +        changeInputValueTo('adam'); +        expect(scope.name).toEqual('adam'); +      })); + +      it('should update the model between "compositionstart" and "compositionend" on android', inject(function($sniffer) { +        $sniffer.android = true; + +        compileInput('<input type="text" ng-model="name" name="alias"" />'); +        changeInputValueTo('a'); +        expect(scope.name).toEqual('a'); +        browserTrigger(inputElm, 'compositionstart'); +        changeInputValueTo('adam'); +        expect(scope.name).toEqual('adam'); +        browserTrigger(inputElm, 'compositionend'); +        changeInputValueTo('adam2'); +        expect(scope.name).toEqual('adam2'); +      })); +    }); +  }    describe('"change" event', function() {      function assertBrowserSupportsChangeEvent(inputEventSupported) {  | 
