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

Unified Diff: chrome/browser/extensions/api/serial/serial_apitest.cc

Issue 369893008: Move the serial API to extensions/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add missing dependency from usb_service to chromeos Created 6 years, 5 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/extensions/api/serial/serial_apitest.cc
diff --git a/chrome/browser/extensions/api/serial/serial_apitest.cc b/chrome/browser/extensions/api/serial/serial_apitest.cc
deleted file mode 100644
index 5734097620e951b13c54c8fd7c55b7b74021c575..0000000000000000000000000000000000000000
--- a/chrome/browser/extensions/api/serial/serial_apitest.cc
+++ /dev/null
@@ -1,197 +0,0 @@
-// Copyright 2012 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.
-
-#include <deque>
-#include <string>
-#include <vector>
-
-#include "base/memory/scoped_ptr.h"
-#include "chrome/browser/extensions/api/serial/serial_api.h"
-#include "chrome/browser/extensions/api/serial/serial_connection.h"
-#include "chrome/browser/extensions/extension_apitest.h"
-#include "chrome/browser/extensions/extension_function_test_utils.h"
-#include "chrome/browser/extensions/extension_test_message_listener.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/common/extensions/api/serial.h"
-#include "content/public/browser/browser_thread.h"
-#include "extensions/browser/extension_function.h"
-#include "testing/gmock/include/gmock/gmock.h"
-
-using testing::_;
-using testing::Return;
-
-using content::BrowserThread;
-
-namespace {
-
-class SerialApiTest : public ExtensionApiTest {
- public:
- SerialApiTest() {}
-};
-
-} // namespace
-
-namespace extensions {
-
-class FakeSerialGetDevicesFunction : public AsyncExtensionFunction {
- public:
- virtual bool RunAsync() OVERRIDE {
- base::ListValue* devices = new base::ListValue();
- base::DictionaryValue* device0 = new base::DictionaryValue();
- device0->SetString("path", "/dev/fakeserial");
- base::DictionaryValue* device1 = new base::DictionaryValue();
- device1->SetString("path", "\\\\COM800\\");
- devices->Append(device0);
- devices->Append(device1);
- SetResult(devices);
- SendResponse(true);
- return true;
- }
- protected:
- virtual ~FakeSerialGetDevicesFunction() {}
-};
-
-class FakeEchoSerialIoHandler : public device::SerialIoHandler {
- public:
- explicit FakeEchoSerialIoHandler() : opened_(false) {}
-
- virtual void Open(const std::string& port,
- const OpenCompleteCallback& callback) OVERRIDE {
- DCHECK(!opened_);
- opened_ = true;
- callback.Run(true);
- }
-
- virtual bool ConfigurePort(
- const device::serial::ConnectionOptions& options) OVERRIDE {
- return true;
- }
-
- virtual void ReadImpl() OVERRIDE {}
-
- virtual void CancelReadImpl() OVERRIDE {
- QueueReadCompleted(0, read_cancel_reason());
- }
-
- virtual void WriteImpl() OVERRIDE {
- DCHECK(pending_read_buffer());
- DCHECK_LE(pending_write_buffer_len(), pending_read_buffer_len());
- memcpy(pending_read_buffer()->data(),
- pending_write_buffer()->data(),
- pending_write_buffer_len());
- QueueReadCompleted(pending_write_buffer_len(),
- device::serial::RECEIVE_ERROR_NONE);
- QueueWriteCompleted(pending_write_buffer_len(),
- device::serial::SEND_ERROR_NONE);
- }
-
- virtual void CancelWriteImpl() OVERRIDE {
- QueueWriteCompleted(0, write_cancel_reason());
- }
-
- virtual device::serial::DeviceControlSignalsPtr GetControlSignals()
- const OVERRIDE {
- device::serial::DeviceControlSignalsPtr signals(
- device::serial::DeviceControlSignals::New());
- signals->dcd = true;
- signals->cts = true;
- signals->ri = true;
- signals->dsr = true;
- return signals.Pass();
- }
-
- virtual device::serial::ConnectionInfoPtr GetPortInfo() const OVERRIDE {
- device::serial::ConnectionInfoPtr info(
- device::serial::ConnectionInfo::New());
- info->bitrate = 9600;
- info->data_bits = device::serial::DATA_BITS_EIGHT;
- info->parity_bit = device::serial::PARITY_BIT_NO;
- info->stop_bits = device::serial::STOP_BITS_ONE;
- info->cts_flow_control = false;
- return info.Pass();
- }
-
- virtual bool Flush() const OVERRIDE { return true; }
-
- MOCK_METHOD1(SetControlSignals,
- bool(const device::serial::HostControlSignals&));
-
- protected:
- virtual ~FakeEchoSerialIoHandler() {}
-
- private:
- bool opened_;
-
- DISALLOW_COPY_AND_ASSIGN(FakeEchoSerialIoHandler);
-};
-
-class FakeSerialConnectFunction : public api::SerialConnectFunction {
- protected:
- virtual SerialConnection* CreateSerialConnection(
- const std::string& port,
- const std::string& owner_extension_id) const OVERRIDE {
- scoped_refptr<FakeEchoSerialIoHandler> io_handler =
- new FakeEchoSerialIoHandler;
- EXPECT_CALL(*io_handler, SetControlSignals(_)).Times(1).WillOnce(
- Return(true));
- SerialConnection* serial_connection =
- new SerialConnection(port, owner_extension_id);
- serial_connection->SetIoHandlerForTest(io_handler);
- return serial_connection;
- }
-
- protected:
- virtual ~FakeSerialConnectFunction() {}
-};
-
-} // namespace extensions
-
-ExtensionFunction* FakeSerialGetDevicesFunctionFactory() {
- return new extensions::FakeSerialGetDevicesFunction();
-}
-
-ExtensionFunction* FakeSerialConnectFunctionFactory() {
- return new extensions::FakeSerialConnectFunction();
-}
-
-// Disable SIMULATE_SERIAL_PORTS only if all the following are true:
-//
-// 1. You have an Arduino or compatible board attached to your machine and
-// properly appearing as the first virtual serial port ("first" is very loosely
-// defined as whichever port shows up in serial.getPorts). We've tested only
-// the Atmega32u4 Breakout Board and Arduino Leonardo; note that both these
-// boards are based on the Atmel ATmega32u4, rather than the more common
-// Arduino '328p with either FTDI or '8/16u2 USB interfaces. TODO: test more
-// widely.
-//
-// 2. Your user has permission to read/write the port. For example, this might
-// mean that your user is in the "tty" or "uucp" group on Ubuntu flavors of
-// Linux, or else that the port's path (e.g., /dev/ttyACM0) has global
-// read/write permissions.
-//
-// 3. You have uploaded a program to the board that does a byte-for-byte echo
-// on the virtual serial port at 57600 bps. An example is at
-// chrome/test/data/extensions/api_test/serial/api/serial_arduino_test.ino.
-//
-#define SIMULATE_SERIAL_PORTS (1)
-IN_PROC_BROWSER_TEST_F(SerialApiTest, SerialFakeHardware) {
- ResultCatcher catcher;
- catcher.RestrictToProfile(browser()->profile());
-
-#if SIMULATE_SERIAL_PORTS
- ASSERT_TRUE(extensions::ExtensionFunctionDispatcher::OverrideFunction(
- "serial.getDevices", FakeSerialGetDevicesFunctionFactory));
- ASSERT_TRUE(extensions::ExtensionFunctionDispatcher::OverrideFunction(
- "serial.connect", FakeSerialConnectFunctionFactory));
-#endif
-
- ASSERT_TRUE(RunExtensionTest("serial/api")) << message_;
-}
-
-IN_PROC_BROWSER_TEST_F(SerialApiTest, SerialRealHardware) {
- ResultCatcher catcher;
- catcher.RestrictToProfile(browser()->profile());
-
- ASSERT_TRUE(RunExtensionTest("serial/real_hardware")) << message_;
-}
« no previous file with comments | « chrome/browser/extensions/api/serial/serial_api.cc ('k') | chrome/browser/extensions/api/serial/serial_connection.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698