Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Unified Diff: chrome/browser/chromeos/extensions/virtual_keyboard_browsertest.h

Issue 247883002: Adds browser test framework for the IME keyboard, and some basic typing tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Run tests on full layout. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/extensions/virtual_keyboard_browsertest.h
diff --git a/chrome/browser/chromeos/extensions/virtual_keyboard_browsertest.h b/chrome/browser/chromeos/extensions/virtual_keyboard_browsertest.h
new file mode 100644
index 0000000000000000000000000000000000000000..aaf2ad3adc276f7ce1c1adc5a1b61b2e42e89e28
--- /dev/null
+++ b/chrome/browser/chromeos/extensions/virtual_keyboard_browsertest.h
@@ -0,0 +1,85 @@
+// Copyright 2014 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.
+
+#ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_VIRTUAL_KEYBOARD_BROWSERTEST_H_
+#define CHROME_BROWSER_CHROMEOS_EXTENSIONS_VIRTUAL_KEYBOARD_BROWSERTEST_H_
+
+#include "base/files/file_path.h"
+#include "chrome/test/base/in_process_browser_test.h"
+#include "url/gurl.h"
+
+namespace base {
+class CommandLine;
+class FilePath;
+}
+
+namespace content {
+class RenderViewHost;
+class WebContents;
+}
+
+class VirtualKeyboardBrowserTestHelper {
Jeffrey Yasskin 2014/05/02 22:09:37 "Helper" isn't a great suffix, especially for a cl
rsadam 2014/05/05 17:44:42 Done.
+ public:
+ VirtualKeyboardBrowserTestHelper();
+
+ virtual ~VirtualKeyboardBrowserTestHelper();
Jeffrey Yasskin 2014/05/02 22:09:37 Doesn't need to be virtual anymore.
rsadam 2014/05/05 17:44:42 Done.
+
+ void set_base_framework(std::string base_framework) {
+ base_framework_ = base_framework;
+ }
+
+ void set_test_dir(std::string test_dir) { test_dir_ = test_dir; }
+
+ void set_url(std::string url) { url_ = url; }
+
+ void set_extension_id(std::string id) { extension_id_ = id; }
+
+ const std::string base_framework() const { return base_framework_; }
+
+ const std::string test_dir() const { return test_dir_; }
+
+ const std::string url() const { return url_; }
+
+ const std::string extension_id() const { return extension_id_; }
+
+ private:
+ // The filename of the base framework. This file should be in |test_dir_|.
+ std::string base_framework_;
Jeffrey Yasskin 2014/05/02 22:09:37 It looks like this could just be a struct: struct
rsadam 2014/05/05 17:44:42 Done.
+
+ // The virtual keyboard's extension id.
+ std::string extension_id_;
+
+ // Path to the test directory.
+ std::string test_dir_;
+
+ // URL of the keyboard extension.
+ std::string url_;
+};
+
+class VirtualKeyboardBrowserTest : public InProcessBrowserTest {
+ public:
+ // Injects javascript in |file| into the keyboard page and runs the methods in
+ // |file| whose names match the expression "test*".
+ void RunTest(const base::FilePath& file,
+ const VirtualKeyboardBrowserTestHelper& helper);
+
+ void ShowVirtualKeyboard();
+
+ // Returns the render view host that the keyboard with extension |id| is in.
+ content::RenderViewHost* GetKeyboardRenderViewHost(std::string id);
+
+ // InProcessBrowserTest.
+ // Ensure that the virtual keyboard is enabled.
+ virtual void SetUpCommandLine(base::CommandLine* command_line) OVERRIDE;
+
+ protected:
+ // Accumulates the javascript and injects it when the test starts. The test
+ // |file| is in directory |dir| relative to the root testing directory.
+ void InjectJavascript(const base::FilePath& dir, const base::FilePath& file);
+
+ private:
+ std::string utf8_content_;
+};
+
+#endif // CHROME_BROWSER_CHROMEOS_EXTENSIONS_VIRTUAL_KEYBOARD_BROWSERTEST_H_

Powered by Google App Engine
This is Rietveld 408576698