diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-20 18:00:45 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-20 18:00:45 +0000 |
commit | d6833856fdb1ee83547353a4c69388c426ff4aaa (patch) | |
tree | 5e9c2d57787fc9e78aa12e8a0ffb1e1f4b7727af /chrome/test/data | |
parent | d8ada0c94d0db73c6f2e9abe778249013692c3de (diff) | |
download | chromium_src-d6833856fdb1ee83547353a4c69388c426ff4aaa.zip chromium_src-d6833856fdb1ee83547353a4c69388c426ff4aaa.tar.gz chromium_src-d6833856fdb1ee83547353a4c69388c426ff4aaa.tar.bz2 |
Lands http://codereview.chromium.org/3153008 for bryeung:
Synthetic KeyEvent delivery, part I.
This delivers synthetic key events to the views hierarchy. This
currently does nothing, as nothing is listening for the event in
TOUCH_UI (or elsewhere). That part will come later.
BUG=none
TEST=unit test for key identifier conversion + manual for extension
api
Review URL: http://codereview.chromium.org/3130029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56886 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/data')
-rw-r--r-- | chrome/test/data/extensions/api_test/input/manifest.json | 7 | ||||
-rw-r--r-- | chrome/test/data/extensions/api_test/input/test.html | 1 | ||||
-rw-r--r-- | chrome/test/data/extensions/api_test/input/test.js | 51 |
3 files changed, 59 insertions, 0 deletions
diff --git a/chrome/test/data/extensions/api_test/input/manifest.json b/chrome/test/data/extensions/api_test/input/manifest.json new file mode 100644 index 0000000..7e00c04 --- /dev/null +++ b/chrome/test/data/extensions/api_test/input/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "chrome.experimental.input", + "version": "0.1", + "description": "end-to-end browser test for chrome.experimental.input API", + "background_page": "test.html", + "permissions": ["experimental"] +} diff --git a/chrome/test/data/extensions/api_test/input/test.html b/chrome/test/data/extensions/api_test/input/test.html new file mode 100644 index 0000000..46f4d74 --- /dev/null +++ b/chrome/test/data/extensions/api_test/input/test.html @@ -0,0 +1 @@ +<script src="test.js"></script> diff --git a/chrome/test/data/extensions/api_test/input/test.js b/chrome/test/data/extensions/api_test/input/test.js new file mode 100644 index 0000000..2506400 --- /dev/null +++ b/chrome/test/data/extensions/api_test/input/test.js @@ -0,0 +1,51 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// experimental.input API test for Chrome +// browser_tests --gtest_filter=ExtensionApiTest.Input + +chrome.test.runTests([ + function sendKeyboardEvent() { + var e = { 'type': 'keydown', 'keyIdentifier': 'A' }; + chrome.experimental.input.sendKeyboardEvent(e, function() { + if (chrome.extension.lastError) { + // this is expected for now: no one is handling keys yet + // chrome.test.fail(); + } + // when the browser is listening to events, we should check that + // this event was delivered as we expected. For now, just succeed. + chrome.test.succeed(); + }); + }, + + function badKeyIdentifier() { + var e = { 'type': 'keydown', 'keyIdentifier': 'BogusId' }; + chrome.experimental.input.sendKeyboardEvent(e, function() { + if (!chrome.extension.lastError) { + chrome.test.fail(); + } + chrome.test.succeed(); + }); + }, + + function badEventType() { + var e = { 'type': 'BAD', 'keyIdentifier': 'A' }; + chrome.experimental.input.sendKeyboardEvent(e, function() { + if (!chrome.extension.lastError) { + chrome.test.fail(); + } + chrome.test.succeed(); + }); + }, + + function unmappedKeyIdentifier() { + var e = { 'type': 'keydown', 'keyIdentifier': 'Again' }; + chrome.experimental.input.sendKeyboardEvent(e, function() { + if (!chrome.extension.lastError) { + chrome.test.fail(); + } + chrome.test.succeed(); + }); + }, +]); |