commit 944b55a6b00b46708bbb16983f234fc08b5bd42f
parent f58f582aa586dbfc350c5cbc4ee7b26dd11be5f0
Author: Ben Alpert <spicyjalapeno@gmail.com>
Date: Sat, 17 Aug 2013 16:07:22 -0700
Make supsub work with empty nucleus
Auditors: emily
Diffstat:
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/buildTree.js b/buildTree.js
@@ -52,7 +52,10 @@ var groupToType = {
};
var getTypeOfGroup = function(group) {
- if (group.type === "supsub") {
+ if (group == null) {
+ // Like when typesetting $^3$
+ return groupToType.ord;
+ } else if (group.type === "supsub") {
return getTypeOfGroup(group.value.base);
} else if (group.type === "llap" || group.type === "rlap") {
return getTypeOfGroup(group.value);
diff --git a/test/katex-tests.js b/test/katex-tests.js
@@ -1,3 +1,4 @@
+var buildTree = require("../buildTree");
var parseTree = require("../parseTree");
describe("A parser", function() {
@@ -286,6 +287,26 @@ describe("A subscript and superscript parser", function() {
});
});
+describe("A subscript and superscript tree-builder", function() {
+ it("should not fail when there is no nucleus", function() {
+ expect(function() {
+ buildTree(parseTree("^3"));
+ }).not.toThrow();
+
+ expect(function() {
+ buildTree(parseTree("_2"));
+ }).not.toThrow();
+
+ expect(function() {
+ buildTree(parseTree("^3_2"));
+ }).not.toThrow();
+
+ expect(function() {
+ buildTree(parseTree("_2^3"));
+ }).not.toThrow();
+ });
+});
+
describe("A group parser", function() {
it("should not fail", function() {
expect(function() {