aspose_slides_cloud 1.0.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 (82) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +42 -0
  4. data/aspose_slides_cloud.gemspec +26 -0
  5. data/lib/aspose_slides_cloud.rb +94 -0
  6. data/lib/aspose_slides_cloud/api/slides_api.rb +3420 -0
  7. data/lib/aspose_slides_cloud/api_client.rb +335 -0
  8. data/lib/aspose_slides_cloud/api_error.rb +24 -0
  9. data/lib/aspose_slides_cloud/configuration.rb +166 -0
  10. data/lib/aspose_slides_cloud/models/arrow_head_properties.rb +53 -0
  11. data/lib/aspose_slides_cloud/models/base_object.rb +86 -0
  12. data/lib/aspose_slides_cloud/models/base_response.rb +53 -0
  13. data/lib/aspose_slides_cloud/models/color.rb +29 -0
  14. data/lib/aspose_slides_cloud/models/color_scheme.rb +153 -0
  15. data/lib/aspose_slides_cloud/models/color_scheme_response.rb +61 -0
  16. data/lib/aspose_slides_cloud/models/common_response.rb +53 -0
  17. data/lib/aspose_slides_cloud/models/custom_dash_pattern.rb +39 -0
  18. data/lib/aspose_slides_cloud/models/document.rb +81 -0
  19. data/lib/aspose_slides_cloud/models/document_properties.rb +67 -0
  20. data/lib/aspose_slides_cloud/models/document_properties_response.rb +61 -0
  21. data/lib/aspose_slides_cloud/models/document_property.rb +81 -0
  22. data/lib/aspose_slides_cloud/models/document_property_response.rb +61 -0
  23. data/lib/aspose_slides_cloud/models/document_response.rb +61 -0
  24. data/lib/aspose_slides_cloud/models/fill_format.rb +37 -0
  25. data/lib/aspose_slides_cloud/models/font_scheme.rb +81 -0
  26. data/lib/aspose_slides_cloud/models/font_scheme_response.rb +61 -0
  27. data/lib/aspose_slides_cloud/models/font_set.rb +53 -0
  28. data/lib/aspose_slides_cloud/models/format_scheme.rb +97 -0
  29. data/lib/aspose_slides_cloud/models/format_scheme_response.rb +61 -0
  30. data/lib/aspose_slides_cloud/models/html_export_options.rb +53 -0
  31. data/lib/aspose_slides_cloud/models/image.rb +73 -0
  32. data/lib/aspose_slides_cloud/models/images.rb +67 -0
  33. data/lib/aspose_slides_cloud/models/images_response.rb +61 -0
  34. data/lib/aspose_slides_cloud/models/line_format.rb +117 -0
  35. data/lib/aspose_slides_cloud/models/new_shape_response.rb +61 -0
  36. data/lib/aspose_slides_cloud/models/ordered_merge_request.rb +39 -0
  37. data/lib/aspose_slides_cloud/models/paragraph.rb +67 -0
  38. data/lib/aspose_slides_cloud/models/paragraph_portion_response.rb +61 -0
  39. data/lib/aspose_slides_cloud/models/paragraphs.rb +67 -0
  40. data/lib/aspose_slides_cloud/models/pdf_export_options.rb +101 -0
  41. data/lib/aspose_slides_cloud/models/placeholder.rb +97 -0
  42. data/lib/aspose_slides_cloud/models/placeholder_response.rb +61 -0
  43. data/lib/aspose_slides_cloud/models/placeholders.rb +67 -0
  44. data/lib/aspose_slides_cloud/models/placeholders_response.rb +61 -0
  45. data/lib/aspose_slides_cloud/models/portion.rb +81 -0
  46. data/lib/aspose_slides_cloud/models/presentation_string_replace_response.rb +69 -0
  47. data/lib/aspose_slides_cloud/models/presentation_to_merge.rb +47 -0
  48. data/lib/aspose_slides_cloud/models/presentations_merge_request.rb +39 -0
  49. data/lib/aspose_slides_cloud/models/resource_uri.rb +61 -0
  50. data/lib/aspose_slides_cloud/models/resource_uri_element.rb +37 -0
  51. data/lib/aspose_slides_cloud/models/shape.rb +169 -0
  52. data/lib/aspose_slides_cloud/models/shape_list.rb +67 -0
  53. data/lib/aspose_slides_cloud/models/shape_paragraph_response.rb +61 -0
  54. data/lib/aspose_slides_cloud/models/shape_paragraphs_response.rb +61 -0
  55. data/lib/aspose_slides_cloud/models/shape_response.rb +61 -0
  56. data/lib/aspose_slides_cloud/models/slide.rb +121 -0
  57. data/lib/aspose_slides_cloud/models/slide_background.rb +73 -0
  58. data/lib/aspose_slides_cloud/models/slide_background_response.rb +61 -0
  59. data/lib/aspose_slides_cloud/models/slide_comment.rb +53 -0
  60. data/lib/aspose_slides_cloud/models/slide_comments.rb +67 -0
  61. data/lib/aspose_slides_cloud/models/slide_comments_response.rb +61 -0
  62. data/lib/aspose_slides_cloud/models/slide_list_response.rb +61 -0
  63. data/lib/aspose_slides_cloud/models/slide_response.rb +61 -0
  64. data/lib/aspose_slides_cloud/models/slide_string_replace_response.rb +69 -0
  65. data/lib/aspose_slides_cloud/models/slides.rb +67 -0
  66. data/lib/aspose_slides_cloud/models/split_document_response.rb +61 -0
  67. data/lib/aspose_slides_cloud/models/split_document_result.rb +67 -0
  68. data/lib/aspose_slides_cloud/models/text_item.rb +45 -0
  69. data/lib/aspose_slides_cloud/models/text_items.rb +67 -0
  70. data/lib/aspose_slides_cloud/models/text_items_response.rb +61 -0
  71. data/lib/aspose_slides_cloud/models/theme.rb +89 -0
  72. data/lib/aspose_slides_cloud/models/theme_response.rb +61 -0
  73. data/lib/aspose_slides_cloud/models/tiff_export_options.rb +77 -0
  74. data/lib/aspose_slides_cloud/version.rb +3 -0
  75. data/test/data/ReadMe.html +48 -0
  76. data/test/data/Test.html +6 -0
  77. data/test/data/demo.pptx +0 -0
  78. data/test/data/sample-input.pptx +0 -0
  79. data/test/data/sample.pptx +0 -0
  80. data/test/data/welcome.pptx +0 -0
  81. data/test/slides_tests.rb +570 -0
  82. metadata +200 -0
