DevTools: consistently use camel case for URL parameter names
[chromium-blink-merge.git] / base / message_pump_libevent_unittest.cc
blob7c6f3977f93af0d15b8e5837daae3252fa4ba1f3
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/message_pump_libevent.h"
7 #include <unistd.h>
9 #include "base/message_loop.h"
10 #include "base/threading/thread.h"
11 #include "testing/gtest/include/gtest/gtest.h"
13 namespace {
15 class MessagePumpLibeventTest : public testing::Test {
16 public:
17 MessagePumpLibeventTest()
18 : ui_loop_(MessageLoop::TYPE_UI),
19 io_thread_("MessagePumpLibeventTestIOThread") {}
20 virtual ~MessagePumpLibeventTest() {}
22 virtual void SetUp() {
23 base::Thread::Options options(MessageLoop::TYPE_IO, 0);
24 ASSERT_TRUE(io_thread_.StartWithOptions(options));
25 ASSERT_EQ(MessageLoop::TYPE_IO, io_thread_.message_loop()->type());
28 MessageLoop* ui_loop() { return &ui_loop_; }
29 MessageLoopForIO* io_loop() const {
30 return static_cast<MessageLoopForIO*>(io_thread_.message_loop());
33 private:
34 MessageLoop ui_loop_;
35 base::Thread io_thread_;
36 DISALLOW_COPY_AND_ASSIGN(MessagePumpLibeventTest);
39 // Concrete implementation of base::MessagePumpLibevent::Watcher that does
40 // nothing useful.
41 class StupidWatcher : public base::MessagePumpLibevent::Watcher {
42 public:
43 virtual ~StupidWatcher() {}
45 // base:MessagePumpLibevent::Watcher interface
46 virtual void OnFileCanReadWithoutBlocking(int fd) {}
47 virtual void OnFileCanWriteWithoutBlocking(int fd) {}
50 } // namespace
52 #if GTEST_HAS_DEATH_TEST
54 // Test to make sure that we catch calling WatchFileDescriptor off of the
55 // wrong thread.
56 TEST_F(MessagePumpLibeventTest, TestWatchingFromBadThread) {
57 base::MessagePumpLibevent::FileDescriptorWatcher watcher;
58 StupidWatcher delegate;
60 ASSERT_DEBUG_DEATH(io_loop()->WatchFileDescriptor(
61 STDOUT_FILENO, false, MessageLoopForIO::WATCH_READ, &watcher, &delegate),
62 "Check failed: "
63 "watch_file_descriptor_caller_checker_.CalledOnValidThread()");
66 #endif // GTEST_HAS_DEATH_TEST