| 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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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.get(), &buf, &data); | 64 EXPECT_EQ(expected_warning, 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, &buf, &data, validate_params); | 77 EXPECT_EQ(expected_warning, |
| 78 SerializeArray_(&obj, &buf, &data, validate_params)); |
| 78 | 79 |
| 79 EXPECT_EQ(expected_warning, warning_observer_.last_warning()); | 80 EXPECT_EQ(expected_warning, warning_observer_.last_warning()); |
| 80 } | 81 } |
| 81 | 82 |
| 82 mojo::internal::SerializationWarningObserverForTesting warning_observer_; | 83 mojo::internal::SerializationWarningObserverForTesting warning_observer_; |
| 83 Environment env_; | 84 Environment env_; |
| 84 }; | 85 }; |
| 85 | 86 |
| 86 TEST_F(SerializationWarningTest, HandleInStruct) { | 87 TEST_F(SerializationWarningTest, HandleInStruct) { |
| 87 Struct2Ptr test_struct(Struct2::New()); | 88 Struct2Ptr test_struct(Struct2::New()); |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 220 TestArrayWarning(test_array.Pass(), | 221 TestArrayWarning(test_array.Pass(), |
| 221 mojo::internal::VALIDATION_ERROR_UNEXPECTED_ARRAY_HEADER, | 222 mojo::internal::VALIDATION_ERROR_UNEXPECTED_ARRAY_HEADER, |
| 222 &validate_params_2); | 223 &validate_params_2); |
| 223 } | 224 } |
| 224 | 225 |
| 225 } // namespace | 226 } // namespace |
| 226 } // namespace test | 227 } // namespace test |
| 227 } // namespace mojo | 228 } // namespace mojo |
| 228 | 229 |
| 229 #endif | 230 #endif |
| OLD | NEW |