aspose_slides_cloud 22.8.0 → 22.10.0

Sign up to get free protection for your applications and to get access to all the features.
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