From e85cb97ccaf1b71908d84bd499b1a491bace5d16 Mon Sep 17 00:00:00 2001 From: Ron Kok Date: Tue, 1 Jan 2019 09:13:54 -0800 Subject: [PATCH] Fix \genfrac w/empty delimiter arguments (#1816) --- src/functions/genfrac.js | 12 ++++-------- test/katex-spec.js | 2 ++ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/functions/genfrac.js b/src/functions/genfrac.js index 05142624..26078d81 100644 --- a/src/functions/genfrac.js +++ b/src/functions/genfrac.js @@ -363,21 +363,17 @@ defineFunction({ const denom = args[5]; // Look into the parse nodes to get the desired delimiters. - let leftNode = checkNodeType(args[0], "ordgroup"); + let leftNode = checkNodeType(args[0], "atom"); if (leftNode) { - leftNode = assertAtomFamily(leftNode.body[0], "open"); - } else { leftNode = assertAtomFamily(args[0], "open"); } - const leftDelim = delimFromValue(leftNode.text); + const leftDelim = leftNode ? delimFromValue(leftNode.text) : null; - let rightNode = checkNodeType(args[1], "ordgroup"); + let rightNode = checkNodeType(args[1], "atom"); if (rightNode) { - rightNode = assertAtomFamily(rightNode.body[0], "close"); - } else { rightNode = assertAtomFamily(args[1], "close"); } - const rightDelim = delimFromValue(rightNode.text); + const rightDelim = rightNode ? delimFromValue(rightNode.text) : null; const barNode = assertNodeType(args[2], "size"); let hasBarLine; diff --git a/test/katex-spec.js b/test/katex-spec.js index 1f49cff2..00ea68e9 100644 --- a/test/katex-spec.js +++ b/test/katex-spec.js @@ -646,6 +646,8 @@ describe("A genfrac builder", function() { expect("\\cfrac{x}{y}").toBuild(); expect("\\genfrac ( ] {0.06em}{0}{a}{b+c}").toBuild(); expect("\\genfrac ( ] {0.8pt}{}{a}{b+c}").toBuild(); + expect("\\genfrac {} {} {0.8pt}{}{a}{b+c}").toBuild(); + expect("\\genfrac [ {} {0.8pt}{}{a}{b+c}").toBuild(); }); });