More math components
This commit is contained in:
2
src/file/paragraph/math/script/super-script/index.ts
Normal file
2
src/file/paragraph/math/script/super-script/index.ts
Normal file
@ -0,0 +1,2 @@
|
||||
export * from "./math-super-script-function";
|
||||
export * from "./math-super-script-function-properties";
|
@ -0,0 +1,17 @@
|
||||
import { expect } from "chai";
|
||||
|
||||
import { Formatter } from "export/formatter";
|
||||
import { MathSuperScriptProperties } from "./math-super-script-function-properties";
|
||||
|
||||
describe("MathSuperScriptProperties", () => {
|
||||
describe("#constructor()", () => {
|
||||
it("should create a MathSuperScriptProperties with correct root key", () => {
|
||||
const mathSuperScriptProperties = new MathSuperScriptProperties();
|
||||
|
||||
const tree = new Formatter().format(mathSuperScriptProperties);
|
||||
expect(tree).to.deep.equal({
|
||||
"m:sSupPr": {},
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
@ -0,0 +1,8 @@
|
||||
// http://www.datypic.com/sc/ooxml/e-m_sSupPr-1.html
|
||||
import { XmlComponent } from "file/xml-components";
|
||||
|
||||
export class MathSuperScriptProperties extends XmlComponent {
|
||||
constructor() {
|
||||
super("m:sSupPr");
|
||||
}
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
import { expect } from "chai";
|
||||
|
||||
import { Formatter } from "export/formatter";
|
||||
|
||||
import { MathRun } from "../../math-run";
|
||||
import { MathSuperScript } from "./math-super-script-function";
|
||||
|
||||
describe("MathSuperScript", () => {
|
||||
describe("#constructor()", () => {
|
||||
it("should create a MathSuperScript with correct root key", () => {
|
||||
const mathSuperScript = new MathSuperScript({
|
||||
child: new MathRun("e"),
|
||||
superScript: new MathRun("2"),
|
||||
});
|
||||
|
||||
const tree = new Formatter().format(mathSuperScript);
|
||||
expect(tree).to.deep.equal({
|
||||
"m:sSup": [
|
||||
{
|
||||
"m:sSupPr": {},
|
||||
},
|
||||
{
|
||||
"m:e": [
|
||||
{
|
||||
"m:r": [
|
||||
{
|
||||
"m:t": ["e"],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"m:sup": [
|
||||
{
|
||||
"m:r": [
|
||||
{
|
||||
"m:t": ["2"],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
@ -0,0 +1,21 @@
|
||||
// http://www.datypic.com/sc/ooxml/e-m_sSup-1.html
|
||||
import { XmlComponent } from "file/xml-components";
|
||||
|
||||
import { MathComponent } from "../../math-component";
|
||||
import { MathBase, MathSuperScriptElement } from "../../n-ary";
|
||||
import { MathSuperScriptProperties } from "./math-super-script-function-properties";
|
||||
|
||||
export interface IMathSuperScriptOptions {
|
||||
readonly child: MathComponent;
|
||||
readonly superScript: MathComponent;
|
||||
}
|
||||
|
||||
export class MathSuperScript extends XmlComponent {
|
||||
constructor(options: IMathSuperScriptOptions) {
|
||||
super("m:sSup");
|
||||
|
||||
this.root.push(new MathSuperScriptProperties());
|
||||
this.root.push(new MathBase(options.child));
|
||||
this.root.push(new MathSuperScriptElement(options.superScript));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user