Comparing version 0.0.4 to 0.0.5
@@ -162,3 +162,4 @@ "use strict"; | ||
if (escapeToken.options.length === 1 && escapeToken.options[0] === 2) { | ||
ret.push(new Line("", "", false, true)); | ||
ret.push(new Line("", "", newLine, !newLine)); | ||
newLine = false; | ||
} | ||
@@ -165,0 +166,0 @@ break; |
{ | ||
"name": "sgr-parser", | ||
"version": "0.0.4", | ||
"version": "0.0.5", | ||
"description": "Parse escape sequence for console. (Especially for SGR)", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -116,2 +116,41 @@ var assert = require("chai").assert; | ||
}); | ||
}); | ||
describe("Edge case", () => { | ||
it("must handle LF only", () => { | ||
const input1 = "\n"; | ||
const input2 = "hoge"; | ||
const parser = new SGRParser(true, true); | ||
const lines = parser.parse(input1).concat(parser.parse(input2)); | ||
assert.equal(lines.length, 2); | ||
assert.equal(lines[0].str, ""); | ||
assert.equal(lines[0].classname, ""); | ||
assert.equal(lines[0].newLine, false); | ||
assert.equal(lines[0].removeLine, false); | ||
assert.equal(lines[1].str, "hoge"); | ||
assert.equal(lines[1].classname, ""); | ||
assert.equal(lines[1].newLine, true); | ||
assert.equal(lines[1].removeLine, false); | ||
}); | ||
it("must handle LF only", () => { | ||
const input1 = "\n"; | ||
const input2 = "\rhoge"; | ||
const parser = new SGRParser(true, true); | ||
const lines = parser.parse(input1).concat(parser.parse(input2)); | ||
assert.equal(lines.length, 3); | ||
assert.equal(lines[0].str, ""); | ||
assert.equal(lines[0].classname, ""); | ||
assert.equal(lines[0].newLine, false); | ||
assert.equal(lines[0].removeLine, false); | ||
assert.equal(lines[1].str, ""); | ||
assert.equal(lines[1].classname, ""); | ||
assert.equal(lines[1].newLine, true); | ||
assert.equal(lines[1].removeLine, false); | ||
assert.equal(lines[2].str, "hoge"); | ||
assert.equal(lines[2].classname, ""); | ||
assert.equal(lines[2].newLine, false); | ||
assert.equal(lines[2].removeLine, false); | ||
}); | ||
}); |
20782
559