| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2013 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. | |
| 4 | |
| 5 #include <string> | |
| 6 | |
| 7 #include "base/process_util.h" | |
| 8 #include "content/common/partial_circular_buffer.h" | |
| 9 #include "content/renderer/media/webrtc_logging_handler_impl.h" | |
| 10 #include "testing/gtest/include/gtest/gtest.h" | |
| 11 | |
| 12 namespace content { | |
| 13 | |
| 14 TEST(WebRtcLoggingHandlerImplTest, Basic) { | |
| 15 const uint32 kTestLogSize = 1024; // 1 KB | |
| 16 const char kTestString[] = "abcdefghijklmnopqrstuvwxyz"; | |
| 17 | |
| 18 base::MessageLoop message_loop(base::MessageLoop::TYPE_IO); | |
| 19 | |
| 20 scoped_ptr<WebRtcLoggingHandlerImpl> logging_handler( | |
| 21 new WebRtcLoggingHandlerImpl(message_loop.message_loop_proxy())); | |
| 22 | |
| 23 base::SharedMemory shared_memory; | |
| 24 ASSERT_TRUE(shared_memory.CreateAndMapAnonymous(kTestLogSize)); | |
| 25 base::SharedMemoryHandle new_handle; | |
| 26 ASSERT_TRUE(shared_memory.ShareToProcess(base::GetCurrentProcessHandle(), | |
| 27 &new_handle)); | |
| 28 logging_handler->OnLogOpened(new_handle, kTestLogSize); | |
| 29 | |
| 30 logging_handler->LogMessage(kTestString); | |
| 31 logging_handler->LogMessage(kTestString); | |
| 32 | |
| 33 content::PartialCircularBuffer read_pcb( | |
| 34 reinterpret_cast<uint8*>(shared_memory.memory()), kTestLogSize); | |
| 35 | |
| 36 // Size is calculated as (sizeof(kTestString) - 1 for terminating null | |
| 37 // + 1 for eol added for each log message in LogMessage) * 2 + 1 for | |
| 38 // terminating null. | |
| 39 char read_buffer[sizeof(kTestString) * 2 + 1] = {0}; | |
| 40 | |
| 41 uint32 read = read_pcb.Read(read_buffer, sizeof(read_buffer)); | |
| 42 EXPECT_EQ(sizeof(read_buffer) - 1, read); | |
| 43 std::string ref_output = kTestString; | |
| 44 ref_output.append("\n"); | |
| 45 ref_output.append(kTestString); | |
| 46 ref_output.append("\n"); | |
| 47 EXPECT_STREQ(ref_output.c_str(), read_buffer); | |
| 48 } | |
| 49 | |
| 50 } // namespace content | |
| OLD | NEW |