In editing unit test code, we often need to examine whether a Range/EphemeralRange matches its expectation. Currently, the only way to serialize it is by converting it into a SelectionTemplate, like:
EphemeralRange actual_range = ...;
EXPECT_EQ(
"<div>bla ^bla| bla</div>",
GetSelectionTextFromBody(
SelectionInDOMTree::Builder()
.SetBaseAndExtent(actual_range)
.Build()));
It's easier if we can do something like:
EphemeralRange actual_range = ...;
EXPECT_EQ(
"<div>bla ^bla| bla</div>",
GetRangeTextFromBody(actual_range));