// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "third_party/blink/renderer/core/inspector/inspector_session_state.h" #include "build/build_config.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/blink/renderer/platform/wtf/hash_map.h" namespace blink { DevToolsSessionState; DevToolsSessionStatePtr; unique_ptr; ElementsAre; UnorderedElementsAre; // This session object is normally on the browser side; see // content/browser/devtools/devtools_session.{h,cc}, but here's a minimal // reimplementation to allow testing without sending data through a Mojo pipe. class FakeDevToolsSession { … }; // The InspectorAgentState abstraction is used to group the // fields of an agent together, and to connect it to the // InspectorSessionState instance, from which fields // may receive their initial state (if we reattach) // and to which fields send their updates. // In this test, we use a simple struct rather than // an agent class (like InspectorPageAgent) with a few fields. struct AgentWithSimpleFields { … }; TEST(InspectorSessionStateTest, SimpleFields) { … } // This agent test struct exercises maps from strings to strings // and strings to doubles. struct AgentWithMapFields { … }; TEST(InspectorSessionStateTest, MapFields) { … } TEST(InspectorSessionStateTest, MultipleAgents) { … } } // namespace blink