| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="UTF-8"> |
| <script type="text/javascript" src="nacltest.js"></script> |
| <script type="text/javascript" src="nacl_mozc_test_util.js"></script> |
| <script type="text/javascript" src="nacl_mozc.js"></script> |
| <script type="text/javascript" src="key_translator.js"></script> |
| <title>Chrome NaCl Mozc exntension Test</title> |
| </head> |
| <body> |
| |
| <script type="text/javascript"> |
| |
| var CONTEXT_ID = 1; |
| var ENGINE_ID = 'dummy_id'; |
| |
| var tester = new Tester(); |
| |
| tester.addAsyncTest('OnKeyEventAsyncTest', function(status) { |
| new mozc_test_util.Executer(status, function(registerer, mozc) { |
| var requestId = 0; |
| |
| registerer(mozc.onActivate_.bind(mozc, ENGINE_ID), 0); |
| |
| registerer(mozc.onFocus_.bind(mozc, { |
| contextID: CONTEXT_ID, |
| type: 'text' |
| }), 1); |
| |
| registerer(function() { |
| original_api = chrome.input.ime.setComposition; |
| chrome.input.ime.setComposition = function(param, callback) { |
| chrome.input.ime.setComposition = original_api; |
| // 'あ' |
| status.assertEqual('\u3042', param.text); |
| }; |
| |
| mozc.onKeyEventAsync_(ENGINE_ID, { |
| requestId: ++requestId, |
| code: 'KeyA', |
| key: 'a', |
| type: 'keydown' |
| }); |
| }, 1); |
| |
| registerer(function() { |
| original_api = chrome.input.ime.setComposition; |
| chrome.input.ime.setComposition = function(param, callback) { |
| chrome.input.ime.setComposition = original_api; |
| // 'ア' |
| status.assertEqual('\u30A2', param.text); |
| } |
| |
| mozc.onKeyEventAsync_(ENGINE_ID, { |
| requestId: 2, |
| code: '', // code is not set while typing function keys. |
| key: 'BrightnessUp', // 'F7' |
| type: 'keydown' |
| }); |
| }, 1); |
| |
| registerer(function() { |
| original_api = chrome.input.ime.commitText; |
| chrome.input.ime.commitText = function(data) { |
| chrome.input.ime.commitText = original_api; |
| // 'ア' |
| status.assertEqual(CONTEXT_ID, data.contextID); |
| status.assertEqual('\u30A2', data.text); |
| } |
| |
| mozc.onKeyEventAsync_(ENGINE_ID, { |
| requestId: ++requestId, |
| code: 'Enter', |
| key: 'Enter', |
| type: 'keydown' |
| }); |
| }, 1); |
| |
| // All tests succeeded. |
| registerer(status.pass.bind(status), 0); |
| }); |
| }); |
| |
| tester.run(); |
| |
| </script> |
| |
| </body> |
| </html> |