Chromium Code Reviews| Index: chrome/browser/resources/chromeos/braille_ime/braille_ime_unittest.gtestjs |
| diff --git a/chrome/browser/resources/chromeos/braille_ime/braille_ime_unittest.gtestjs b/chrome/browser/resources/chromeos/braille_ime/braille_ime_unittest.gtestjs |
| index 92eabdc253697c3be0c92e2d9f5bf3f040c5d3dc..aaf58a7819fc170b31ba69f90ad9e25819e21eba 100644 |
| --- a/chrome/browser/resources/chromeos/braille_ime/braille_ime_unittest.gtestjs |
| +++ b/chrome/browser/resources/chromeos/braille_ime/braille_ime_unittest.gtestjs |
| @@ -91,6 +91,13 @@ BrailleImeUnitTest.prototype = { |
| chrome.input.ime = chrome.input.ime || {}; |
| chrome.runtime = chrome.runtime || {}; |
| localStorage = {}; |
| + this.lastSentKeyRequestId_ = 0; |
| + this.lastHandledKeyRequestId_ = undefined; |
| + this.lastHandledKeyResult_ = undefined; |
| + chrome.input.ime.keyEventHandled = function(requestId, result) { |
| + this.lastHandledKeyRequestId_ = Number(requestId); |
| + this.lastHandledKeyResult_ = result; |
| + }.bind(this); |
| this.createIme(); |
| }, |
| @@ -122,20 +129,25 @@ BrailleImeUnitTest.prototype = { |
| this.port.messages.length = 0; |
| }, |
| - sendKeyDown: function(code, extra) { |
| - var event = {code: code, type: 'keydown'}; |
| + sendKeyEvent_: function(type, code, extra) { |
| + var event = {type: type, |
| + code: code, |
| + requestId: (++this.lastSentKeyRequestId_) + ''}; |
| for (var key in extra) { |
| event[key] = extra[key]; |
| } |
| - return this.onKeyEvent.dispatch(ENGINE_ID, event); |
| + this.onKeyEvent.dispatch(ENGINE_ID, event); |
| + if (this.lastSentKeyRequestId_ === this.lastHandledKeyRequestId_) { |
| + return this.lastHandledKeyResult_; |
| + } |
| + }, |
| + |
| + sendKeyDown: function(code, extra) { |
| + return this.sendKeyEvent_('keydown', code, extra); |
| }, |
| sendKeyUp: function(code, extra) { |
| - var event = {code: code, type: 'keyup'}; |
| - for (var key in extra) { |
| - event[key] = extra[key]; |
| - } |
| - return this.onKeyEvent.dispatch(ENGINE_ID, event); |
| + return this.sendKeyEvent_('keyup', code, extra); |
| }, |
| }; |
| @@ -201,6 +213,26 @@ TEST_F('BrailleImeUnitTest', 'KeysWhenStandardKeysEnabled', function() { |
| {type: 'brailleDots', dots: 0}])); |
| }); |
| +TEST_F('BrailleImeUnitTest', 'TestBackspaceKey', function() { |
| + this.activateIme(); |
| + // Enable standard keyboard feature. |
| + assertFalse(this.menuItems[0].checked); |
| + this.onMenuItemActivated.dispatch(ENGINE_ID, this.menuItems[0].id); |
| + assertTrue(this.menuItems[0].checked); |
| + |
| + expectEquals(undefined, this.sendKeyDown('Backspace')); |
| + console.log(JSON.stringify(this.port.messages)); |
|
David Tseng
2014/06/19 21:30:16
nit: remove
|
| + assertThat(this.port.messages, |
| + eqJSON([{type: 'backspace', |
| + requestId: this.lastSentKeyRequestId_ + ''}])); |
| + this.port.onMessage.dispatch( |
| + {type: 'keyEventHandled', |
| + requestId: this.lastSentKeyRequestId_ + '', |
| + result: true}); |
| + expectEquals(this.lastSentKeyRequestId_, this.lastHandledKeyRequestId_); |
| + expectTrue(this.lastHandledKeyResult_); |
| +}); |
| + |
| TEST_F('BrailleImeUnitTest', 'UseStandardKeyboardSettingPreserved', function() { |
| this.activateIme(); |
| assertFalse(this.menuItems[0].checked); |