aspose_slides_cloud 22.8.0 → 22.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +13 -13
  3. data/README.md +17 -1
  4. data/TestData/calibri.ttf +0 -0
  5. data/TestData/test.pptx +0 -0
  6. data/docker-entrypoint.sh +1 -0
  7. data/lib/aspose_slides_cloud/api/slides_api.rb +5413 -8668
  8. data/lib/aspose_slides_cloud/api_client.rb +2 -2
  9. data/lib/aspose_slides_cloud/models/bubble_chart_data_point.rb +5 -1
  10. data/lib/aspose_slides_cloud/models/data_point.rb +42 -2
  11. data/lib/aspose_slides_cloud/models/effect.rb +22 -2
  12. data/lib/aspose_slides_cloud/models/export_options.rb +13 -1
  13. data/lib/aspose_slides_cloud/models/font_subst_rule.rb +231 -0
  14. data/lib/aspose_slides_cloud/models/gif_export_options.rb +2 -1
  15. data/lib/aspose_slides_cloud/models/html5_export_options.rb +2 -1
  16. data/lib/aspose_slides_cloud/models/html_export_options.rb +2 -1
  17. data/lib/aspose_slides_cloud/models/image_export_options.rb +2 -1
  18. data/lib/aspose_slides_cloud/models/image_export_options_base.rb +2 -1
  19. data/lib/aspose_slides_cloud/models/one_value_chart_data_point.rb +5 -1
  20. data/lib/aspose_slides_cloud/models/pdf_export_options.rb +2 -1
  21. data/lib/aspose_slides_cloud/models/pptx_export_options.rb +2 -1
  22. data/lib/aspose_slides_cloud/models/scatter_chart_data_point.rb +5 -1
  23. data/lib/aspose_slides_cloud/models/slide_show_properties.rb +325 -0
  24. data/lib/aspose_slides_cloud/models/svg_export_options.rb +2 -1
  25. data/lib/aspose_slides_cloud/models/swf_export_options.rb +2 -1
  26. data/lib/aspose_slides_cloud/models/tiff_export_options.rb +2 -1
  27. data/lib/aspose_slides_cloud/models/video_export_options.rb +2 -1
  28. data/lib/aspose_slides_cloud/models/xaml_export_options.rb +2 -1
  29. data/lib/aspose_slides_cloud/models/xps_export_options.rb +2 -1
  30. data/lib/aspose_slides_cloud/type_registry.rb +3 -0
  31. data/lib/aspose_slides_cloud/version.rb +1 -1
  32. data/lib/aspose_slides_cloud.rb +2 -0
  33. data/spec/api/slides_api_spec.rb +23234 -32650
  34. data/spec/spec_utils.rb +2 -0
  35. data/spec/use_cases/chart_spec.rb +209 -0
  36. data/spec/use_cases/comment_spec.rb +159 -0
  37. data/spec/use_cases/convert_spec.rb +45 -0
  38. data/spec/use_cases/font_spec.rb +143 -0
  39. data/spec/use_cases/layout_slide_spec.rb +18 -0
  40. data/spec/use_cases/master_slide_spec.rb +16 -0
  41. data/spec/use_cases/merge_spec.rb +21 -0
  42. data/spec/use_cases/notes_slide_spec.rb +34 -0
  43. data/spec/use_cases/paragraph_spec.rb +330 -0
  44. data/spec/use_cases/portion_spec.rb +324 -0
  45. data/spec/use_cases/property_spec.rb +59 -0
  46. data/spec/use_cases/shape_spec.rb +214 -11
  47. data/spec/use_cases/slide_spec.rb +197 -0
  48. data/spec/use_cases/text_format_spec.rb +74 -0
  49. data/spec/use_cases/text_spec.rb +39 -0
  50. data/testRules.json +50 -1
  51. metadata +17 -2
@@ -168,5 +168,39 @@ describe 'UseCases' do
168
168
  portions = AsposeSlidesCloud::SpecUtils.api.get_special_slide_portions(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_index, paragraph_index, password, folder_name)
169
169
  expect(portions.items.length).to eq(portion_count)
170
170
  end