@@ -0,0 +1,77 @@
1
+ module AsposeSlidesCloud
2
+ #
3
+ class TiffExportOptions < BaseObject
4
+ attr_accessor :width, :height, :dpi_x, :dpi_y, :compression, :export_format
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'width' => :'Width',
11
+
12
+ #
13
+ :'height' => :'Height',
14
+
15
+ #
16
+ :'dpi_x' => :'DpiX',
17
+
18
+ #
19
+ :'dpi_y' => :'DpiY',
20
+
21
+ #
22
+ :'compression' => :'Compression',
23
+
24
+ #
25
+ :'export_format' => :'ExportFormat'
26
+
27
+ }
28
+ end
29
+
30
+ # attribute type
31
+ def self.swagger_types
32
+ {
33
+ :'width' => :'Integer',
34
+ :'height' => :'Integer',
35
+ :'dpi_x' => :'Integer',
36
+ :'dpi_y' => :'Integer',
37
+ :'compression' => :'String',
38
+ :'export_format' => :'String'
39
+
40
+ }
41
+ end
42
+
43
+ def initialize(attributes = {})
44
+ return if !attributes.is_a?(Hash) || attributes.empty?
45
+
46
+ # convert string to symbol for hash key
47
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
48
+
49
+
50
+ if attributes[:'Width']
51
+ self.width = attributes[:'Width']
52
+ end
53
+
54
+ if attributes[:'Height']
55
+ self.height = attributes[:'Height']
56
+ end
57
+
58
+ if attributes[:'DpiX']
59
+ self.dpi_x = attributes[:'DpiX']
60
+ end
61
+
62
+ if attributes[:'DpiY']
63
+ self.dpi_y = attributes[:'DpiY']
64
+ end
65
+
66
+ if attributes[:'Compression']
67
+ self.compression = attributes[:'Compression']
68
+ end
69
+
70
+ if attributes[:'ExportFormat']
71
+ self.export_format = attributes[:'ExportFormat']
72
+ end
73
+
74
+ end
75
+
76
+ end
77
+ end
@@ -0,0 +1,3 @@
1
+ module AsposeSlidesCloud
2
+ VERSION = "1.0.0"
3
+ end
@@ -0,0 +1,48 @@
1
+ <html>
2
+ <head></head>
3
+ <body>
4
+ <h2><a id="user-content-asposepdf-for-cloud" class="anchor" href="#asposepdf-for-cloud" aria-hidden="true"><span class="octicon octicon-link"></span></a>Aspose.Pdf for Cloud</h2>
5
+
6
+ <p>This repository contains examples and SDKs for <a href="http://www.aspose.com/cloud/pdf-api.aspx">Aspose.Pdf for Cloud</a>.</p>
7
+
8
+ <h2><a id="user-content-why-sdks" class="anchor" href="#why-sdks" aria-hidden="true"><span class="octicon octicon-link"></span></a>Why SDKs?</h2>
9
+
10
+ <p>Aspose.Pdf for Cloud is implemented as a REST API. If you use SDK, it hides the REST API calls and lets you use Aspose.Pdf features in a native way for your preferred language.</p>
11
+
12
+ <p align="center">
13
+ <a title="Download complete Aspose.Pdf for Cloud source code" href="https://github.com/asposepdf/Aspose_Pdf_Cloud/archive/master.zip">
14
+ <img src="https://camo.githubusercontent.com/11839cd752a2d367f3149c7bee1742b68e4a4d37/68747470733a2f2f7261772e6769746875622e636f6d2f4173706f73654578616d706c65732f6a6176612d6578616d706c65732d64617368626f6172642f6d61737465722f696d616765732f646f776e6c6f61645a69702d427574746f6e2d4c617267652e706e67" data-canonical-src="https://raw.github.com/AsposeExamples/java-examples-dashboard/master/images/downloadZip-Button-Large.png" style="max-width:100%;">
15
+ </a>
16
+ </p>
17
+
18
+ <table><thead>
19
+ <tr>
20
+ <th>Directory</th>
21
+ <th>Description</th>
22
+ </tr>
23
+ </thead><tbody>
24
+ <tr>
25
+ <td><a href="https://github.com/asposepdf/Aspose_Pdf_Cloud/tree/master/SDKs/Aspose.Pdf_Cloud_SDK_for_Java">Java SDK</a></td>
26
+ <td>Aspose.Pdf Cloud SDK for Java.</td>
27
+ </tr>
28
+ <tr>
29
+ <td><a href="https://github.com/asposepdf/Aspose_Pdf_Cloud/tree/master/SDKs/Aspose.Pdf_Cloud_SDK_for_PHP">PHP SDK</a></td>
30
+ <td>Aspose.Pdf Cloud SDK for PHP.</td>
31
+ </tr>
32
+ <tr>
33
+ <td><a href="https://github.com/asposepdf/Aspose_Pdf_Cloud/tree/master/SDKs/Aspose.Pdf_Cloud_SDK_for_Python">Python SDK</a></td>
34
+ <td>Aspose.Pdf Cloud SDK for Python.</td>
35
+ </tr>
36
+ </tbody></table>
37
+
38
+ <h2><a id="user-content-resources" class="anchor" href="#resources" aria-hidden="true"><span class="octicon octicon-link"></span></a>Resources</h2>
39
+
40
+ <ul>
41
+ <li><strong>Website:</strong> <a href="http://www.aspose.com">www.aspose.com</a></li>
42
+ <li><strong>Product Home:</strong> <a href="http://www.aspose.com/cloud/pdf-api.aspx">Aspose.Pdf for Cloud</a></li>
43
+ <li><strong>Documentation:</strong> <a href="http://www.aspose.com/docs/display/pdfcloud/Home">Aspose.Pdf for Cloud Documentation</a></li>
44
+ <li><strong>Forum:</strong> <a href="http://www.aspose.com/community/forums/aspose.pdf-product-family/75/showforum.aspx">Aspose.Pdf for Cloud Forum</a></li>
45
+ <li><strong>Blog:</strong> <a href="http://www.aspose.com/blogs/aspose-products/aspose-pdf-product-family.html">Aspose.Pdf for Cloud Blog</a></li>
46
+ </ul>
47
+ </body>
48
+ </html>
@@ -0,0 +1,6 @@
1
+ <html>
2
+ <head></head>
3
+ <body>
4
+ <h2>Aspose.Slides for Cloud</h2>
5
+ </body>
6
+ </html>
Binary file
Binary file
Binary file
@@ -0,0 +1,570 @@
1
+ require "minitest/autorun"
2
+ require "minitest/unit"
3
+
4
+ require_relative '../lib/aspose_slides_cloud'
5
+
6
+ class SlidesTests < Minitest::Test
7
+ include MiniTest::Assertions
8
+ include AsposeSlidesCloud
9
+ include AsposeStorageCloud
10
+
11
+ def setup
12
+ #Get App key and App SID from https://cloud.aspose.com
13
+ AsposeApp.app_key_and_sid("", "")
14
+ @slides_api = SlidesApi.new
15
+ end
16
+
17
+ def teardown
18
+ end
19
+
20
+ def upload_file(file_name)
21
+ @storage_api = StorageApi.new
22
+ response = @storage_api.put_create(file_name, File.open("data/" << file_name,"r") { |io| io.read } )
23
+ assert(response, message="Failed to upload {file_name} file.")
24
+ end
25
+
26
+ def test_put_slides_convert
27
+ file_name = "sample.pptx"
28
+ convert_to_format = "pdf"
29
+ response = @slides_api.put_slides_convert(File.open("data/" << file_name,"r") { |io| io.read }, {format: convert_to_format})
30
+ assert(response, message="Failed to convert presentation from request content to format specified.")
31
+ end
32
+
33
+ def test_get_slides_document_with_format
34
+ file_name = "sample.pptx"
35
+ upload_file(file_name)
36
+ format = "tiff"
37
+ response = @slides_api.get_slides_document_with_format(file_name, format)
38
+ assert(response, message="Failed to get slides document in specified format.")
39
+ end
40
+
41
+ def test_put_new_presentation_from_stored_template
42
+ file_name = "newPresentation.pptx"
43
+ template_path = "sample.pptx"
44
+ upload_file(template_path)
45
+
46
+ response = @slides_api.put_new_presentation_from_stored_template(file_name, template_path, File.open("data/Test.html","r") { |io| io.read })
47
+ assert(response, message="Failed to add new presentation from stored template.")
48
+ end
49
+
50
+ def test_post_slides_document
51
+ file_name = "newPresentation.pptx"
52
+ template_path = "sample.pptx"
53
+ upload_file(template_path)
54
+
55
+ response = @slides_api.post_slides_document(file_name, template_path, File.open("data/Test.html","r") { |io| io.read })
56
+ assert(response, message="Failed to create presentation.")
57
+ end
58
+
59
+ def test_get_slides_document_properties
60
+ file_name = "sample-input.pptx"
61
+ upload_file(file_name)
62
+
63
+ response = @slides_api.get_slides_document_properties(file_name)
64
+ assert(response, message="Failed to read presentation document properties.")
65
+ end
66
+
67
+ def test_post_slides_set_document_properties
68
+ file_name = "sample-input.pptx"
69
+ upload_file(file_name)
70
+
71
+ document_properties = DocumentProperties.new
72
+ document_property = DocumentProperty.new
73
+ document_property.name = "Author"
74
+ document_property.value = "Elon Musk"
75
+
76
+ document_properties.list = [document_property]
77
+
78
+ response = @slides_api.post_slides_set_document_properties(file_name, document_properties)
79
+ assert(response, message="Failed to set document properties.")
80
+ end
81
+
82
+ def test_delete_slides_document_properties
83
+ file_name = "sample-input.pptx"
84
+ upload_file(file_name)
85
+
86
+ response = @slides_api.delete_slides_document_properties(file_name)
87
+ assert(response, message="Failed to clean document properties.")
88
+ end
89
+
90
+ def test_get_slides_document_property
91
+ file_name = "sample.pptx"
92
+ upload_file(file_name)
93
+
94
+ property_name = "Author"
95
+ response = @slides_api.get_slides_document_property(file_name, property_name)
96
+ assert(response, message="Failed to read presentation document property.")
97
+ end
98
+
99
+ def test_put_slides_set_document_property
100
+ file_name = "sample-input.pptx"
101
+ upload_file(file_name)
102
+
103
+ property_name = "Author"
104
+ document_property = DocumentProperty.new
105
+ document_property.name = property_name
106
+ document_property.value = "Elon Musk"
107
+ response = @slides_api.put_slides_set_document_property(file_name, property_name, document_property)
108
+ assert(response, message="Failed to set document property.")
109
+ end
110
+
111
+ def test_delete_slides_document_property
112
+ file_name = "sample-input.pptx"
113
+ upload_file(file_name)
114
+
115
+ property_name = "AsposeAuthor"
116
+ response = @slides_api.delete_slides_document_property(file_name, property_name)
117
+ assert(response, message="Failed to delete document property.")
118
+ end
119
+
120
+ def test_put_slides_document_from_html
121
+ file_name = "newPresentation.pptx"
122
+
123
+ response = @slides_api.put_slides_document_from_html(file_name, File.open("data/ReadMe.html","r") { |io| io.read })
124
+ assert(response, message="Failed to create presentation document from html.")
125
+ end
126
+
127
+ def test_get_slides_images
128
+ file_name = "sample-input.pptx"
129
+ upload_file(file_name)
130
+
131
+ response = @slides_api.get_slides_images(file_name)
132
+ assert(response, message="Failed to read presentation images info")
133
+ end
134
+
135
+ def test_put_presentation_merge
136
+ file_name = "sample.pptx"
137
+ upload_file(file_name)
138
+ merge_file_name_1 = "welcome.pptx"
139
+ upload_file(merge_file_name_1)
140
+ merge_file_name_2 = "demo.pptx"
141
+ upload_file(merge_file_name_2)
142
+
143
+ ordered_merge_request = OrderedMergeRequest.new
144
+
145
+ presentation_to_merge_1 = PresentationToMerge.new
146
+ presentation_to_merge_1.path = merge_file_name_1
147
+ presentation_to_merge_1.slides = 1
148
+
149
+ presentation_to_merge_2 = PresentationToMerge.new
150
+ presentation_to_merge_2.path = merge_file_name_2
151
+ presentation_to_merge_2.slides = 1
152
+
153
+ ordered_merge_request.presentations = [presentation_to_merge_1, presentation_to_merge_2]
154
+
155
+ response = @slides_api.put_presentation_merge(file_name, ordered_merge_request)
156
+ assert(response, message="Failed to merge presentations.")
157
+ end
158
+
159
+ def test_post_presentation_merge
160
+ file_name = "sample.pptx"
161
+ upload_file(file_name)
162
+ merge_file_name_1 = "welcome.pptx"
163
+ upload_file(merge_file_name_1)
164
+ merge_file_name_2 = "demo.pptx"
165
+ upload_file(merge_file_name_2)
166
+
167
+ merge_request = PresentationsMergeRequest.new
168
+ merge_request.presentation_paths = [merge_file_name_1, merge_file_name_2]
169
+
170
+ response = @slides_api.post_presentation_merge(file_name, merge_request)
171
+ assert(response, message="Failed to merge presentations.")
172
+ end
173
+
174
+ def test_post_slides_presentation_replace_text
175
+ file_name = "sample.pptx"
176
+ upload_file(file_name)
177
+
178
+ old_value = "aspose"
179
+ new_value = "Aspose File Format APIs"
180
+ response = @slides_api.post_slides_presentation_replace_text(file_name, old_value, new_value)
181
+ assert(response, message="Failed to replace text by a new value.")
182
+ end
183
+
184
+ def test_post_slides_save_as_html
185
+ file_name = "sample.pptx"
186
+ upload_file(file_name)
187
+
188
+ html_export_options = HtmlExportOptions.new
189
+ html_export_options.save_as_zip = true
190
+
191
+ response = @slides_api.post_slides_save_as_html(file_name, html_export_options)
192
+ assert(response, message="Failed to save presentation in html format with options.")
193
+ end
194
+
195
+ def test_post_slides_save_as_pdf
196
+ file_name = "sample.pptx"
197
+ upload_file(file_name)
198
+
199
+ pdf_export_options = PdfExportOptions.new
200
+ pdf_export_options.jpeg_quality = "50"
201
+
202
+ response = @slides_api.post_slides_save_as_pdf(file_name, pdf_export_options)
203
+ assert(response, message="Failed to save presentation in pdf format with options.")
204
+ end
205
+
206
+ def test_post_slides_save_as_tiff
207
+ file_name = "sample.pptx"
208
+ upload_file(file_name)
209
+
210
+ tiff_export_options = TiffExportOptions.new
211
+ tiff_export_options.export_format = "tiff"
212
+
213
+ response = @slides_api.post_slides_save_as_tiff(file_name, tiff_export_options)
214
+ assert(response, message="Failed to saves presentation in tiff format with options.")
215
+ end
216
+
217
+ def test_get_slides_slides_list
218
+ file_name = "sample.pptx"
219
+ upload_file(file_name)
220
+
221
+ response = @slides_api.get_slides_slides_list(file_name)
222
+ assert(response, message="Failed to read presentation slides info.")
223
+ end
224
+
225
+ def test_post_add_slide_copy
226
+ file_name = "sample.pptx"
227
+ upload_file(file_name)
228
+
229
+ slide_to_clone = 1
230
+ response = @slides_api.post_add_slide_copy(file_name, slide_to_clone)
231
+ assert(response, message="Failed to add slide copy.")
232
+ end
233
+
234
+ def test_delete_slides_clean_slides_list
235
+ file_name = "sample.pptx"
236
+ upload_file(file_name)
237
+
238
+ response = @slides_api.delete_slides_clean_slides_list(file_name)
239
+ assert(response, message="Failed to delete presentation slides.")
240
+ end
241
+
242
+ def test_get_slide_with_format
243
+ file_name = "sample.pptx"
244
+ upload_file(file_name)
245
+
246
+ slide_index = 1
247
+ format = "pdf"
248
+ response = @slides_api.get_slide_with_format(file_name, slide_index, format)
249
+ assert(response, message="Failed to get slide in specified format")
250
+ end
251
+
252
+ def test_delete_slide_by_index
253
+ file_name = "sample.pptx"
254
+ upload_file(file_name)
255
+
256
+ slide_index = 1
257
+ response = @slides_api.delete_slide_by_index(file_name, slide_index)
258
+ assert(response, message="Failed to delete presentation slide by its index.")
259
+ end
260
+
261
+ def test_get_slides_slide_background
262
+ file_name = "sample.pptx"
263
+ upload_file(file_name)
264
+
265
+ slide_index = 1
266
+ response = @slides_api.get_slides_slide_background(file_name, slide_index)
267
+ assert(response, message="Failed to read presentation slide background color type.")
268
+ end
269
+
270
+ def test_put_slides_slide_background
271
+ file_name = "sample.pptx"
272
+ upload_file(file_name)
273
+
274
+ slide_index = 1
275
+ color = "FFFF0000"
276
+ response = @slides_api.put_slides_slide_background(file_name, slide_index, color)
277
+ assert(response, message="Failed to set presentation slide background color.")
278
+ end
279
+
280
+ def test_delete_slides_slide_background
281
+ file_name = "sample.pptx"
282
+ upload_file(file_name)
283
+
284
+ slide_index = 1
285
+ response = @slides_api.delete_slides_slide_background(file_name, slide_index)
286
+ assert(response, message="Failed to remove presentation slide background color.")
287
+ end
288
+
289
+ def test_get_slides_slide_comments
290
+ file_name = "sample.pptx"
291
+ upload_file(file_name)
292
+ slide_index = 1
293
+ response = @slides_api.get_slides_slide_comments(file_name, slide_index)
294
+ assert(response, message="Failed to read presentation slide comments.")
295
+ end
296
+
297
+ def test_get_slides_slide_images
298
+ file_name = "sample.pptx"
299
+ upload_file(file_name)
300
+ slide_index = 1
301
+ response = @slides_api.get_slides_slide_images(file_name, slide_index)
302
+ assert(response, message="Failed to read slide images info.")
303
+ end
304
+
305
+ def test_get_slides_placeholders
306
+ file_name = "sample.pptx"
307
+ upload_file(file_name)
308
+ slide_index = 1
309
+ response = @slides_api.get_slides_placeholders(file_name, slide_index)
310
+ assert(response, message="Failed to read slide placeholders info.")
311
+ end
312
+
313
+ def test_get_slides_placeholder
314
+ file_name = "sample-input.pptx"
315
+ upload_file(file_name)
316
+ slide_index = 1
317
+ placeholder_index = 0
318
+ response = @slides_api.get_slides_placeholder(file_name, slide_index, placeholder_index)
319
+ assert(response, message="Failed to read slide placeholder info.")
320
+ end
321
+
322
+ def test_post_slides_slide_replace_text
323
+ file_name = "sample.pptx"
324
+ upload_file(file_name)
325
+
326
+ slide_index = 1
327
+ old_value = "aspose"
328
+ new_value = "Aspose File Format APIs"
329
+ response = @slides_api.post_slides_slide_replace_text(file_name, slide_index, old_value, new_value)
330
+ assert(response, message="Failed to replace text by a new value.")
331
+ end
332
+
333
+ def test_get_slides_slide_shapes
334
+ file_name = "sample.pptx"
335
+ upload_file(file_name)
336
+
337
+ slide_index = 1
338
+ response = @slides_api.get_slides_slide_shapes(file_name, slide_index)
339
+ assert(response, message="Failed to read slides shapes info.")
340
+ end
341
+
342
+ def test_post_add_new_shape
343
+ file_name = "sample-input.pptx"
344
+ upload_file(file_name)
345
+
346
+ slide_index = 1
347
+ shape = Shape.new
348
+ shape.alternative_text = "Aspose"
349
+ shape.shape_type = "Line"
350
+ response = @slides_api.post_add_new_shape(file_name, slide_index, shape)
351
+ puts response
352
+ assert(response, message="Failed to creates new shape.")
353
+ end
354
+
355
+ def test_get_shape_with_format
356
+ file_name = "sample.pptx"
357
+ upload_file(file_name)
358
+
359
+ slide_index = 1
360
+ shape_index = 1
361
+ format = "png"
362
+ response = @slides_api.get_shape_with_format(file_name, slide_index, shape_index, format)
363
+ assert(response, message="Failed to render shape to specified picture format.")
364
+ end
365
+
366
+ def test_get_slide_shape_paragraphs
367
+ file_name = "sample.pptx"
368
+ upload_file(file_name)
369
+
370
+ slide_index = 1
371
+ shape_index = 1
372
+ response = @slides_api.get_slide_shape_paragraphs(file_name, slide_index, shape_index)
373
+ assert(response, message="Failed to reads a list of paragraphs in shape's textBody.")
374
+ end
375
+
376
+ def test_get_shape_paragraph
377
+ file_name = "sample.pptx"
378
+ upload_file(file_name)
379
+
380
+ slide_index = 1
381
+ shape_index = 1
382
+ paragraph_index = 1
383
+ response = @slides_api.get_shape_paragraph(file_name, slide_index, shape_index, paragraph_index)
384
+ assert(response, message="Failed to reads paragraph in shape's textBody.")
385
+ end
386
+
387
+ def test_get_paragraph_portion
388
+ file_name = "sample.pptx"
389
+ upload_file(file_name)
390
+
391
+ slide_index = 1
392
+ shape_index = 1
393
+ paragraph_index = 1
394
+ portion_index = 1
395
+ response = @slides_api.get_paragraph_portion(file_name, slide_index, shape_index, paragraph_index, portion_index)
396
+ assert(response, message="Failed to reads paragraph portion in shape's textBody.")
397
+ end
398
+
399
+ def test_put_set_paragraph_portion_properties
400
+ file_name = "sample.pptx"
401
+ upload_file(file_name)
402
+
403
+ slide_index = 1
404
+ shape_index = 1
405
+ paragraph_index = 1
406
+ portion_index = 1
407
+ portion = Portion.new
408
+ portion.text = "Aspose.Slides for iOS"
409
+ portion.font_color = "FFFF0000"
410
+ response = @slides_api.put_set_paragraph_portion_properties(file_name, slide_index, shape_index, paragraph_index, portion_index, portion)
411
+ assert(response, message="Failed to updates paragraph portion properties.")
412
+ end
413
+
414
+ def test_get_slides_slide_shapes_parent
415
+ file_name = "sample-input.pptx"
416
+ upload_file(file_name)
417
+
418
+ slide_index = 1
419
+ shape_path = "1"
420
+ response = @slides_api.get_slides_slide_shapes_parent(file_name, slide_index, shape_path)
421
+ assert(response, message="Failed to read slide shapes or shape info.")
422
+ end
423
+
424
+ def test_put_slide_shape_info
425
+ file_name = "sample.pptx"
426
+ upload_file(file_name)
427
+
428
+ slide_index = 1
429
+ shape_path = "1"
430
+ shape = Shape.new
431
+ shape.alternative_text = "Aspose"
432
+
433
+ response = @slides_api.put_slide_shape_info(file_name, slide_index, shape_path, shape)
434
+ assert(response, message="Failed to updates shape properties.")
435
+ end
436
+
437
+ def test_get_slides_slide_text_items
438
+ file_name = "sample.pptx"
439
+ upload_file(file_name)
440
+
441
+ slide_index = 1
442
+ response = @slides_api.get_slides_slide_text_items(file_name, slide_index)
443
+ assert(response, message="Failed to extract slide text items.")
444
+ end
445
+
446
+ def test_get_slides_theme
447
+ file_name = "sample.pptx"
448
+ upload_file(file_name)
449
+ slide_index = 1
450
+ response = @slides_api.get_slides_theme(file_name, slide_index)
451
+ assert(response, message="Failed to read slide theme info.")
452
+ end
453
+
454
+ def test_get_slides_theme_color_scheme
455
+ file_name = "sample.pptx"
456
+ upload_file(file_name)
457
+
458
+ slide_index = 1
459
+ response = @slides_api.get_slides_theme_color_scheme(file_name, slide_index)
460
+ assert(response, message="Failed to read slide theme color scheme info.")
461
+ end
462
+
463
+ def test_get_slides_theme_font_scheme
464
+ file_name = "sample.pptx"
465
+ upload_file(file_name)
466
+
467
+ slide_index = 1
468
+ response = @slides_api.get_slides_theme_font_scheme(file_name, slide_index)
469
+ assert(response, message="Failed to read slide theme font scheme info.")
470
+ end
471
+
472
+ def test_get_slides_theme_format_scheme
473
+ file_name = "sample.pptx"
474
+ upload_file(file_name)
475
+
476
+ slide_index = 1
477
+ response = @slides_api.get_slides_theme_format_scheme(file_name, slide_index)
478
+ assert(response, message="Failed to read slide theme color scheme info.")
479
+ end
480
+
481
+ def test_post_slides_split
482
+ file_name = "sample-input.pptx"
483
+ upload_file(file_name)
484
+
485
+ response = @slides_api.post_slides_split(file_name, {to: 3, from: 2, format: "png"})
486
+ assert(response, message="Failed to split presentation.")
487
+ end
488
+
489
+ def test_get_slides_presentation_text_items
490
+ file_name = "sample.pptx"
491
+ upload_file(file_name)
492
+
493
+ response = @slides_api.get_slides_presentation_text_items(file_name)
494
+ assert(response, message="Failed to extract presentation text items.")
495
+ end
496
+
497
+ def test_put_new_presentation
498
+ file_name = "newPresentation.pptx"
499
+
500
+ response = @slides_api.put_new_presentation(file_name, File.open("data/sample.pptx","r") { |io| io.read })
501
+ assert(response, message="Failed to create presentation")
502
+ end
503
+
504
+ def test_get_slides_document
505
+ file_name = "sample.pptx"
506
+ upload_file(file_name)
507
+
508
+ response = @slides_api.get_slides_document(file_name)
509
+ assert(response, message="Failed to read presentation info.")
510
+ end
511
+
512
+ def test_get_slides_slide
513
+ file_name = "sample.pptx"
514
+ upload_file(file_name)
515
+
516
+ slide_index = 1
517
+ response = @slides_api.get_slides_slide(file_name, slide_index)
518
+ assert(response, message="Failed to read slide info.")
519
+ end
520
+
521
+ def test_post_slides_reorder_position
522
+ file_name = "sample-input.pptx"
523
+ upload_file(file_name)
524
+
525
+ old_position = 1
526
+ new_position = 2
527
+ response = @slides_api.post_slides_reorder_position(file_name, old_position, new_position)
528
+ assert(response, message="Failed to reorder presentation slide position.")
529
+ end
530
+
531
+ def test_post_add_empty_slide
532
+ file_name = "sample.pptx"
533
+ upload_file(file_name)
534
+
535
+ response = @slides_api.post_add_empty_slide(file_name)
536
+ assert(response, message="Failed to add empty slide")
537
+ end
538
+
539
+ def test_post_add_empty_slide_at_position
540
+ file_name = "sample.pptx"
541
+ upload_file(file_name)
542
+
543
+ position = 1
544
+ response = @slides_api.post_add_empty_slide_at_position(file_name, position)
545
+ assert(response, message="Failed to add empty slide at position")
546
+ end
547
+
548
+ def test_post_clone_presentation_slide
549
+ file_name = "sample.pptx"
550
+ upload_file(file_name)
551
+
552
+ position = 1
553
+ slide_to_clone = 1
554
+ response = @slides_api.post_clone_presentation_slide(file_name, position, slide_to_clone)
555
+ assert(response, message="Failed to clone presentation slide")
556
+ end
557
+
558
+ def test_post_copy_slide_from_source_presentation
559
+ file_name = "sample.pptx"
560
+ upload_file(file_name)
561
+ source_file = "sample-input.pptx"
562
+ upload_file(source_file)
563
+
564
+ slide_to_copy = 1
565
+ position = 1
566
+ response = @slides_api.post_copy_slide_from_source_presentation(file_name, slide_to_copy, source_file, position)
567
+ assert(response, message="Failed to copy slide from source presentation.")
568
+ end
569
+
570
+ end