1 // Copyright 2017 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 "mojo/public/cpp/bindings/tests/bindings_test_base.h" 6 7 #include "mojo/public/cpp/bindings/connector.h" 8 9 namespace mojo { 10 11 BindingsTestBase::BindingsTestBase() { 12 SetupSerializationBehavior(GetParam()); 13 } 14 15 BindingsTestBase::~BindingsTestBase() = default; 16 17 // static 18 void BindingsTestBase::SetupSerializationBehavior( 19 BindingsTestSerializationMode mode) { 20 switch (mode) { 21 case BindingsTestSerializationMode::kSerializeBeforeSend: 22 Connector::OverrideDefaultSerializationBehaviorForTesting( 23 Connector::OutgoingSerializationMode::kEager, 24 Connector::IncomingSerializationMode::kDispatchAsIs); 25 break; 26 case BindingsTestSerializationMode::kSerializeBeforeDispatch: 27 Connector::OverrideDefaultSerializationBehaviorForTesting( 28 Connector::OutgoingSerializationMode::kLazy, 29 Connector::IncomingSerializationMode :: 30 kSerializeBeforeDispatchForTesting); 31 break; 32 case BindingsTestSerializationMode::kNeverSerialize: 33 Connector::OverrideDefaultSerializationBehaviorForTesting( 34 Connector::OutgoingSerializationMode::kLazy, 35 Connector::IncomingSerializationMode::kDispatchAsIs); 36 break; 37 } 38 } 39 40 } // namespace mojo 41