* Fix #946

Issue #946 identified a case in which `array.js` ate the final row of a well-written `aligned` environment.

This PR modifies code from PR #479 to fix this problem and to also continue to eat a trailing `\\` submitted to any environment.

* Fix bug and add tests

* Add final newline to test.

Doh!
This commit is contained in:
Ron Kok
2017-11-11 16:12:13 -08:00
committed by Kevin Barabash
parent 991bfd5669
commit 3e344535ff
2 changed files with 12 additions and 3 deletions

View File

@@ -1251,6 +1251,11 @@ describe("A begin/end parser", function() {
it("should allow \\cr as a line terminator", function() {
expect("\\begin{matrix}a&b\\cr c&d\\end{matrix}").toParse();
});
it("should eat a final newline", function() {
const m3 = getParsed("\\begin{matrix}a&b\\\\ c&d \\\\ \\end{matrix}")[0];
expect(m3.value.body.length).toBe(2);
});
});
describe("A sqrt parser", function() {
@@ -2409,6 +2414,10 @@ describe("An aligned environment", function() {
.toNotParse();
});
it("should not eat the last row when its first cell is empty", function() {
const ae = getParsed("\\begin{aligned}&E_1 & (1)\\\\&E_2 & (2)\\\\E_3 & (3)\\end{aligned}")[0];
expect(ae.value.body.length).toBe(3);
});
});
describe("A parser that does not throw on unsupported commands", function() {