Add LineEndings.text()

This commit is contained in:
Josh Holtrop 2021-03-11 15:02:34 -05:00
parent 9f75d6c763
commit f13f8bd524

View File

@ -16,6 +16,18 @@ struct LineEndings
this.type = type;
}
@property string text() const
{
if (type == LF)
{
return "\n";
}
else
{
return "\r\n";
}
}
static LineEndings detect_line_endings(const ubyte * data, size_t n)
{
size_t lf_count = 0u;
@ -49,13 +61,16 @@ struct LineEndings
dat = cast(const(ubyte)[])std.file.read("test/files/line_endings/crlf_format.txt");
le = LineEndings.detect_line_endings(dat.ptr, dat.length);
assert(le == LineEndings.CRLF);
assert(le.text == "\r\n");
dat = cast(const(ubyte)[])std.file.read("test/files/empty.txt");
le = LineEndings.detect_line_endings(dat.ptr, 0u);
assert(le == LineEndings.LF);
assert(le.text == "\n");
dat = cast(const(ubyte)[])std.file.read("test/files/line_endings/lf_format.txt");
le = LineEndings.detect_line_endings(dat.ptr, dat.length);
assert(le == LineEndings.LF);
assert(le.text == "\n");
}
}