171
+
172
+ it "create" do
173
+ folder_name = "TempSlidesSDK"
174
+ file_name = "test.pptx"
175
+ password = "password"
176
+ slide_index = 1
177
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
178
+ dto = AsposeSlidesCloud::NotesSlide.new
179
+ dto.text = "Notes slide text"
180
+ response = AsposeSlidesCloud::SpecUtils.api.create_notes_slide(file_name, slide_index, dto, password, folder_name)
181
+ expect(response.text).to eq(dto.text)
182
+ end
183
+
184
+ it "update" do
185
+ folder_name = "TempSlidesSDK"
186
+ file_name = "test.pptx"
187
+ password = "password"
188
+ slide_index = 1
189
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
190
+ dto = AsposeSlidesCloud::NotesSlide.new
191
+ dto.text = "Notes slide text"
192
+ response = AsposeSlidesCloud::SpecUtils.api.update_notes_slide(file_name, slide_index, dto, password, folder_name)
193
+ expect(response.text).to eq(dto.text)
194
+ end
195
+
196
+ it "delete" do
197
+ folder_name = "TempSlidesSDK"
198
+ file_name = "test.pptx"
199
+ password = "password"
200
+ slide_index = 1
201
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
202
+ response = AsposeSlidesCloud::SpecUtils.api.delete_notes_slide(file_name, slide_index, password, folder_name)
203
+ expect(response.notes_slide).to eq(nil)
204
+ end
171
205
  end
172
206
  end
