OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Serialization warnings are only recorded in debug build. | 5 // Serialization warnings are only recorded in debug build. |
6 #ifndef NDEBUG | 6 #ifndef NDEBUG |
7 | 7 |
8 #include "mojo/public/cpp/bindings/array.h" | 8 #include "mojo/public/cpp/bindings/array.h" |
9 #include "mojo/public/cpp/bindings/lib/array_internal.h" | 9 #include "mojo/public/cpp/bindings/lib/array_internal.h" |
10 #include "mojo/public/cpp/bindings/lib/array_serialization.h" | 10 #include "mojo/public/cpp/bindings/lib/array_serialization.h" |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 void TestWarning(InlinedStructPtr<T> obj, | 52 void TestWarning(InlinedStructPtr<T> obj, |
53 mojo::internal::ValidationError expected_warning) { | 53 mojo::internal::ValidationError expected_warning) { |
54 TestStructWarningImpl<T>(obj.Pass(), expected_warning); | 54 TestStructWarningImpl<T>(obj.Pass(), expected_warning); |
55 } | 55 } |
56 | 56 |
57 template <typename T, typename TPtr> | 57 template <typename T, typename TPtr> |
58 void TestStructWarningImpl(TPtr obj, | 58 void TestStructWarningImpl(TPtr obj, |
59 mojo::internal::ValidationError expected_warning) { | 59 mojo::internal::ValidationError expected_warning) { |
60 warning_observer_.set_last_warning(mojo::internal::VALIDATION_ERROR_NONE); | 60 warning_observer_.set_last_warning(mojo::internal::VALIDATION_ERROR_NONE); |
61 | 61 |
62 mojo::internal::FixedBufferForTesting buf(GetSerializedSize_(obj)); | 62 mojo::internal::FixedBufferForTesting buf(GetSerializedSize_(*obj)); |
63 typename T::Data_* data; | 63 typename T::Data_* data; |
64 Serialize_(obj.Pass(), &buf, &data); | 64 Serialize_(obj.get(), &buf, &data); |
65 | 65 |
66 EXPECT_EQ(expected_warning, warning_observer_.last_warning()); | 66 EXPECT_EQ(expected_warning, warning_observer_.last_warning()); |
67 } | 67 } |
68 | 68 |
69 template <typename T> | 69 template <typename T> |
70 void TestArrayWarning(T obj, | 70 void TestArrayWarning(T obj, |
71 mojo::internal::ValidationError expected_warning, | 71 mojo::internal::ValidationError expected_warning, |
72 const ArrayValidateParams* validate_params) { | 72 const ArrayValidateParams* validate_params) { |
73 warning_observer_.set_last_warning(mojo::internal::VALIDATION_ERROR_NONE); | 73 warning_observer_.set_last_warning(mojo::internal::VALIDATION_ERROR_NONE); |
74 | 74 |
75 mojo::internal::FixedBufferForTesting buf(GetSerializedSize_(obj)); | 75 mojo::internal::FixedBufferForTesting buf(GetSerializedSize_(obj)); |
76 typename T::Data_* data; | 76 typename T::Data_* data; |
77 SerializeArray_(obj.Pass(), &buf, &data, validate_params); | 77 SerializeArray_(&obj, &buf, &data, validate_params); |
78 | 78 |
79 EXPECT_EQ(expected_warning, warning_observer_.last_warning()); | 79 EXPECT_EQ(expected_warning, warning_observer_.last_warning()); |
80 } | 80 } |
81 | 81 |
82 mojo::internal::SerializationWarningObserverForTesting warning_observer_; | 82 mojo::internal::SerializationWarningObserverForTesting warning_observer_; |
83 Environment env_; | 83 Environment env_; |
84 }; | 84 }; |
85 | 85 |
86 TEST_F(SerializationWarningTest, HandleInStruct) { | 86 TEST_F(SerializationWarningTest, HandleInStruct) { |
87 Struct2Ptr test_struct(Struct2::New()); | 87 Struct2Ptr test_struct(Struct2::New()); |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
220 TestArrayWarning(test_array.Pass(), | 220 TestArrayWarning(test_array.Pass(), |
221 mojo::internal::VALIDATION_ERROR_UNEXPECTED_ARRAY_HEADER, | 221 mojo::internal::VALIDATION_ERROR_UNEXPECTED_ARRAY_HEADER, |
222 &validate_params_2); | 222 &validate_params_2); |
223 } | 223 } |
224 | 224 |
225 } // namespace | 225 } // namespace |
226 } // namespace test | 226 } // namespace test |
227 } // namespace mojo | 227 } // namespace mojo |
228 | 228 |
229 #endif | 229 #endif |
OLD | NEW |