blob: 0451b13a08247c1fcfed8a41fff6fcdba4eaaec3 [file]
#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}}));
}