aspose_slides_cloud 22.7.0 → 22.9.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 +7 -7
  3. data/README.md +17 -1
  4. data/TestData/calibri.ttf +0 -0
  5. data/TestData/shapes.svg +20 -0
  6. data/TestData/test.pptx +0 -0
  7. data/docker-entrypoint.sh +3 -1
  8. data/lib/aspose_slides_cloud/api/slides_api.rb +953 -51
  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/export_options.rb +13 -1
  12. data/lib/aspose_slides_cloud/models/font_data.rb +221 -0
  13. data/lib/aspose_slides_cloud/models/font_subst_rule.rb +231 -0
  14. data/lib/aspose_slides_cloud/models/fonts_data.rb +213 -0
  15. data/lib/aspose_slides_cloud/models/gif_export_options.rb +2 -1
  16. data/lib/aspose_slides_cloud/models/html5_export_options.rb +2 -1
  17. data/lib/aspose_slides_cloud/models/html_export_options.rb +2 -1
  18. data/lib/aspose_slides_cloud/models/image_export_options.rb +2 -1
  19. data/lib/aspose_slides_cloud/models/image_export_options_base.rb +2 -1
  20. data/lib/aspose_slides_cloud/models/one_value_chart_data_point.rb +5 -1
  21. data/lib/aspose_slides_cloud/models/pdf_export_options.rb +2 -1
  22. data/lib/aspose_slides_cloud/models/pptx_export_options.rb +2 -1
  23. data/lib/aspose_slides_cloud/models/scatter_chart_data_point.rb +5 -1
  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 +3 -0
  33. data/spec/api/slides_api_spec.rb +2414 -4
  34. data/spec/spec_utils.rb +5 -1
  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 +39 -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 +322 -0
  44. data/spec/use_cases/portion_spec.rb +316 -0
  45. data/spec/use_cases/property_spec.rb +37 -1
  46. data/spec/use_cases/shape_spec.rb +193 -0
  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 +32 -1
  51. metadata +19 -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,322 @@
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 = 1
57
+ paragraph_index = 1
58
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
59
+ response = AsposeSlidesCloud::SpecUtils.api.get_subshape_paragraph(file_name, slide_index, "3/shapes", shape_index, paragraph_index, password, folder_name)
60
+ expect(response.portion_list.length).to eq(2)
61
+ end
62
+
63
+ it "get subshape paragraphs" do
64
+ folder_name = "TempSlidesSDK"
65
+ file_name = "test.pptx"
66
+ password = "password"
67
+ slide_index = 6
68
+ shape_index = 1
69
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
70
+ response = AsposeSlidesCloud::SpecUtils.api.get_subshape_paragraphs(file_name, slide_index, "3/shapes", shape_index, password, folder_name)
71
+ expect(response.paragraph_links.length).to eq(2)
72
+ end
73
+
74
+ it "create paragraph" do
75
+ folder_name = "TempSlidesSDK"
76
+ file_name = "test.pptx"
77
+ password = "password"
78
+ slide_index = 6
79
+ shape_index = 2
80
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
81
+
82
+ dto = AsposeSlidesCloud::Paragraph.new
83
+ dto.margin_left = 2
84
+ dto.margin_right = 2
85
+ dto.alignment = "Center"
86
+
87
+ response = AsposeSlidesCloud::SpecUtils.api.create_paragraph(file_name, slide_index, shape_index, dto, nil, password, folder_name)
88
+ expect(response.margin_left).to eq(dto.margin_left)
89
+ expect(response.margin_right).to eq(dto.margin_right)
90
+ expect(response.alignment).to eq(dto.alignment)
91
+ end
92
+
93
+ it "create paragraph with portions" do
94
+ folder_name = "TempSlidesSDK"
95
+ file_name = "test.pptx"
96
+ password = "password"
97
+ slide_index = 6
98
+ shape_index = 2
99
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
100
+
101
+ dto = AsposeSlidesCloud::Paragraph.new
102
+ portion1 = AsposeSlidesCloud::Portion.new
103
+ portion1.text = "Portion1"
104
+ portion2 = AsposeSlidesCloud::Portion.new
105
+ portion2.text = "Portion2"
106
+ portion2.font_bold = "True"
107
+ dto.portion = [portion1, portion2]
108
+
109
+ response = AsposeSlidesCloud::SpecUtils.api.create_paragraph(file_name, slide_index, shape_index, dto, nil, password, folder_name)
110
+ expect(response.portion_list.length).to eq(2)
111
+ end
112
+
113
+ it "create subshape paragraph" do
114
+ folder_name = "TempSlidesSDK"
115
+ file_name = "test.pptx"
116
+ password = "password"
117
+ slide_index = 6
118
+ shape_index = 1
119
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
120
+
121
+ dto = AsposeSlidesCloud::Paragraph.new
122
+ dto.margin_left = 2
123
+ dto.margin_right = 2
124
+ dto.alignment = "Center"
125
+
126
+ response = AsposeSlidesCloud::SpecUtils.api.create_subshape_paragraph(file_name, slide_index, "3/shapes", shape_index, dto, nil, password, folder_name)
127
+ expect(response.margin_left).to eq(dto.margin_left)
128
+ expect(response.margin_right).to eq(dto.margin_right)
129
+ expect(response.alignment).to eq(dto.alignment)
130
+ end
131
+
132
+ it "update paragraph" do
133
+ folder_name = "TempSlidesSDK"
134
+ file_name = "test.pptx"
135
+ password = "password"
136
+ slide_index = 6
137
+ shape_index = 2
138
+ paragraph_index = 1
139
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
140
+
141
+ dto = AsposeSlidesCloud::Paragraph.new
142
+ dto.margin_left = 2
143
+ dto.margin_right = 2
144
+ dto.alignment = "Center"
145
+
146
+ response = AsposeSlidesCloud::SpecUtils.api.update_paragraph(file_name, slide_index, shape_index, paragraph_index, dto,
147
+ password, folder_name)
148
+ expect(response.margin_left).to eq(dto.margin_left)
149
+ expect(response.margin_right).to eq(dto.margin_right)
150
+ expect(response.alignment).to eq(dto.alignment)
151
+ end
152
+
153
+ it "update subshape paragraph" do
154
+ folder_name = "TempSlidesSDK"
155
+ file_name = "test.pptx"
156
+ password = "password"
157
+ slide_index = 6
158
+ shape_index = 1
159
+ paragraph_index = 1
160
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
161
+
162
+ dto = AsposeSlidesCloud::Paragraph.new
163
+ dto.margin_left = 2
164
+ dto.margin_right = 2
165
+ dto.alignment = "Center"
166
+
167
+ response = AsposeSlidesCloud::SpecUtils.api.update_subshape_paragraph(file_name, slide_index, "3/shapes", shape_index,
168
+ paragraph_index, dto, password, folder_name)
169
+ expect(response.margin_left).to eq(dto.margin_left)
170
+ expect(response.margin_right).to eq(dto.margin_right)
171
+ expect(response.alignment).to eq(dto.alignment)
172
+ end
173
+
174
+ it "delete paragraphs" do
175
+ folder_name = "TempSlidesSDK"
176
+ file_name = "test.pptx"
177
+ password = "password"
178
+ slide_index = 6
179
+ shape_index = 2
180
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
181
+
182
+ response = AsposeSlidesCloud::SpecUtils.api.delete_paragraphs(file_name, slide_index, shape_index, nil,
183
+ password, folder_name)
184
+ expect(response.paragraph_links.length).to eq(0)
185
+ end
186
+
187
+ it "delete paragraphs indexes" do
188
+ folder_name = "TempSlidesSDK"
189
+ file_name = "test.pptx"
190
+ password = "password"
191
+ slide_index = 6
192
+ shape_index = 2
193
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
194
+
195
+ response = AsposeSlidesCloud::SpecUtils.api.delete_paragraphs(file_name, slide_index, shape_index, [2],
196
+ password, folder_name)
197
+ expect(response.paragraph_links.length).to eq(1)
198
+ end
199
+
200
+ it "delete subshape paragraphs" do
201
+ folder_name = "TempSlidesSDK"
202
+ file_name = "test.pptx"
203
+ password = "password"
204
+ slide_index = 6
205
+ shape_index = 1
206
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
207
+
208
+ response = AsposeSlidesCloud::SpecUtils.api.delete_subshape_paragraphs(file_name, slide_index, "3/shapes", shape_index, nil,
209
+ password, folder_name)
210
+ expect(response.paragraph_links.length).to eq(0)
211
+ end
212
+
213
+ it "delete subshape paragraphs indexes" do
214
+ folder_name = "TempSlidesSDK"
215
+ file_name = "test.pptx"
216
+ password = "password"
217
+ slide_index = 6
218
+ shape_index = 1
219
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
220
+
221
+ response = AsposeSlidesCloud::SpecUtils.api.delete_subshape_paragraphs(file_name, slide_index, "3/shapes", shape_index, [1],
222
+ password, folder_name)
223
+ expect(response.paragraph_links.length).to eq(1)
224
+ end
225
+
226
+ it "delete paragraph" do
227
+ folder_name = "TempSlidesSDK"
228
+ file_name = "test.pptx"
229
+ password = "password"
230
+ slide_index = 6
231
+ shape_index = 2
232
+ paragraph_index = 1
233
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
234
+
235
+ response = AsposeSlidesCloud::SpecUtils.api.delete_paragraph(file_name, slide_index, shape_index, paragraph_index,
236
+ password, folder_name)
237
+ expect(response.paragraph_links.length).to eq(1)
238
+ end
239
+
240
+ it "delete subshape paragraph" do
241
+ folder_name = "TempSlidesSDK"
242
+ file_name = "test.pptx"
243
+ password = "password"
244
+ slide_index = 6
245
+ shape_index = 1
246
+ paragraph_index = 1
247
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
248
+
249
+ response = AsposeSlidesCloud::SpecUtils.api.delete_subshape_paragraph(file_name, slide_index, "3/shapes", shape_index, paragraph_index,
250
+ password, folder_name)
251
+ expect(response.paragraph_links.length).to eq(1)
252
+ end
253
+
254
+ it "get paragraph rect" do
255
+ folder_name = "TempSlidesSDK"
256
+ file_name = "test.pptx"
257
+ password = "password"
258
+ slide_index = 6
259
+ shape_index = 2
260
+ paragraph_index = 1
261
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
262
+ response = AsposeSlidesCloud::SpecUtils.api.get_paragraph_rectangle(file_name, slide_index, shape_index, paragraph_index,
263
+ password, folder_name)
264
+ expect(response.x).not_to eq(0)
265
+ expect(response.y).not_to eq(0)
266
+ expect(response.width).not_to eq(0)
267
+ expect(response.height).not_to eq(0)
268
+ end
269
+
270
+ it "paragraph default portion format" do
271
+ folder_name = "TempSlidesSDK"
272
+ file_name = "test.pptx"
273
+ password = "password"
274
+ slide_index = 6
275
+ shape_index = 2
276
+ paragraph_index = 1
277
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
278
+
279
+ dto = AsposeSlidesCloud::Paragraph.new
280
+ portion_fromat = AsposeSlidesCloud::PortionFormat.new
281
+ portion_fromat.font_height = 20
282
+ portion_fromat.latin_font = "Arial"
283
+ dto.default_portion_format = portion_fromat
284
+
285
+ portion1 = AsposeSlidesCloud::Portion.new
286
+ portion1.text = "Portion1"
287
+ portion2 = AsposeSlidesCloud::Portion.new
288
+ portion2.text = "Portion2"
289
+ dto.portion_list = [portion1, portion2]
290
+ response = AsposeSlidesCloud::SpecUtils.api.create_paragraph(file_name, slide_index, shape_index, dto, nil, password, folder_name)
291
+ expect(response.portion_list.length).to eq(2)
292
+ expect(response.default_portion_format.latin_font).to eq(portion_fromat.latin_font)
293
+ expect(response.default_portion_format.font_height).to eq(portion_fromat.font_height)
294
+ end
295
+
296
+ it "get paragraph effective" do
297
+ folder_name = "TempSlidesSDK"
298
+ file_name = "test.pptx"
299
+ password = "password"
300
+ slide_index = 6
301
+ shape_index = 2
302
+ paragraph_index = 1
303
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
304
+ response = AsposeSlidesCloud::SpecUtils.api.get_paragraph_effective(file_name, slide_index, shape_index, paragraph_index,
305
+ password, folder_name)
306
+ expect(response.default_tab_size).to eq(72)
307
+ end
308
+
309
+ it "get subshape paragraph effective" do
310
+ folder_name = "TempSlidesSDK"
311
+ file_name = "test.pptx"
312
+ password = "password"
313
+ slide_index = 6
314
+ shape_index = 1
315
+ paragraph_index = 1
316
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
317
+ response = AsposeSlidesCloud::SpecUtils.api.get_subshape_paragraph_effective(file_name, slide_index, "3/shapes", shape_index, paragraph_index,
318
+ password, folder_name)
319
+ expect(response.default_tab_size).to eq(72)
320
+ end
321
+ end
322
+ end
@@ -0,0 +1,316 @@
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 'Portion' do
27
+ it "get portions" 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_portions(file_name, slide_index, shape_index, paragraph_index, password, folder_name)
36
+ expect(response.items.length).to eq(2)
37
+ end
38
+
39
+ it "get subshape portions" do
40
+ folder_name = "TempSlidesSDK"
41
+ file_name = "test.pptx"
42
+ password = "password"
43
+ slide_index = 6
44
+ shape_index = 1
45
+ paragraph_index = 1
46
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
47
+ response = AsposeSlidesCloud::SpecUtils.api.get_subshape_portions(file_name, slide_index, "3/shapes", shape_index, paragraph_index, password, folder_name)
48
+ expect(response.items.length).to eq(2)
49
+ end
50
+
51
+ it "get portion" do
52
+ folder_name = "TempSlidesSDK"
53
+ file_name = "test.pptx"
54
+ password = "password"
55
+ slide_index = 6
56
+ shape_index = 2
57
+ paragraph_index = 1
58
+ portion_index = 1
59
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
60
+ response = AsposeSlidesCloud::SpecUtils.api.get_portion(file_name, slide_index, shape_index, paragraph_index, portion_index,
61
+ password, folder_name)
62
+ expect(response.text.include? "portion 1").to eq(true)
63
+ end
64
+
65
+ it "get subshape portion" do
66
+ folder_name = "TempSlidesSDK"
67
+ file_name = "test.pptx"
68
+ password = "password"
69
+ slide_index = 6
70
+ shape_index = 1
71
+ paragraph_index = 1
72
+ portion_index = 1
73
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
74
+ response = AsposeSlidesCloud::SpecUtils.api.get_subshape_portion(file_name, slide_index, "3/shapes", shape_index,
75
+ paragraph_index, portion_index, password, folder_name)
76
+ expect(response.text.include? "portion 1").to eq(true)
77
+ end
78
+
79
+ it "create portion" do
80
+ folder_name = "TempSlidesSDK"
81
+ file_name = "test.pptx"
82
+ password = "password"
83
+ slide_index = 6
84
+ shape_index = 2
85
+ paragraph_index = 1
86
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
87
+
88
+ dto = AsposeSlidesCloud::Portion.new
89
+ dto.text = "new portion text"
90
+ dto.font_bold = "True"
91
+ dto.font_height = 20
92
+ dto.latin_font = "Arial"
93
+ dto.fill_format = AsposeSlidesCloud::SolidFill.new
94
+ dto.fill_format.color = "#FFF5FF8A"
95
+
96
+ response = AsposeSlidesCloud::SpecUtils.api.create_portion(file_name, slide_index, shape_index, paragraph_index, dto, nil,
97
+ password, folder_name)
98
+ expect(response.text).to eq(dto.text)
99
+ expect(response.font_bold).to eq(dto.font_bold)
100
+ expect(response.font_height).to eq(dto.font_height)
101
+ expect(response.latin_font).to eq(dto.latin_font)
102
+ expect(response.fill_format.type).to eq("Solid")
103
+ end
104
+
105
+ it "create subshape portion" do
106
+ folder_name = "TempSlidesSDK"
107
+ file_name = "test.pptx"
108
+ password = "password"
109
+ slide_index = 6
110
+ shape_index = 1
111
+ paragraph_index = 1
112
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
113
+
114
+ dto = AsposeSlidesCloud::Portion.new
115
+ dto.text = "new portion text"
116
+ dto.font_bold = "True"
117
+ dto.font_height = 20
118
+ dto.latin_font = "Arial"
119
+ dto.fill_format = AsposeSlidesCloud::SolidFill.new
120
+ dto.fill_format.color = "#FFF5FF8A"
121
+
122
+ response = AsposeSlidesCloud::SpecUtils.api.create_subshape_portion(file_name, slide_index, "3/shapes", shape_index,
123
+ paragraph_index, dto, nil, password, folder_name)
124
+ expect(response.text).to eq(dto.text)
125
+ expect(response.font_bold).to eq(dto.font_bold)
126
+ expect(response.font_height).to eq(dto.font_height)
127
+ expect(response.latin_font).to eq(dto.latin_font)
128
+ expect(response.fill_format.type).to eq("Solid")
129
+ end
130
+
131
+ it "update portion" do
132
+ folder_name = "TempSlidesSDK"
133
+ file_name = "test.pptx"
134
+ password = "password"
135
+ slide_index = 6
136
+ shape_index = 2
137
+ paragraph_index = 1
138
+ portion_index = 1
139
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
140
+
141
+ dto = AsposeSlidesCloud::Portion.new
142
+ dto.text = "new portion text"
143
+ dto.font_bold = "True"
144
+ dto.font_height = 20
145
+ dto.latin_font = "Arial"
146
+ dto.fill_format = AsposeSlidesCloud::SolidFill.new
147
+ dto.fill_format.color = "#FFF5FF8A"
148
+
149
+ response = AsposeSlidesCloud::SpecUtils.api.update_portion(file_name, slide_index, shape_index, paragraph_index,
150
+ portion_index, dto, password, folder_name)
151
+ expect(response.text).to eq(dto.text)
152
+ expect(response.font_bold).to eq(dto.font_bold)
153
+ expect(response.font_height).to eq(dto.font_height)
154
+ expect(response.latin_font).to eq(dto.latin_font)
155
+ expect(response.fill_format.type).to eq("Solid")
156
+ end
157
+
158
+ it "update subshape portion" do
159
+ folder_name = "TempSlidesSDK"
160
+ file_name = "test.pptx"
161
+ password = "password"
162
+ slide_index = 6
163
+ shape_index = 1
164
+ paragraph_index = 1
165
+ portion_index = 1
166
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
167
+
168
+ dto = AsposeSlidesCloud::Portion.new
169
+ dto.text = "new portion text"
170
+ dto.font_bold = "True"
171
+ dto.font_height = 20
172
+ dto.latin_font = "Arial"
173
+ dto.fill_format = AsposeSlidesCloud::SolidFill.new
174
+ dto.fill_format.color = "#FFF5FF8A"
175
+
176
+ response = AsposeSlidesCloud::SpecUtils.api.update_subshape_portion(file_name, slide_index, "3/shapes",shape_index,
177
+ paragraph_index, portion_index, dto, password, folder_name)
178
+ expect(response.text).to eq(dto.text)
179
+ expect(response.font_bold).to eq(dto.font_bold)
180
+ expect(response.font_height).to eq(dto.font_height)
181
+ expect(response.latin_font).to eq(dto.latin_font)
182
+ expect(response.fill_format.type).to eq("Solid")
183
+ end
184
+
185
+ it "delete portions" do
186
+ folder_name = "TempSlidesSDK"
187
+ file_name = "test.pptx"
188
+ password = "password"
189
+ slide_index = 6
190
+ shape_index = 2
191
+ paragraph_index = 1
192
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
193
+
194
+ response = AsposeSlidesCloud::SpecUtils.api.delete_portions(file_name, slide_index, shape_index, paragraph_index,
195
+ nil, password, folder_name)
196
+ expect(response.items.length).to eq(0)
197
+ end
198
+
199
+ it "delete portions indexes" do
200
+ folder_name = "TempSlidesSDK"
201
+ file_name = "test.pptx"
202
+ password = "password"
203
+ slide_index = 6
204
+ shape_index = 2
205
+ paragraph_index = 1
206
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
207
+
208
+ response = AsposeSlidesCloud::SpecUtils.api.delete_portions(file_name, slide_index, shape_index, paragraph_index,
209
+ [1], password, folder_name)
210
+ expect(response.items.length).to eq(1)
211
+ end
212
+
213
+ it "delete subshape portions" do
214
+ folder_name = "TempSlidesSDK"
215
+ file_name = "test.pptx"
216
+ password = "password"
217
+ slide_index = 6
218
+ shape_index = 1
219
+ paragraph_index = 1
220
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
221
+
222
+ response = AsposeSlidesCloud::SpecUtils.api.delete_subshape_portions(file_name, slide_index, "3/shapes",shape_index,
223
+ paragraph_index, nil, password, folder_name)
224
+ expect(response.items.length).to eq(0)
225
+ end
226
+
227
+ it "delete subshape portions index" do
228
+ folder_name = "TempSlidesSDK"
229
+ file_name = "test.pptx"
230
+ password = "password"
231
+ slide_index = 6
232
+ shape_index = 1
233
+ paragraph_index = 1
234
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
235
+
236
+ response = AsposeSlidesCloud::SpecUtils.api.delete_subshape_portions(file_name, slide_index, "3/shapes",shape_index,
237
+ paragraph_index, [1], password, folder_name)
238
+ expect(response.items.length).to eq(1)
239
+ end
240
+
241
+ it "delete portion" do
242
+ folder_name = "TempSlidesSDK"
243
+ file_name = "test.pptx"
244
+ password = "password"
245
+ slide_index = 6
246
+ shape_index = 2
247
+ paragraph_index = 1
248
+ portion_index = 1
249
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
250
+
251
+ response = AsposeSlidesCloud::SpecUtils.api.delete_portion(file_name, slide_index, shape_index, paragraph_index,
252
+ portion_index, password, folder_name)
253
+ expect(response.items.length).to eq(1)
254
+ end
255
+
256
+ it "delete subshape portion" do
257
+ folder_name = "TempSlidesSDK"
258
+ file_name = "test.pptx"
259
+ password = "password"
260
+ slide_index = 6
261
+ shape_index = 1
262
+ paragraph_index = 1
263
+ portion_index = 1
264
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
265
+
266
+ response = AsposeSlidesCloud::SpecUtils.api.delete_subshape_portion(file_name, slide_index, "3/shapes", shape_index, paragraph_index,
267
+ portion_index, password, folder_name)
268
+ expect(response.items.length).to eq(1)
269
+ end
270
+
271
+ it "get portion rect" do
272
+ folder_name = "TempSlidesSDK"
273
+ file_name = "test.pptx"
274
+ password = "password"
275
+ slide_index = 6
276
+ shape_index = 2
277
+ paragraph_index = 1
278
+ portion_index = 1
279
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
280
+ response = AsposeSlidesCloud::SpecUtils.api.get_portion_rectangle(file_name, slide_index, shape_index, paragraph_index,
281
+ portion_index, password, folder_name)
282
+ expect(response.x).not_to eq(0)
283
+ expect(response.y).not_to eq(0)
284
+ expect(response.width).not_to eq(0)
285
+ expect(response.height).not_to eq(0)
286
+ end
287
+
288
+ it "get portion effective" do
289
+ folder_name = "TempSlidesSDK"
290
+ file_name = "test.pptx"
291
+ password = "password"
292
+ slide_index = 6
293
+ shape_index = 2
294
+ paragraph_index = 1
295
+ portion_index = 1
296
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
297
+ response = AsposeSlidesCloud::SpecUtils.api.get_portion_effective(file_name, slide_index, shape_index, paragraph_index,
298
+ portion_index, password, folder_name)
299
+ expect(response.font_height).to eq(18)
300
+ end
301
+
302
+ it "get subshape portion effective" do
303
+ folder_name = "TempSlidesSDK"
304
+ file_name = "test.pptx"
305
+ password = "password"
306
+ slide_index = 6
307
+ shape_index = 1
308
+ paragraph_index = 1
309
+ portion_index = 1
310
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
311
+ response = AsposeSlidesCloud::SpecUtils.api.get_subshape_portion_effective(file_name, slide_index, "3/shapes", shape_index,
312
+ paragraph_index, portion_index, password, folder_name)
313
+ expect(response.font_height).to eq(18)
314
+ end
315
+ end
316
+ end