Turn math component into array

This commit is contained in:
Dolan Miu
2020-10-13 02:06:27 +01:00
parent e36e9e1cf4
commit 5be195fd91
39 changed files with 208 additions and 157 deletions

View File

@ -8,7 +8,7 @@ import { MathFunctionName } from "./math-function-name";
describe("MathFunctionName", () => {
describe("#constructor()", () => {
it("should create a MathFunctionName with correct root key", () => {
const mathFunctionName = new MathFunctionName(new MathRun("2"));
const mathFunctionName = new MathFunctionName([new MathRun("2")]);
const tree = new Formatter().format(mathFunctionName);
expect(tree).to.deep.equal({

View File

@ -3,9 +3,11 @@ import { XmlComponent } from "file/xml-components";
import { MathComponent } from "../math-component";
export class MathFunctionName extends XmlComponent {
constructor(child: MathComponent) {
constructor(children: MathComponent[]) {
super("m:fName");
this.root.push(child);
for (const child of children) {
this.root.push(child);
}
}
}

View File

@ -9,8 +9,8 @@ describe("MathFunction", () => {
describe("#constructor()", () => {
it("should create a MathFunction with correct root key", () => {
const mathFunction = new MathFunction({
name: new MathRun("sin"),
child: new MathRun("60"),
name: [new MathRun("sin")],
children: [new MathRun("60")],
});
const tree = new Formatter().format(mathFunction);

View File

@ -7,8 +7,8 @@ import { MathFunctionName } from "./math-function-name";
import { MathFunctionProperties } from "./math-function-properties";
export interface IMathFunctionOptions {
readonly child: MathComponent;
readonly name: MathComponent;
readonly children: MathComponent[];
readonly name: MathComponent[];
}
export class MathFunction extends XmlComponent {
@ -17,6 +17,6 @@ export class MathFunction extends XmlComponent {
this.root.push(new MathFunctionProperties());
this.root.push(new MathFunctionName(options.name));
this.root.push(new MathBase(options.child));
this.root.push(new MathBase(options.children));
}
}