aspose_slides_cloud 22.8.0 → 22.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +4 -4
  3. data/README.md +11 -1
  4. data/TestData/calibri.ttf +0 -0
  5. data/TestData/test.pptx +0 -0
  6. data/docker-entrypoint.sh +3 -1
  7. data/lib/aspose_slides_cloud/api/slides_api.rb +475 -21
  8. data/lib/aspose_slides_cloud/models/bubble_chart_data_point.rb +5 -1
  9. data/lib/aspose_slides_cloud/models/data_point.rb +42 -2
  10. data/lib/aspose_slides_cloud/models/export_options.rb +13 -1
  11. data/lib/aspose_slides_cloud/models/font_subst_rule.rb +231 -0
  12. data/lib/aspose_slides_cloud/models/gif_export_options.rb +2 -1
  13. data/lib/aspose_slides_cloud/models/html5_export_options.rb +2 -1
  14. data/lib/aspose_slides_cloud/models/html_export_options.rb +2 -1
  15. data/lib/aspose_slides_cloud/models/image_export_options.rb +2 -1
  16. data/lib/aspose_slides_cloud/models/image_export_options_base.rb +2 -1
  17. data/lib/aspose_slides_cloud/models/one_value_chart_data_point.rb +5 -1
  18. data/lib/aspose_slides_cloud/models/pdf_export_options.rb +2 -1
  19. data/lib/aspose_slides_cloud/models/pptx_export_options.rb +2 -1
  20. data/lib/aspose_slides_cloud/models/scatter_chart_data_point.rb +5 -1
  21. data/lib/aspose_slides_cloud/models/svg_export_options.rb +2 -1
  22. data/lib/aspose_slides_cloud/models/swf_export_options.rb +2 -1
  23. data/lib/aspose_slides_cloud/models/tiff_export_options.rb +2 -1
  24. data/lib/aspose_slides_cloud/models/video_export_options.rb +2 -1
  25. data/lib/aspose_slides_cloud/models/xaml_export_options.rb +2 -1
  26. data/lib/aspose_slides_cloud/models/xps_export_options.rb +2 -1
  27. data/lib/aspose_slides_cloud/type_registry.rb +1 -0
  28. data/lib/aspose_slides_cloud/version.rb +1 -1
  29. data/lib/aspose_slides_cloud.rb +1 -0
  30. data/spec/api/slides_api_spec.rb +1380 -30
  31. data/spec/use_cases/chart_spec.rb +209 -0
  32. data/spec/use_cases/comment_spec.rb +159 -0
  33. data/spec/use_cases/convert_spec.rb +39 -0
  34. data/spec/use_cases/font_spec.rb +143 -0
  35. data/spec/use_cases/layout_slide_spec.rb +18 -0
  36. data/spec/use_cases/master_slide_spec.rb +16 -0
  37. data/spec/use_cases/merge_spec.rb +21 -0
  38. data/spec/use_cases/notes_slide_spec.rb +34 -0
  39. data/spec/use_cases/paragraph_spec.rb +322 -0
  40. data/spec/use_cases/portion_spec.rb +316 -0
  41. data/spec/use_cases/property_spec.rb +36 -0
  42. data/spec/use_cases/shape_spec.rb +193 -0
  43. data/spec/use_cases/slide_spec.rb +197 -0
  44. data/spec/use_cases/text_format_spec.rb +74 -0
  45. data/spec/use_cases/text_spec.rb +39 -0
  46. data/testRules.json +16 -0
  47. metadata +16 -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