@@ -0,0 +1,330 @@
1
+ =begin
2
+ Copyright (c) 2019 Aspose Pty Ltd
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ of this software and associated documentation files (the "Software"), to deal
6
+ in the Software without restriction, including without limitation the rights
7
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the Software is
9
+ furnished to do so, subject to the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in all
12
+ copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ SOFTWARE.
21
+ =end
22
+
23
+ require 'spec_helper'
24
+
25
+ describe 'UseCases' do
26
+ describe 'Paragraph' do
27
+ it "get paragraph" do
28
+ folder_name = "TempSlidesSDK"
29
+ file_name = "test.pptx"
30
+ password = "password"
31
+ slide_index = 6
32
+ shape_index = 2
33
+ paragraph_index = 1
34
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
35
+ response = AsposeSlidesCloud::SpecUtils.api.get_paragraph(file_name, slide_index, shape_index, paragraph_index, password, folder_name)
36
+ expect(response.portion_list.length).to eq(2)
37
+ end
38
+
39
+ it "get paragraphs" do
40
+ folder_name = "TempSlidesSDK"
41
+ file_name = "test.pptx"
42
+ password = "password"
43
+ slide_index = 6
44
+ shape_index = 2
45
+ paragraph_index = 1
46
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
47
+ response = AsposeSlidesCloud::SpecUtils.api.get_paragraphs(file_name, slide_index, shape_index, password, folder_name)
48
+ expect(response.paragraph_links.length).to eq(2)
49
+ end
50
+
51
+ it "get subshape paragraph" do
52
+ folder_name = "TempSlidesSDK"
53
+ file_name = "test.pptx"
54
+ password = "password"
55
+ slide_index = 6
56
+ shape_index = 3
57
+ sub_shape = "1"
58
+ paragraph_index = 1
59
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
60
+ response = AsposeSlidesCloud::SpecUtils.api.get_paragraph(file_name, slide_index, shape_index, paragraph_index, password, folder_name, "", sub_shape)
61
+ expect(response.portion_list.length).to eq(2)
62
+ end
63
+
64
+ it "get subshape paragraphs" do
65
+ folder_name = "TempSlidesSDK"
66
+ file_name = "test.pptx"
67
+ password = "password"
68
+ slide_index = 6
69
+ shape_index = 3
70
+ sub_shape = "1"
71
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
72
+ response = AsposeSlidesCloud::SpecUtils.api.get_paragraphs(file_name, slide_index, shape_index, password, folder_name, "", sub_shape)
73
+ expect(response.paragraph_links.length).to eq(2)
74
+ end
75
+
76
+ it "create paragraph" do
77
+ folder_name = "TempSlidesSDK"
78
+ file_name = "test.pptx"
79
+ password = "password"
80
+ slide_index = 6
81
+ shape_index = 2
82
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
83
+
84
+ dto = AsposeSlidesCloud::Paragraph.new
85
+ dto.margin_left = 2
86
+ dto.margin_right = 2
87
+ dto.alignment = "Center"
88
+
89
+ response = AsposeSlidesCloud::SpecUtils.api.create_paragraph(file_name, slide_index, shape_index, dto, nil, password, folder_name)
90
+ expect(response.margin_left).to eq(dto.margin_left)
91
+ expect(response.margin_right).to eq(dto.margin_right)
92
+ expect(response.alignment).to eq(dto.alignment)
93
+ end
94
+
95
+ it "create paragraph with portions" do
96
+ folder_name = "TempSlidesSDK"
97
+ file_name = "test.pptx"
98
+ password = "password"
99
+ slide_index = 6
100
+ shape_index = 2
101
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
102
+
103
+ dto = AsposeSlidesCloud::Paragraph.new
104
+ portion1 = AsposeSlidesCloud::Portion.new
105
+ portion1.text = "Portion1"
106
+ portion2 = AsposeSlidesCloud::Portion.new
107
+ portion2.text = "Portion2"
108
+ portion2.font_bold = "True"
109
+ dto.portion_list = [portion1, portion2]
110
+
111
+ response = AsposeSlidesCloud::SpecUtils.api.create_paragraph(file_name, slide_index, shape_index, dto, nil, password, folder_name)
112
+ expect(response.portion_list.length).to eq(2)
113
+ end
114
+
115
+ it "create subshape paragraph" do
116
+ folder_name = "TempSlidesSDK"
117
+ file_name = "test.pptx"
118
+ password = "password"
119
+ slide_index = 6
120
+ shape_index = 3
121
+ sub_shape = "1"
122
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
123
+
124
+ dto = AsposeSlidesCloud::Paragraph.new
125
+ dto.margin_left = 2
126
+ dto.margin_right = 2
127
+ dto.alignment = "Center"
128
+
129
+ response = AsposeSlidesCloud::SpecUtils.api.create_paragraph(file_name, slide_index, shape_index, dto, nil, password, folder_name, "", sub_shape)
130
+ expect(response.margin_left).to eq(dto.margin_left)
131
+ expect(response.margin_right).to eq(dto.margin_right)
132
+ expect(response.alignment).to eq(dto.alignment)
133
+ end
134
+
135
+ it "update paragraph" do
136
+ folder_name = "TempSlidesSDK"
137
+ file_name = "test.pptx"
138
+ password = "password"
139
+ slide_index = 6
140
+ shape_index = 2
141
+ paragraph_index = 1
142
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
143
+
144
+ dto = AsposeSlidesCloud::Paragraph.new
145
+ dto.margin_left = 2
146
+ dto.margin_right = 2
147
+ dto.alignment = "Center"
148
+
149
+ response = AsposeSlidesCloud::SpecUtils.api.update_paragraph(file_name, slide_index, shape_index, paragraph_index, dto,
150
+ password, folder_name)
151
+ expect(response.margin_left).to eq(dto.margin_left)
152
+ expect(response.margin_right).to eq(dto.margin_right)
153
+ expect(response.alignment).to eq(dto.alignment)
154
+ end
155
+
156
+ it "update subshape paragraph" do
157
+ folder_name = "TempSlidesSDK"
158
+ file_name = "test.pptx"
159
+ password = "password"
160
+ slide_index = 6
161
+ shape_index = 3
162
+ sub_shape = "1"
163
+ paragraph_index = 1
164
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
165
+
166
+ dto = AsposeSlidesCloud::Paragraph.new
167
+ dto.margin_left = 2
168
+ dto.margin_right = 2
169
+ dto.alignment = "Center"
170
+
171
+ response = AsposeSlidesCloud::SpecUtils.api.update_paragraph(file_name, slide_index, shape_index,
172
+ paragraph_index, dto, password, folder_name, "", sub_shape)
173
+ expect(response.margin_left).to eq(dto.margin_left)
174
+ expect(response.margin_right).to eq(dto.margin_right)
175
+ expect(response.alignment).to eq(dto.alignment)
176
+ end
177
+
178
+ it "delete paragraphs" do
179
+ folder_name = "TempSlidesSDK"
180
+ file_name = "test.pptx"
181
+ password = "password"
182
+ slide_index = 6
183
+ shape_index = 2
184
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
185
+
186
+ response = AsposeSlidesCloud::SpecUtils.api.delete_paragraphs(file_name, slide_index, shape_index, nil,
187
+ password, folder_name)
188
+ expect(response.paragraph_links.length).to eq(0)
189
+ end
190
+
191
+ it "delete paragraphs indexes" do
192
+ folder_name = "TempSlidesSDK"
193
+ file_name = "test.pptx"
194
+ password = "password"
195
+ slide_index = 6
196
+ shape_index = 2
197
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
198
+
199
+ response = AsposeSlidesCloud::SpecUtils.api.delete_paragraphs(file_name, slide_index, shape_index, [2],
200
+ password, folder_name)
201
+ expect(response.paragraph_links.length).to eq(1)
202
+ end
203
+
204
+ it "delete subshape paragraphs" do
205
+ folder_name = "TempSlidesSDK"
206
+ file_name = "test.pptx"
207
+ password = "password"
208
+ slide_index = 6
209
+ shape_index = 3
210
+ sub_shape = "1"
211
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
212
+
213
+ response = AsposeSlidesCloud::SpecUtils.api.delete_paragraphs(file_name, slide_index, shape_index, nil,
214
+ password, folder_name, "", sub_shape)
215
+ expect(response.paragraph_links.length).to eq(0)
216
+ end
217
+
218
+ it "delete subshape paragraphs indexes" do
219
+ folder_name = "TempSlidesSDK"
220
+ file_name = "test.pptx"
221
+ password = "password"
222
+ slide_index = 6
223
+ shape_index = 3
224
+ sub_shape = "1"
225
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
226
+
227
+ response = AsposeSlidesCloud::SpecUtils.api.delete_paragraphs(file_name, slide_index, shape_index, [1],
228
+ password, folder_name, "", sub_shape)
229
+ expect(response.paragraph_links.length).to eq(1)
230
+ end
231
+
232
+ it "delete paragraph" do
233
+ folder_name = "TempSlidesSDK"
234
+ file_name = "test.pptx"
235
+ password = "password"
236
+ slide_index = 6
237
+ shape_index = 2
238
+ paragraph_index = 1
239
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
240
+
241
+ response = AsposeSlidesCloud::SpecUtils.api.delete_paragraph(file_name, slide_index, shape_index, paragraph_index,
242
+ password, folder_name)
243
+ expect(response.paragraph_links.length).to eq(1)
244
+ end
245
+
246
+ it "delete subshape paragraph" do
247
+ folder_name = "TempSlidesSDK"
248
+ file_name = "test.pptx"
249
+ password = "password"
250
+ slide_index = 6
251
+ shape_index = 3
252
+ sub_shape = "1"
253
+ paragraph_index = 1
254
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
255
+
256
+ response = AsposeSlidesCloud::SpecUtils.api.delete_paragraph(file_name, slide_index, shape_index, paragraph_index,
257
+ password, folder_name, "", sub_shape)
258
+ expect(response.paragraph_links.length).to eq(1)
259
+ end
260
+
261
+ it "get paragraph rect" do
262
+ folder_name = "TempSlidesSDK"
263
+ file_name = "test.pptx"
264
+ password = "password"
265
+ slide_index = 6
266
+ shape_index = 2
267
+ paragraph_index = 1
268
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
269
+ response = AsposeSlidesCloud::SpecUtils.api.get_paragraph_rectangle(file_name, slide_index, shape_index, paragraph_index,
270
+ password, folder_name)
271
+ expect(response.x).not_to eq(0)
272
+ expect(response.y).not_to eq(0)
273
+ expect(response.width).not_to eq(0)
274
+ expect(response.height).not_to eq(0)
275
+ end
276
+
277
+ it "paragraph default portion format" do
278
+ folder_name = "TempSlidesSDK"
279
+ file_name = "test.pptx"
280
+ password = "password"
281
+ slide_index = 6
282
+ shape_index = 2
283
+ paragraph_index = 1
284
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
285
+
286
+ dto = AsposeSlidesCloud::Paragraph.new
287
+ portion_fromat = AsposeSlidesCloud::PortionFormat.new
288
+ portion_fromat.font_height = 20
289
+ portion_fromat.latin_font = "Arial"
290
+ dto.default_portion_format = portion_fromat
291
+
292
+ portion1 = AsposeSlidesCloud::Portion.new
293
+ portion1.text = "Portion1"
294
+ portion2 = AsposeSlidesCloud::Portion.new
295
+ portion2.text = "Portion2"
296
+ dto.portion_list = [portion1, portion2]
297
+ response = AsposeSlidesCloud::SpecUtils.api.create_paragraph(file_name, slide_index, shape_index, dto, nil, password, folder_name)
298
+ expect(response.portion_list.length).to eq(2)
299
+ expect(response.default_portion_format.latin_font).to eq(portion_fromat.latin_font)
300
+ expect(response.default_portion_format.font_height).to eq(portion_fromat.font_height)
301
+ end
302
+
303
+ it "get paragraph effective" do
304
+ folder_name = "TempSlidesSDK"
305
+ file_name = "test.pptx"
306
+ password = "password"
307
+ slide_index = 6
308
+ shape_index = 2
309
+ paragraph_index = 1
310
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
311
+ response = AsposeSlidesCloud::SpecUtils.api.get_paragraph_effective(file_name, slide_index, shape_index, paragraph_index,
312
+ password, folder_name)
313
+ expect(response.default_tab_size).to eq(72)
314
+ end
315
+
316
+ it "get subshape paragraph effective" do
317
+ folder_name = "TempSlidesSDK"
318
+ file_name = "test.pptx"
319
+ password = "password"
320
+ slide_index = 6
321
+ shape_index = 3
322
+ sub_shape = "1"
323
+ paragraph_index = 1
324
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
325
+ response = AsposeSlidesCloud::SpecUtils.api.get_paragraph_effective(file_name, slide_index, shape_index, paragraph_index,
326
+ password, folder_name, "", sub_shape)
327
+ expect(response.default_tab_size).to eq(72)
328
+ end
329
+ end
330
+ end