| OLD | NEW | 
|    1 // Copyright 2014 The Crashpad Authors. All rights reserved. |    1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 
|    2 // |    2 // | 
|    3 // Licensed under the Apache License, Version 2.0 (the "License"); |    3 // Licensed under the Apache License, Version 2.0 (the "License"); | 
|    4 // you may not use this file except in compliance with the License. |    4 // you may not use this file except in compliance with the License. | 
|    5 // You may obtain a copy of the License at |    5 // You may obtain a copy of the License at | 
|    6 // |    6 // | 
|    7 //     http://www.apache.org/licenses/LICENSE-2.0 |    7 //     http://www.apache.org/licenses/LICENSE-2.0 | 
|    8 // |    8 // | 
|    9 // Unless required by applicable law or agreed to in writing, software |    9 // Unless required by applicable law or agreed to in writing, software | 
|   10 // distributed under the License is distributed on an "AS IS" BASIS, |   10 // distributed under the License is distributed on an "AS IS" BASIS, | 
|   11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |   11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|   12 // See the License for the specific language governing permissions and |   12 // See the License for the specific language governing permissions and | 
|   13 // limitations under the License. |   13 // limitations under the License. | 
|   14  |   14  | 
|   15 #include "minidump/minidump_location_descriptor_list_writer.h" |   15 #include "minidump/minidump_location_descriptor_list_writer.h" | 
|   16  |   16  | 
|   17 #include "base/strings/stringprintf.h" |   17 #include "base/strings/stringprintf.h" | 
|   18 #include "gtest/gtest.h" |   18 #include "gtest/gtest.h" | 
|   19 #include "minidump/test/minidump_location_descriptor_list_test_util.h" |   19 #include "minidump/test/minidump_location_descriptor_list_test_util.h" | 
|   20 #include "minidump/test/minidump_writable_test_util.h" |   20 #include "minidump/test/minidump_writable_test_util.h" | 
|   21 #include "util/file/string_file_writer.h" |   21 #include "util/file/string_file_writer.h" | 
|   22  |   22  | 
|   23 namespace crashpad { |   23 namespace crashpad { | 
|   24 namespace test { |   24 namespace test { | 
|   25 namespace { |   25 namespace { | 
|   26  |   26  | 
|   27 class TestMinidumpWritable final : public internal::MinidumpWritable { |  | 
|   28  public: |  | 
|   29   explicit TestMinidumpWritable(uint32_t value) |  | 
|   30       : MinidumpWritable(), |  | 
|   31         value_(value) { |  | 
|   32   } |  | 
|   33  |  | 
|   34   ~TestMinidumpWritable() override {} |  | 
|   35  |  | 
|   36  protected: |  | 
|   37   // MinidumpWritable: |  | 
|   38  |  | 
|   39   size_t SizeOfObject() override { return sizeof(value_); } |  | 
|   40  |  | 
|   41   bool WriteObject(FileWriterInterface* file_writer) override { |  | 
|   42     return file_writer->Write(&value_, sizeof(value_)); |  | 
|   43   } |  | 
|   44  |  | 
|   45  private: |  | 
|   46   uint32_t value_; |  | 
|   47  |  | 
|   48   DISALLOW_COPY_AND_ASSIGN(TestMinidumpWritable); |  | 
|   49 }; |  | 
|   50  |  | 
|   51 class TestMinidumpLocationDescriptorListWriter final |   27 class TestMinidumpLocationDescriptorListWriter final | 
|   52     : public MinidumpLocationDescriptorListWriter { |   28     : public MinidumpLocationDescriptorListWriter { | 
|   53  public: |   29  public: | 
|   54   TestMinidumpLocationDescriptorListWriter() |   30   TestMinidumpLocationDescriptorListWriter() | 
|   55       : MinidumpLocationDescriptorListWriter() { |   31       : MinidumpLocationDescriptorListWriter() { | 
|   56   } |   32   } | 
|   57  |   33  | 
|   58   ~TestMinidumpLocationDescriptorListWriter() override {} |   34   ~TestMinidumpLocationDescriptorListWriter() override {} | 
|   59  |   35  | 
|   60   void AddChild(uint32_t value) { |   36   void AddChild(uint32_t value) { | 
|   61     auto child = make_scoped_ptr(new TestMinidumpWritable(value)); |   37     auto child = make_scoped_ptr(new TestUInt32MinidumpWritable(value)); | 
|   62     MinidumpLocationDescriptorListWriter::AddChild(child.Pass()); |   38     MinidumpLocationDescriptorListWriter::AddChild(child.Pass()); | 
|   63   } |   39   } | 
|   64  |   40  | 
|   65  private: |   41  private: | 
|   66   DISALLOW_COPY_AND_ASSIGN(TestMinidumpLocationDescriptorListWriter); |   42   DISALLOW_COPY_AND_ASSIGN(TestMinidumpLocationDescriptorListWriter); | 
|   67 }; |   43 }; | 
|   68  |   44  | 
|   69 TEST(MinidumpLocationDescriptorListWriter, Empty) { |   45 TEST(MinidumpLocationDescriptorListWriter, Empty) { | 
|   70   TestMinidumpLocationDescriptorListWriter list_writer; |   46   TestMinidumpLocationDescriptorListWriter list_writer; | 
|   71  |   47  | 
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  124     const uint32_t* child = MinidumpWritableAtLocationDescriptor<uint32_t>( |  100     const uint32_t* child = MinidumpWritableAtLocationDescriptor<uint32_t>( | 
|  125         file_writer.string(), list->children[index]); |  101         file_writer.string(), list->children[index]); | 
|  126     ASSERT_TRUE(child); |  102     ASSERT_TRUE(child); | 
|  127     EXPECT_EQ(kValues[index], *child); |  103     EXPECT_EQ(kValues[index], *child); | 
|  128   } |  104   } | 
|  129 } |  105 } | 
|  130  |  106  | 
|  131 }  // namespace |  107 }  // namespace | 
|  132 }  // namespace test |  108 }  // namespace test | 
|  133 }  // namespace crashpad |  109 }  // namespace crashpad | 
| OLD | NEW |