aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorChia-liang Kao2013-10-29 00:42:47 +0800
committerTobias Bosch2013-11-21 09:46:33 -0800
commita4e6d962d78b26f5112d48c4f88c1e6234d0cae7 (patch)
tree58d54c21558d4916e26ecec1f27c6ad4580f3b8e /test
parent7874a4d007f6e664f9d26e36ad4ab6e151b51ed7 (diff)
downloadangular.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.js14
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