diff options
Diffstat (limited to 'unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp')
| -rw-r--r-- | unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp | 71 | 
1 files changed, 51 insertions, 20 deletions
| diff --git a/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp b/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp index 442dea3c52f71..273809fcbd32d 100644 --- a/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp +++ b/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp @@ -1122,26 +1122,57 @@ TEST(DWARFDebugInfo, TestRelations) {    EXPECT_EQ(C1.getParent(), C);    EXPECT_EQ(C2.getParent(), C); -  // Make sure bidirectional iterator works as expected. -  auto Begin = A.begin(); -  auto End = A.end(); -  auto It = A.begin(); - -  EXPECT_EQ(It, Begin); -  EXPECT_EQ(*It, B); -  ++It; -  EXPECT_EQ(*It, C); -  ++It; -  EXPECT_EQ(*It, D); -  ++It; -  EXPECT_EQ(It, End); -  --It; -  EXPECT_EQ(*It, D); -  --It; -  EXPECT_EQ(*It, C); -  --It; -  EXPECT_EQ(*It, B); -  EXPECT_EQ(It, Begin); +  // Make sure iterators work as expected. +  EXPECT_THAT(std::vector<DWARFDie>(A.begin(), A.end()), +              testing::ElementsAre(B, C, D)); +  EXPECT_THAT(std::vector<DWARFDie>(A.rbegin(), A.rend()), +              testing::ElementsAre(D, C, B)); + +  // Make sure iterator is bidirectional. +  { +    auto Begin = A.begin(); +    auto End = A.end(); +    auto It = A.begin(); + +    EXPECT_EQ(It, Begin); +    EXPECT_EQ(*It, B); +    ++It; +    EXPECT_EQ(*It, C); +    ++It; +    EXPECT_EQ(*It, D); +    ++It; +    EXPECT_EQ(It, End); +    --It; +    EXPECT_EQ(*It, D); +    --It; +    EXPECT_EQ(*It, C); +    --It; +    EXPECT_EQ(*It, B); +    EXPECT_EQ(It, Begin); +  } + +  // Make sure reverse iterator is bidirectional. +  { +    auto Begin = A.rbegin(); +    auto End = A.rend(); +    auto It = A.rbegin(); + +    EXPECT_EQ(It, Begin); +    EXPECT_EQ(*It, D); +    ++It; +    EXPECT_EQ(*It, C); +    ++It; +    EXPECT_EQ(*It, B); +    ++It; +    EXPECT_EQ(It, End); +    --It; +    EXPECT_EQ(*It, B); +    --It; +    EXPECT_EQ(*It, C); +    --It; +    EXPECT_EQ(*It, D); +    EXPECT_EQ(It, Begin); +  }  }  TEST(DWARFDebugInfo, TestDWARFDie) { | 
