diff --git a/src/jes/core/lineendings.d b/src/jes/core/lineendings.d index d02938c..17cc4df 100644 --- a/src/jes/core/lineendings.d +++ b/src/jes/core/lineendings.d @@ -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"); } }