| #include "wasm/dwarf-ranges.h" |
| #include "gtest/gtest.h" |
| |
| using namespace wasm::Debug; |
| |
| TEST(DwarfRangesTest, Normalize) { |
| DwarfRanges ranges{{8, 10}, {2, 4}, {4, 6}, {3, 5}}; |
| |
| EXPECT_TRUE(ranges.normalize()); |
| EXPECT_EQ(ranges.get(), (std::vector<DwarfRange>{{2, 6}, {8, 10}})); |
| EXPECT_FALSE(ranges.normalize()); |
| } |
| |
| TEST(DwarfRangesTest, Add) { |
| DwarfRanges ranges{{2, 4}, {8, 10}}; |
| DwarfRanges added{{4, 8}, {12, 14}}; |
| |
| EXPECT_TRUE(ranges.add(added)); |
| EXPECT_EQ(ranges.get(), (std::vector<DwarfRange>{{2, 10}, {12, 14}})); |
| EXPECT_FALSE(ranges.add({{4, 8}})); |
| EXPECT_FALSE(ranges.add({})); |
| } |
| |
| TEST(DwarfRangesTest, Contains) { |
| DwarfRanges ranges{{0, 4}, {8, 12}}; |
| |
| EXPECT_TRUE(ranges.contains({{1, 3}, {9, 12}})); |
| EXPECT_TRUE(ranges.contains({})); |
| EXPECT_FALSE(ranges.contains({{3, 9}})); |
| EXPECT_FALSE(ranges.contains({{12, 13}})); |
| } |
| |
| TEST(DwarfRangesTest, Overlaps) { |
| DwarfRanges ranges{{0, 4}, {8, 12}}; |
| |
| EXPECT_TRUE(ranges.overlaps({{3, 5}})); |
| EXPECT_TRUE(ranges.overlaps({{10, 14}})); |
| EXPECT_FALSE(ranges.overlaps({{4, 8}})); |
| EXPECT_FALSE(ranges.overlaps({{12, 14}})); |
| } |