Skip to content

Commit c4f7fff

Browse files
committed
test(all): use all shape types combined on one slide
1 parent b8353ac commit c4f7fff

File tree

4 files changed

+79
-1
lines changed

4 files changed

+79
-1
lines changed

__tests__/add-shape-types.test.ts

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
import Automizer, { XmlElement, XmlHelper } from '../src/index';
2+
import { ModifyShapeHelper } from '../src';
3+
4+
test('add all implemented shape types to an empty slide', async () => {
5+
const automizer = new Automizer({
6+
templateDir: `${__dirname}/pptx-templates`,
7+
outputDir: `${__dirname}/pptx-output`,
8+
});
9+
10+
const pres = automizer
11+
.loadRoot(`RootTemplate.pptx`)
12+
.load(`EmptySlide.pptx`, 'empty')
13+
.load(`ShapeTypesCollection.pptx`, 'collection');
14+
15+
pres.addSlide('empty', 1, async (slide) => {
16+
slide.addElement(
17+
'collection',
18+
1,
19+
'VecorShape (Box with arrow)',
20+
(element: XmlElement) => {
21+
const type = ModifyShapeHelper.getElementVisualType(element);
22+
expect(type).toBe('vectorShape');
23+
},
24+
);
25+
26+
slide.addElement('collection', 1, 'Line (Arrow)', (element: XmlElement) => {
27+
const type = ModifyShapeHelper.getElementVisualType(element);
28+
expect(type).toBe('vectorLine');
29+
});
30+
31+
slide.addElement('collection', 1, 'Table', (element: XmlElement) => {
32+
const type = ModifyShapeHelper.getElementVisualType(element);
33+
expect(type).toBe('table');
34+
});
35+
36+
slide.addElement('collection', 1, 'Textfield', (element: XmlElement) => {
37+
// XmlHelper.dump(element)
38+
const type = ModifyShapeHelper.getElementVisualType(element);
39+
expect(type).toBe('textField');
40+
});
41+
42+
slide.addElement(
43+
'collection',
44+
1,
45+
'SmartArt (Diagram)',
46+
(element: XmlElement) => {
47+
const type = ModifyShapeHelper.getElementVisualType(element);
48+
expect(type).toBe('smartArt');
49+
},
50+
);
51+
52+
slide.addElement('collection', 1, 'Image', (element: XmlElement) => {
53+
const type = ModifyShapeHelper.getElementVisualType(element);
54+
expect(type).toBe('picture');
55+
});
56+
57+
slide.addElement('collection', 1, 'Chart', (element: XmlElement) => {
58+
const type = ModifyShapeHelper.getElementVisualType(element);
59+
expect(type).toBe('chart');
60+
});
61+
62+
slide.addElement('collection', 1, 'Pictogram', (element: XmlElement) => {
63+
const type = ModifyShapeHelper.getElementVisualType(element);
64+
expect(type).toBe('svgImage');
65+
});
66+
67+
slide.addElement('collection', 1, 'SVG Image', (element: XmlElement) => {
68+
// XmlHelper.dump(element);
69+
const type = ModifyShapeHelper.getElementVisualType(element);
70+
expect(type).toBe('svgImage');
71+
});
72+
});
73+
74+
await pres.write(`add-shape-types.test.pptx`);
75+
});

__tests__/add-slide-diagrams.test.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,11 @@ test('create presentation and append diagrams', async () => {
1717
pres.addSlide('empty', 1, (slide) => {
1818
slide.addElement('diagrams', 1, 'MatrixDiagram')
1919
});
20+
pres.addSlide('empty', 1, (slide) => {
21+
slide.addElement('diagrams', 3, 'SmartArt (Diagram)')
22+
});
2023

2124
const result = await pres.write(`add-slide-diagrams.test.pptx`);
2225

23-
expect(result.slides).toBe(4);
26+
expect(result.slides).toBe(5);
2427
});
90.4 KB
Binary file not shown.
62.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)