diff options
| author | Chia-liang Kao | 2013-10-29 00:42:47 +0800 | 
|---|---|---|
| committer | Tobias Bosch | 2013-11-21 09:46:33 -0800 | 
| commit | a4e6d962d78b26f5112d48c4f88c1e6234d0cae7 (patch) | |
| tree | 58d54c21558d4916e26ecec1f27c6ad4580f3b8e /test | |
| parent | 7874a4d007f6e664f9d26e36ad4ab6e151b51ed7 (diff) | |
| download | angular.js-a4e6d962d78b26f5112d48c4f88c1e6234d0cae7.tar.bz2 | |
feat(input): hold listener during text composition
When composing text in CJKV, intermediate buffer for unfinished text should not
be updating the bound scope variables.
Closes #4684
Diffstat (limited to 'test')
| -rw-r--r-- | test/ng/directive/inputSpec.js | 14 | 
1 files changed, 14 insertions, 0 deletions
| diff --git a/test/ng/directive/inputSpec.js b/test/ng/directive/inputSpec.js index 3783c9ed..c6f5558a 100644 --- a/test/ng/directive/inputSpec.js +++ b/test/ng/directive/inputSpec.js @@ -454,6 +454,20 @@ 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'); +  }); +    describe('"paste" and "cut" events', function() {      beforeEach(function() {        // Force browser to report a lack of an 'input' event | 
