aspose_slides_cloud 22.1.0 → 22.2.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 (245) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +16 -0
  3. data/README.md +14 -3
  4. data/TestData/test.pptx +0 -0
  5. data/aspose_slides_cloud.gemspec +3 -1
  6. data/docker-entrypoint.sh +7 -0
  7. data/lib/aspose_slides_cloud/api/slides_api.rb +946 -654
  8. data/lib/aspose_slides_cloud/api_client.rb +11 -0
  9. data/lib/aspose_slides_cloud/models/accent_element.rb +4 -0
  10. data/lib/aspose_slides_cloud/models/add_layout_slide.rb +4 -0
  11. data/lib/aspose_slides_cloud/models/add_master_slide.rb +4 -0
  12. data/lib/aspose_slides_cloud/models/add_shape.rb +4 -0
  13. data/lib/aspose_slides_cloud/models/add_slide.rb +4 -0
  14. data/lib/aspose_slides_cloud/models/api_info.rb +4 -0
  15. data/lib/aspose_slides_cloud/models/arc_to_path_segment.rb +4 -0
  16. data/lib/aspose_slides_cloud/models/array_element.rb +4 -0
  17. data/lib/aspose_slides_cloud/models/arrow_head_properties.rb +4 -0
  18. data/lib/aspose_slides_cloud/models/audio_frame.rb +4 -0
  19. data/lib/aspose_slides_cloud/models/axes.rb +4 -0
  20. data/lib/aspose_slides_cloud/models/axis.rb +10 -6
  21. data/lib/aspose_slides_cloud/models/bar_element.rb +4 -0
  22. data/lib/aspose_slides_cloud/models/base64_input_file.rb +4 -0
  23. data/lib/aspose_slides_cloud/models/block_element.rb +4 -0
  24. data/lib/aspose_slides_cloud/models/blur_effect.rb +4 -0
  25. data/lib/aspose_slides_cloud/models/border_box_element.rb +4 -0
  26. data/lib/aspose_slides_cloud/models/box_and_whisker_series.rb +6 -5
  27. data/lib/aspose_slides_cloud/models/box_element.rb +4 -0
  28. data/lib/aspose_slides_cloud/models/bubble_chart_data_point.rb +4 -0
  29. data/lib/aspose_slides_cloud/models/bubble_series.rb +19 -7
  30. data/lib/aspose_slides_cloud/models/camera.rb +4 -0
  31. data/lib/aspose_slides_cloud/models/chart.rb +4 -0
  32. data/lib/aspose_slides_cloud/models/chart_category.rb +4 -0
  33. data/lib/aspose_slides_cloud/models/chart_title.rb +4 -0
  34. data/lib/aspose_slides_cloud/models/chart_wall.rb +4 -0
  35. data/lib/aspose_slides_cloud/models/close_path_segment.rb +4 -0
  36. data/lib/aspose_slides_cloud/models/color_scheme.rb +4 -0
  37. data/lib/aspose_slides_cloud/models/common_slide_view_properties.rb +4 -0
  38. data/lib/aspose_slides_cloud/models/connector.rb +4 -0
  39. data/lib/aspose_slides_cloud/models/cubic_bezier_to_path_segment.rb +4 -0
  40. data/lib/aspose_slides_cloud/models/custom_dash_pattern.rb +4 -0
  41. data/lib/aspose_slides_cloud/models/data_point.rb +4 -0
  42. data/lib/aspose_slides_cloud/models/delimiter_element.rb +4 -0
  43. data/lib/aspose_slides_cloud/models/disc_usage.rb +4 -0
  44. data/lib/aspose_slides_cloud/models/document.rb +4 -0
  45. data/lib/aspose_slides_cloud/models/document_properties.rb +4 -0
  46. data/lib/aspose_slides_cloud/models/document_property.rb +4 -0
  47. data/lib/aspose_slides_cloud/models/document_replace_result.rb +4 -0
  48. data/lib/aspose_slides_cloud/models/effect.rb +4 -0
  49. data/lib/aspose_slides_cloud/models/effect_format.rb +4 -0
  50. data/lib/aspose_slides_cloud/models/entity_exists.rb +4 -0
  51. data/lib/aspose_slides_cloud/models/error.rb +4 -0
  52. data/lib/aspose_slides_cloud/models/error_details.rb +4 -0
  53. data/lib/aspose_slides_cloud/models/export_format.rb +1 -0
  54. data/lib/aspose_slides_cloud/models/export_options.rb +4 -0
  55. data/lib/aspose_slides_cloud/models/file_version.rb +4 -0
  56. data/lib/aspose_slides_cloud/models/file_versions.rb +4 -0
  57. data/lib/aspose_slides_cloud/models/files_list.rb +4 -0
  58. data/lib/aspose_slides_cloud/models/files_upload_result.rb +4 -0
  59. data/lib/aspose_slides_cloud/models/fill_format.rb +4 -0
  60. data/lib/aspose_slides_cloud/models/fill_overlay_effect.rb +4 -0
  61. data/lib/aspose_slides_cloud/models/font_scheme.rb +4 -0
  62. data/lib/aspose_slides_cloud/models/font_set.rb +4 -0
  63. data/lib/aspose_slides_cloud/models/format_scheme.rb +4 -0
  64. data/lib/aspose_slides_cloud/models/fraction_element.rb +4 -0
  65. data/lib/aspose_slides_cloud/models/function_element.rb +4 -0
  66. data/lib/aspose_slides_cloud/models/geometry_path.rb +4 -0
  67. data/lib/aspose_slides_cloud/models/geometry_paths.rb +4 -0
  68. data/lib/aspose_slides_cloud/models/geometry_shape.rb +4 -0
  69. data/lib/aspose_slides_cloud/models/gif_export_options.rb +4 -0
  70. data/lib/aspose_slides_cloud/models/glow_effect.rb +4 -0
  71. data/lib/aspose_slides_cloud/models/gradient_fill.rb +4 -0
  72. data/lib/aspose_slides_cloud/models/gradient_fill_stop.rb +4 -0
  73. data/lib/aspose_slides_cloud/models/graphical_object.rb +4 -0
  74. data/lib/aspose_slides_cloud/models/group_shape.rb +4 -0
  75. data/lib/aspose_slides_cloud/models/grouping_character_element.rb +4 -0
  76. data/lib/aspose_slides_cloud/models/header_footer.rb +4 -0
  77. data/lib/aspose_slides_cloud/models/html5_export_options.rb +4 -0
  78. data/lib/aspose_slides_cloud/models/html_export_options.rb +4 -0
  79. data/lib/aspose_slides_cloud/models/hyperlink.rb +4 -0
  80. data/lib/aspose_slides_cloud/models/i_shape_export_options.rb +4 -0
  81. data/lib/aspose_slides_cloud/models/image.rb +4 -0
  82. data/lib/aspose_slides_cloud/models/image_export_options.rb +4 -0
  83. data/lib/aspose_slides_cloud/models/images.rb +4 -0
  84. data/lib/aspose_slides_cloud/models/inner_shadow_effect.rb +4 -0
  85. data/lib/aspose_slides_cloud/models/input.rb +4 -0
  86. data/lib/aspose_slides_cloud/models/input_file.rb +4 -0
  87. data/lib/aspose_slides_cloud/models/interactive_sequence.rb +4 -0
  88. data/lib/aspose_slides_cloud/models/layout_slide.rb +4 -0
  89. data/lib/aspose_slides_cloud/models/layout_slides.rb +4 -0
  90. data/lib/aspose_slides_cloud/models/left_sub_superscript_element.rb +4 -0
  91. data/lib/aspose_slides_cloud/models/legend.rb +4 -0
  92. data/lib/aspose_slides_cloud/models/light_rig.rb +4 -0
  93. data/lib/aspose_slides_cloud/models/limit_element.rb +4 -0
  94. data/lib/aspose_slides_cloud/models/line_format.rb +4 -0
  95. data/lib/aspose_slides_cloud/models/line_to_path_segment.rb +4 -0
  96. data/lib/aspose_slides_cloud/models/master_slide.rb +4 -0
  97. data/lib/aspose_slides_cloud/models/master_slides.rb +4 -0
  98. data/lib/aspose_slides_cloud/models/math_element.rb +4 -0
  99. data/lib/aspose_slides_cloud/models/math_paragraph.rb +4 -0
  100. data/lib/aspose_slides_cloud/models/matrix_element.rb +4 -0
  101. data/lib/aspose_slides_cloud/models/merge.rb +4 -0
  102. data/lib/aspose_slides_cloud/models/merging_source.rb +4 -0
  103. data/lib/aspose_slides_cloud/models/move_to_path_segment.rb +4 -0
  104. data/lib/aspose_slides_cloud/models/nary_operator_element.rb +4 -0
  105. data/lib/aspose_slides_cloud/models/no_fill.rb +4 -0
  106. data/lib/aspose_slides_cloud/models/normal_view_restored_properties.rb +4 -0
  107. data/lib/aspose_slides_cloud/models/notes_slide.rb +4 -0
  108. data/lib/aspose_slides_cloud/models/notes_slide_header_footer.rb +4 -0
  109. data/lib/aspose_slides_cloud/models/object_exist.rb +4 -0
  110. data/lib/aspose_slides_cloud/models/ole_object_frame.rb +4 -0
  111. data/lib/aspose_slides_cloud/models/one_value_chart_data_point.rb +4 -0
  112. data/lib/aspose_slides_cloud/models/one_value_series.rb +16 -6
  113. data/lib/aspose_slides_cloud/models/ordered_merge_request.rb +4 -0
  114. data/lib/aspose_slides_cloud/models/outer_shadow_effect.rb +4 -0
  115. data/lib/aspose_slides_cloud/models/output_file.rb +4 -0
  116. data/lib/aspose_slides_cloud/models/paragraph.rb +4 -0
  117. data/lib/aspose_slides_cloud/models/paragraphs.rb +4 -0
  118. data/lib/aspose_slides_cloud/models/path_input_file.rb +4 -0
  119. data/lib/aspose_slides_cloud/models/path_output_file.rb +4 -0
  120. data/lib/aspose_slides_cloud/models/path_segment.rb +4 -0
  121. data/lib/aspose_slides_cloud/models/pattern_fill.rb +4 -0
  122. data/lib/aspose_slides_cloud/models/pdf_export_options.rb +4 -0
  123. data/lib/aspose_slides_cloud/models/picture_fill.rb +4 -0
  124. data/lib/aspose_slides_cloud/models/picture_frame.rb +4 -0
  125. data/lib/aspose_slides_cloud/models/pipeline.rb +4 -0
  126. data/lib/aspose_slides_cloud/models/placeholder.rb +4 -0
  127. data/lib/aspose_slides_cloud/models/placeholders.rb +4 -0
  128. data/lib/aspose_slides_cloud/models/plot_area.rb +4 -0
  129. data/lib/aspose_slides_cloud/models/portion.rb +4 -0
  130. data/lib/aspose_slides_cloud/models/portions.rb +4 -0
  131. data/lib/aspose_slides_cloud/models/pptx_export_options.rb +4 -0
  132. data/lib/aspose_slides_cloud/models/presentation_to_merge.rb +4 -0
  133. data/lib/aspose_slides_cloud/models/presentations_merge_request.rb +4 -0
  134. data/lib/aspose_slides_cloud/models/preset_shadow_effect.rb +4 -0
  135. data/lib/aspose_slides_cloud/models/protection_properties.rb +4 -0
  136. data/lib/aspose_slides_cloud/models/quadratic_bezier_to_path_segment.rb +4 -0
  137. data/lib/aspose_slides_cloud/models/radical_element.rb +4 -0
  138. data/lib/aspose_slides_cloud/models/reflection_effect.rb +4 -0
  139. data/lib/aspose_slides_cloud/models/remove_shape.rb +4 -0
  140. data/lib/aspose_slides_cloud/models/remove_slide.rb +4 -0
  141. data/lib/aspose_slides_cloud/models/reorder_slide.rb +4 -0
  142. data/lib/aspose_slides_cloud/models/replace_text.rb +4 -0
  143. data/lib/aspose_slides_cloud/models/request_input_file.rb +4 -0
  144. data/lib/aspose_slides_cloud/models/reset_slide.rb +4 -0
  145. data/lib/aspose_slides_cloud/models/resource_base.rb +4 -0
  146. data/lib/aspose_slides_cloud/models/resource_uri.rb +4 -0
  147. data/lib/aspose_slides_cloud/models/response_output_file.rb +4 -0
  148. data/lib/aspose_slides_cloud/models/right_sub_superscript_element.rb +4 -0
  149. data/lib/aspose_slides_cloud/models/save.rb +6 -2
  150. data/lib/aspose_slides_cloud/models/save_shape.rb +4 -0
  151. data/lib/aspose_slides_cloud/models/save_slide.rb +4 -0
  152. data/lib/aspose_slides_cloud/models/scatter_chart_data_point.rb +4 -0
  153. data/lib/aspose_slides_cloud/models/scatter_series.rb +8 -6
  154. data/lib/aspose_slides_cloud/models/section.rb +4 -0
  155. data/lib/aspose_slides_cloud/models/section_zoom_frame.rb +256 -0
  156. data/lib/aspose_slides_cloud/models/sections.rb +4 -0
  157. data/lib/aspose_slides_cloud/models/series.rb +5 -41
  158. data/lib/aspose_slides_cloud/models/series_marker.rb +4 -0
  159. data/lib/aspose_slides_cloud/models/shape.rb +16 -2
  160. data/lib/aspose_slides_cloud/models/shape_base.rb +6 -2
  161. data/lib/aspose_slides_cloud/models/shape_bevel.rb +4 -0
  162. data/lib/aspose_slides_cloud/models/shape_image_export_options.rb +4 -0
  163. data/lib/aspose_slides_cloud/models/shapes.rb +4 -0
  164. data/lib/aspose_slides_cloud/models/slide.rb +4 -0
  165. data/lib/aspose_slides_cloud/models/slide_animation.rb +4 -0
  166. data/lib/aspose_slides_cloud/models/slide_background.rb +4 -0
  167. data/lib/aspose_slides_cloud/models/slide_comment.rb +4 -0
  168. data/lib/aspose_slides_cloud/models/slide_comments.rb +4 -0
  169. data/lib/aspose_slides_cloud/models/slide_properties.rb +4 -0
  170. data/lib/aspose_slides_cloud/models/slide_replace_result.rb +4 -0
  171. data/lib/aspose_slides_cloud/models/slides.rb +4 -0
  172. data/lib/aspose_slides_cloud/models/smart_art.rb +4 -0
  173. data/lib/aspose_slides_cloud/models/smart_art_node.rb +4 -0
  174. data/lib/aspose_slides_cloud/models/smart_art_shape.rb +4 -0
  175. data/lib/aspose_slides_cloud/models/soft_edge_effect.rb +4 -0
  176. data/lib/aspose_slides_cloud/models/solid_fill.rb +4 -0
  177. data/lib/aspose_slides_cloud/models/split_document_result.rb +4 -0
  178. data/lib/aspose_slides_cloud/models/storage_exist.rb +4 -0
  179. data/lib/aspose_slides_cloud/models/storage_file.rb +4 -0
  180. data/lib/aspose_slides_cloud/models/subscript_element.rb +4 -0
  181. data/lib/aspose_slides_cloud/models/summary_zoom_frame.rb +275 -0
  182. data/lib/aspose_slides_cloud/models/summary_zoom_section.rb +267 -0
  183. data/lib/aspose_slides_cloud/models/superscript_element.rb +4 -0
  184. data/lib/aspose_slides_cloud/models/svg_export_options.rb +4 -0
  185. data/lib/aspose_slides_cloud/models/swf_export_options.rb +4 -0
  186. data/lib/aspose_slides_cloud/models/table.rb +4 -0
  187. data/lib/aspose_slides_cloud/models/table_cell.rb +4 -0
  188. data/lib/aspose_slides_cloud/models/table_column.rb +4 -0
  189. data/lib/aspose_slides_cloud/models/table_row.rb +4 -0
  190. data/lib/aspose_slides_cloud/models/task.rb +4 -0
  191. data/lib/aspose_slides_cloud/models/text_element.rb +4 -0
  192. data/lib/aspose_slides_cloud/models/text_frame_format.rb +255 -0
  193. data/lib/aspose_slides_cloud/models/text_item.rb +4 -0
  194. data/lib/aspose_slides_cloud/models/text_items.rb +4 -0
  195. data/lib/aspose_slides_cloud/models/theme.rb +4 -0
  196. data/lib/aspose_slides_cloud/models/three_d_format.rb +4 -0
  197. data/lib/aspose_slides_cloud/models/tiff_export_options.rb +4 -0
  198. data/lib/aspose_slides_cloud/models/update_background.rb +4 -0
  199. data/lib/aspose_slides_cloud/models/update_shape.rb +4 -0
  200. data/lib/aspose_slides_cloud/models/video_export_options.rb +258 -0
  201. data/lib/aspose_slides_cloud/models/video_frame.rb +4 -0
  202. data/lib/aspose_slides_cloud/models/view_properties.rb +4 -0
  203. data/lib/aspose_slides_cloud/models/waterfall_chart_data_point.rb +4 -0
  204. data/lib/aspose_slides_cloud/models/waterfall_series.rb +6 -5
  205. data/lib/aspose_slides_cloud/models/xaml_export_options.rb +4 -0
  206. data/lib/aspose_slides_cloud/models/xps_export_options.rb +4 -0
  207. data/lib/aspose_slides_cloud/models/xy_series.rb +255 -0
  208. data/lib/aspose_slides_cloud/models/zoom_frame.rb +256 -0
  209. data/lib/aspose_slides_cloud/models/zoom_object.rb +301 -0
  210. data/lib/aspose_slides_cloud/type_registry.rb +23 -5
  211. data/lib/aspose_slides_cloud/version.rb +1 -1
  212. data/lib/aspose_slides_cloud.rb +10 -2
  213. data/spec/api/slides_api_spec.rb +822 -0
  214. data/spec/use_cases/abstract_class_spec.rb +38 -0
  215. data/spec/use_cases/animation_spec.rb +193 -0
  216. data/spec/use_cases/auth_spec.rb +91 -0
  217. data/spec/use_cases/chart_spec.rb +291 -0
  218. data/spec/use_cases/convert_spec.rb +154 -0
  219. data/spec/use_cases/create_spec.rb +101 -0
  220. data/spec/use_cases/header_footer_spec.rb +78 -0
  221. data/spec/use_cases/hyperlink_spec.rb +92 -0
  222. data/spec/use_cases/image_spec.rb +102 -0
  223. data/spec/use_cases/layout_slide_spec.rb +190 -0
  224. data/spec/use_cases/master_slide_spec.rb +190 -0
  225. data/spec/use_cases/math_spec.rb +163 -0
  226. data/spec/use_cases/merge_spec.rb +106 -0
  227. data/spec/use_cases/notes_slide_spec.rb +172 -0
  228. data/spec/use_cases/nullable_field_spec.rb +86 -0
  229. data/spec/use_cases/pipeline_spec.rb +61 -0
  230. data/spec/use_cases/property_spec.rb +177 -0
  231. data/spec/use_cases/section_spec.rb +104 -0
  232. data/spec/use_cases/shape_format_spec.rb +126 -0
  233. data/spec/use_cases/shape_spec.rb +399 -0
  234. data/spec/use_cases/split_spec.rb +88 -0
  235. data/spec/use_cases/text_spec.rb +74 -0
  236. data/spec/use_cases/timeout_spec.rb +44 -0
  237. data/spec/use_cases/watermark_spec.rb +158 -0
  238. data/testRules.json +3 -0
  239. metadata +105 -15
  240. data/TestData/ChartTest.pptx +0 -0
  241. data/TestData/Sections.pptx +0 -0
  242. data/TestData/placeholders.pptx +0 -0
  243. data/TestData/test-unprotected.ppt +0 -0
  244. data/TestData/test.ppt +0 -0
  245. data/spec/extra/extra_spec.rb +0 -203
@@ -0,0 +1,172 @@
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 'Notes Slide' do
27
+ it 'get from storage' do
28
+ folder_name = "TempSlidesSDK"
29
+ file_name = "test.pptx"
30
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
31
+ result = AsposeSlidesCloud::SpecUtils.api.get_notes_slide(file_name, 1, "password", folder_name)
32
+ expect(result.text).to be_truthy
33
+ end
34
+
35
+ it 'exists from storage' do
36
+ folder_name = "TempSlidesSDK"
37
+ file_name = "test.pptx"
38
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
39
+ result = AsposeSlidesCloud::SpecUtils.api.notes_slide_exists(file_name, 1, "password", folder_name)
40
+ expect(result.exists).to be true
41
+ end
42
+
43
+ it 'download from storage' do
44
+ folder_name = "TempSlidesSDK"
45
+ file_name = "test.pptx"
46
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
47
+ AsposeSlidesCloud::SpecUtils.api.download_notes_slide(file_name, 1, AsposeSlidesCloud::NotesSlideExportFormat::PNG, nil, nil, "password", folder_name)
48
+ end
49
+
50
+ it 'get from request' do
51
+ source = File.binread("TestData/test.pptx")
52
+ result = AsposeSlidesCloud::SpecUtils.api.get_notes_slide_online(source, 1, "password")
53
+ expect(result.text).to be_truthy
54
+ end
55
+
56
+ it 'exists from request' do
57
+ source = File.binread("TestData/test.pptx")
58
+ result = AsposeSlidesCloud::SpecUtils.api.notes_slide_exists_online(source, 1, "password")
59
+ expect(result.exists).to be true
60
+ end
61
+
62
+ it 'download from request' do
63
+ source = File.binread("TestData/test.pptx")
64
+ AsposeSlidesCloud::SpecUtils.api.download_notes_slide_online(source, 1, AsposeSlidesCloud::NotesSlideExportFormat::PNG, nil, nil, "password")
65
+ end
66
+
67
+ it 'shapes' do
68
+ folder_name = "TempSlidesSDK"
69
+ file_name = "test.pptx"
70
+ password = "password"
71
+ slide_index = 1
72
+ shape_count = 3
73
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
74
+
75
+ shapes = AsposeSlidesCloud::SpecUtils.api.get_special_slide_shapes(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, password, folder_name)
76
+ expect(shapes.shapes_links.length).to eq(shape_count)
77
+
78
+ dto = AsposeSlidesCloud::Shape.new
79
+ dto.x = 100
80
+ dto.y = 100
81
+ dto.width = 500
82
+ dto.height = 200
83
+ dto.shape_type = "Rectangle"
84
+ dto.text = "New shape"
85
+ shape = AsposeSlidesCloud::SpecUtils.api.create_special_slide_shape(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, dto, nil, nil, password, folder_name)
86
+ expect(shape.text).to eq(dto.text)
87
+ shapes = AsposeSlidesCloud::SpecUtils.api.get_special_slide_shapes(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, password, folder_name)
88
+ expect(shapes.shapes_links.length).to eq(shape_count + 1)
89
+
90
+ dto.text = "updated shape"
91
+ shape = AsposeSlidesCloud::SpecUtils.api.update_special_slide_shape(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_count + 1, dto, password, folder_name)
92
+ expect(shape.text).to eq(dto.text)
93
+ shapes = AsposeSlidesCloud::SpecUtils.api.get_special_slide_shapes(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, password, folder_name)
94
+ expect(shapes.shapes_links.length).to eq(shape_count + 1)
95
+
96
+ AsposeSlidesCloud::SpecUtils.api.delete_special_slide_shape(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_count + 1, password, folder_name)
97
+ shapes = AsposeSlidesCloud::SpecUtils.api.get_special_slide_shapes(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, password, folder_name)
98
+ expect(shapes.shapes_links.length).to eq(shape_count)
99
+ end
100
+
101
+ it 'paragraphs' do
102
+ folder_name = "TempSlidesSDK"
103
+ file_name = "test.pptx"
104
+ password = "password"
105
+ slide_index = 1
106
+ shape_index = 2
107
+ paragraph_count = 1
108
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
109
+
110
+ paragraphs = AsposeSlidesCloud::SpecUtils.api.get_special_slide_paragraphs(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_index, password, folder_name)
111
+ expect(paragraphs.paragraph_links.length).to eq(paragraph_count)
112
+
113
+ portion = AsposeSlidesCloud::Portion.new
114
+ portion.text = "New Paragraph"
115
+ dto = AsposeSlidesCloud::Paragraph.new
116
+ dto.alignment = "Right"
117
+ dto.portion_list = [ portion ]
118
+ paragraph = AsposeSlidesCloud::SpecUtils.api.create_special_slide_paragraph(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_index, dto, nil, password, folder_name)
119
+ expect(paragraph.alignment).to eq(dto.alignment)
120
+ paragraphs = AsposeSlidesCloud::SpecUtils.api.get_special_slide_paragraphs(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_index, password, folder_name)
121
+ expect(paragraphs.paragraph_links.length).to eq(paragraph_count + 1)
122
+
123
+ dto = AsposeSlidesCloud::Paragraph.new
124
+ dto.alignment = "Center"
125
+ paragraph = AsposeSlidesCloud::SpecUtils.api.update_special_slide_paragraph(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_index, paragraph_count + 1, dto, password, folder_name)
126
+ expect(paragraph.alignment).to eq(dto.alignment)
127
+ paragraphs = AsposeSlidesCloud::SpecUtils.api.get_special_slide_paragraphs(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_index, password, folder_name)
128
+ expect(paragraphs.paragraph_links.length).to eq(paragraph_count + 1)
129
+
130
+ AsposeSlidesCloud::SpecUtils.api.delete_special_slide_paragraph(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_index, paragraph_count + 1, password, folder_name)
131
+ paragraphs = AsposeSlidesCloud::SpecUtils.api.get_special_slide_paragraphs(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_index, password, folder_name)
132
+ expect(paragraphs.paragraph_links.length).to eq(paragraph_count)
133
+ end
134
+
135
+ it 'portions' do
136
+ folder_name = "TempSlidesSDK"
137
+ file_name = "test.pptx"
138
+ password = "password"
139
+ slide_index = 1
140
+ shape_index = 2
141
+ paragraph_index = 1
142
+ portion_count = 1
143
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
144
+
145
+ portions = AsposeSlidesCloud::SpecUtils.api.get_special_slide_portions(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_index, paragraph_index, password, folder_name)
146
+ expect(portions.items.length).to eq(portion_count)
147
+
148
+ dto = AsposeSlidesCloud::Portion.new
149
+ dto.text = "New portion"
150
+ dto.font_bold = "True"
151
+ portion = AsposeSlidesCloud::SpecUtils.api.create_special_slide_portion(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_index, paragraph_index, dto, nil, password, folder_name)
152
+ expect(portion.font_bold).to eq(dto.font_bold)
153
+ expect(portion.text).to eq(dto.text)
154
+ portions = AsposeSlidesCloud::SpecUtils.api.get_special_slide_portions(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_index, paragraph_index, password, folder_name)
155
+ expect(portions.items.length).to eq(portion_count + 1)
156
+
157
+ dto2 = AsposeSlidesCloud::Portion.new
158
+ dto2.text = "Updated portion"
159
+ dto2.font_height = 22
160
+ portion = AsposeSlidesCloud::SpecUtils.api.update_special_slide_portion(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_index, paragraph_index, portion_count + 1, dto2, password, folder_name)
161
+ expect(portion.font_bold).to eq(dto.font_bold)
162
+ expect(portion.font_height).to eq(dto2.font_height)
163
+ expect(portion.text).to eq(dto2.text)
164
+ portions = AsposeSlidesCloud::SpecUtils.api.get_special_slide_portions(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_index, paragraph_index, password, folder_name)
165
+ expect(portions.items.length).to eq(portion_count + 1)
166
+
167
+ AsposeSlidesCloud::SpecUtils.api.delete_special_slide_portion(file_name, slide_index, AsposeSlidesCloud::SpecialSlideType::NOTES_SLIDE, shape_index, paragraph_index, portion_count + 1, password, folder_name)
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
+ expect(portions.items.length).to eq(portion_count)
170
+ end
171
+ end
172
+ end
@@ -0,0 +1,86 @@
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 'Nullable Fields' do
27
+ it 'nullable properties' do
28
+ folderName = "TempSlidesSDK"
29
+ fileName = "test.pptx"
30
+ password = "password"
31
+ min1 = 44.3
32
+ min2 = 12
33
+ max1 = 104.3
34
+ max2 = 87
35
+ AsposeSlidesCloud::SpecUtils.initialize("no_method", "no_property", nil)
36
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + fileName, folderName + "/" + fileName)
37
+
38
+ dto = AsposeSlidesCloud::Chart.new
39
+ dto.chart_type = "Line"
40
+ dto.width = 400.0
41
+ dto.height = 300.0
42
+ dto.title = AsposeSlidesCloud::ChartTitle.new
43
+ dto.title.has_title = true
44
+ dto.title.text = "MyTitle"
45
+ dto.series = []
46
+ dto.series.push(AsposeSlidesCloud::OneValueSeries.new)
47
+ dto.series[0].type = "ClusteredColumn"
48
+ dto.series[0].data_point_type = "OneValue"
49
+ dto.series[0].name = "Series1"
50
+ dto.series[0].data_points = []
51
+ dto.series[0].data_points.push(AsposeSlidesCloud::OneValueChartDataPoint.new)
52
+ dto.series[0].data_points[0].value = 40.0
53
+ dto.series[0].data_points.push(AsposeSlidesCloud::OneValueChartDataPoint.new)
54
+ dto.series[0].data_points[1].value = 50.0
55
+ dto.axes = AsposeSlidesCloud::Axes.new
56
+ dto.axes.horizontal_axis = AsposeSlidesCloud::Axis.new
57
+ dto.axes.horizontal_axis.is_automatic_min_value = false
58
+ dto.axes.horizontal_axis.min_value = min1
59
+ dto.axes.horizontal_axis.is_automatic_max_value = false
60
+ dto.axes.horizontal_axis.max_value = max1
61
+ AsposeSlidesCloud::SpecUtils.api.create_shape(fileName, 1, dto, nil, nil, password, folderName)
62
+
63
+ result = AsposeSlidesCloud::SpecUtils.api.get_shape(fileName, 1, 5, password, folderName)
64
+ expect(result.axes.horizontal_axis.min_value).to eq(min1)
65
+ expect(result.axes.horizontal_axis.max_value).to eq(max1)
66
+
67
+ dto = AsposeSlidesCloud::Chart.new
68
+ dto.axes = AsposeSlidesCloud::Axes.new
69
+ dto.axes.horizontal_axis = AsposeSlidesCloud::Axis.new
70
+ dto.axes.horizontal_axis.min_value = min2
71
+ AsposeSlidesCloud::SpecUtils.api.update_shape(fileName, 1, 5, dto, password, folderName)
72
+
73
+ result = AsposeSlidesCloud::SpecUtils.api.get_shape(fileName, 1, 5, password, folderName)
74
+ expect(result.axes.horizontal_axis.min_value).to eq(min2)
75
+ expect(result.axes.horizontal_axis.max_value).to eq(max1)
76
+
77
+ dto.axes.horizontal_axis = AsposeSlidesCloud::Axis.new
78
+ dto.axes.horizontal_axis.max_value = max2
79
+ AsposeSlidesCloud::SpecUtils.api.update_shape(fileName, 1, 5, dto, password, folderName)
80
+
81
+ result = AsposeSlidesCloud::SpecUtils.api.get_shape(fileName, 1, 5, password, folderName)
82
+ expect(result.axes.horizontal_axis.min_value).to eq(min2)
83
+ expect(result.axes.horizontal_axis.max_value).to eq(max2)
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,61 @@
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 'Pipeline' do
27
+ it 'pipeline' do
28
+ file1 = AsposeSlidesCloud::RequestInputFile.new
29
+ file1.type = "Request"
30
+ file1.index = 0
31
+
32
+ file2 = AsposeSlidesCloud::RequestInputFile.new
33
+ file2.type = "Request"
34
+ file2.index = 1
35
+
36
+ input = AsposeSlidesCloud::Input.new
37
+ input.template_data = file1
38
+ input.template = file2
39
+
40
+ output = AsposeSlidesCloud::OutputFile.new
41
+ output.type = "Response"
42
+
43
+ task = AsposeSlidesCloud::Save.new
44
+ task.format = AsposeSlidesCloud::ExportFormat::PPTX
45
+ task.output = output
46
+ task.type = "Save"
47
+
48
+ pipeline = AsposeSlidesCloud::Pipeline.new
49
+ pipeline.input = input
50
+ pipeline.tasks = [ task ]
51
+
52
+ files = []
53
+ files.push(File.binread("TestData/TemplatingCVDataWithBase64.xml"))
54
+ files.push(File.binread("TestData/TemplateCV.pptx"))
55
+
56
+ result = AsposeSlidesCloud::SpecUtils.api.pipeline(pipeline, files)
57
+ expect(result).to be_kind_of(String)
58
+ expect(result).to be_truthy
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,177 @@
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 'Properties' do
27
+ it 'builtin' do
28
+ folder_name = "TempSlidesSDK"
29
+ file_name = "test.pptx"
30
+ password = "password"
31
+ property_name = "Author"
32
+ updated_property_value = "New Value"
33
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
34
+ result = AsposeSlidesCloud::SpecUtils.api.get_document_property(file_name, property_name, password, folder_name)
35
+ expect(result.name).to eq(property_name)
36
+ expect(result.built_in).to be true
37
+ property = AsposeSlidesCloud::DocumentProperty.new
38
+ property.value = updated_property_value
39
+ result = AsposeSlidesCloud::SpecUtils.api.set_document_property(file_name, property_name, property, password, folder_name)
40
+ expect(result.name).to eq(property_name)
41
+ expect(result.value).to eq(updated_property_value)
42
+ expect(result.built_in).to be true
43
+ AsposeSlidesCloud::SpecUtils.api.delete_document_property(file_name, property_name, password, folder_name)
44
+ result = AsposeSlidesCloud::SpecUtils.api.get_document_property(file_name, property_name, password, folder_name)
45
+ #built-in property is not actually deleted
46
+ expect(result.name).to eq(property_name)
47
+ expect(result.value).not_to eq(updated_property_value)
48
+ expect(result.built_in).to be true
49
+ end
50
+
51
+ it 'custom' do
52
+ folder_name = "TempSlidesSDK"
53
+ file_name = "test.pptx"
54
+ password = "password"
55
+ property_name = "CustomProperty2"
56
+ updated_property_value = "New Value"
57
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
58
+ property = AsposeSlidesCloud::DocumentProperty.new
59
+ property.value = updated_property_value
60
+ result = AsposeSlidesCloud::SpecUtils.api.set_document_property(file_name, property_name, property, password, folder_name)
61
+ expect(result.name).to eq(property_name)
62
+ expect(result.value).to eq(updated_property_value)
63
+ expect(result.built_in).not_to be true
64
+ AsposeSlidesCloud::SpecUtils.api.delete_document_property(file_name, property_name, password, folder_name)
65
+ begin
66
+ AsposeSlidesCloud::SpecUtils.api.get_document_property(file_name, property_name, password, folder_name)
67
+ fail "The property must have been deleted"
68
+ rescue AsposeSlidesCloud::ApiError => e
69
+ expect(e.code).to eq(404)
70
+ end
71
+ end
72
+
73
+ it 'bulk update' do
74
+ folder_name = "TempSlidesSDK"
75
+ file_name = "test.pptx"
76
+ password = "password"
77
+ property_name = "Author"
78
+ custom_property_name = "CustomProperty2"
79
+ updated_property_value = "New Value"
80
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
81
+ result = AsposeSlidesCloud::SpecUtils.api.get_document_properties(file_name, password, folder_name)
82
+ count = result.list.length
83
+ property1 = AsposeSlidesCloud::DocumentProperty.new
84
+ property1.name = property_name
85
+ property1.value = updated_property_value
86
+ property2 = AsposeSlidesCloud::DocumentProperty.new
87
+ property2.name = custom_property_name
88
+ property2.value = updated_property_value
89
+ properties = AsposeSlidesCloud::DocumentProperties.new
90
+ properties.list = [ property1, property2 ]
91
+ result = AsposeSlidesCloud::SpecUtils.api.set_document_properties(file_name, properties, password, folder_name)
92
+ expect(result.list.length).to eq(count + 1)
93
+ result = AsposeSlidesCloud::SpecUtils.api.delete_document_properties(file_name, password, folder_name)
94
+ expect(result.list.length).to eq(count - 1)
95
+ end
96
+
97
+ it 'slide properties' do
98
+ folder_name = "TempSlidesSDK"
99
+ file_name = "test.pptx"
100
+ password = "password"
101
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
102
+ get_result = AsposeSlidesCloud::SpecUtils.api.get_slide_properties(file_name, password, folder_name)
103
+ dto = AsposeSlidesCloud::SlideProperties.new
104
+ dto.first_slide_number = get_result.first_slide_number + 2
105
+ put_result = AsposeSlidesCloud::SpecUtils.api.set_slide_properties(file_name, dto, password, folder_name)
106
+ expect(put_result.orientation).to eq(get_result.orientation)
107
+ expect(put_result.first_slide_number).not_to eq(get_result.first_slide_number)
108
+ end
109
+
110
+ it 'slide size preset' do
111
+ folder_name = "TempSlidesSDK"
112
+ file_name = "test.pptx"
113
+ password = "password"
114
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
115
+ dto = AsposeSlidesCloud::SlideProperties.new
116
+ dto.size_type = 'B4IsoPaper'
117
+ result = AsposeSlidesCloud::SpecUtils.api.set_slide_properties(file_name, dto, password, folder_name)
118
+ expect(result.size_type).to eq('B4IsoPaper')
119
+ expect(result.width).to eq(852)
120
+ expect(result.height).to eq(639)
121
+ end
122
+
123
+ it 'slide size custom' do
124
+ folder_name = "TempSlidesSDK"
125
+ file_name = "test.pptx"
126
+ password = "password"
127
+ width = 800
128
+ height = 500
129
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
130
+ dto = AsposeSlidesCloud::SlideProperties.new
131
+ dto.width = width
132
+ dto.height = height
133
+ result = AsposeSlidesCloud::SpecUtils.api.set_slide_properties(file_name, dto, password, folder_name)
134
+ expect(result.size_type).to eq('Custom')
135
+ expect(result.width).to eq(width)
136
+ expect(result.height).to eq(height)
137
+ end
138
+
139
+ it 'protection' do
140
+ folder_name = "TempSlidesSDK"
141
+ file_name = "test.pptx"
142
+ password = "password"
143
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
144
+ get_result = AsposeSlidesCloud::SpecUtils.api.get_protection_properties(file_name, password, folder_name)
145
+ dto = AsposeSlidesCloud::ProtectionProperties.new
146
+ dto.read_only_recommended = !get_result.read_only_recommended
147
+ put_result = AsposeSlidesCloud::SpecUtils.api.set_protection(file_name, dto, password, folder_name)
148
+ expect(put_result.encrypt_document_properties).to eq(get_result.encrypt_document_properties)
149
+ expect(put_result.read_only_recommended).not_to eq(get_result.read_only_recommended)
150
+ end
151
+
152
+ it 'protection delete' do
153
+ folder_name = "TempSlidesSDK"
154
+ file_name = "test.pptx"
155
+ password = "password"
156
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
157
+ result = AsposeSlidesCloud::SpecUtils.api.delete_protection(file_name, password, folder_name)
158
+ expect(result.is_encrypted).not_to be true
159
+ expect(result.read_only_recommended).not_to be true
160
+ expect(result.read_password).not_to be true
161
+ end
162
+
163
+ it 'protection online' do
164
+ dto = AsposeSlidesCloud::ProtectionProperties.new
165
+ dto.read_password = "newPassword"
166
+ source = File.binread("TestData/test.pptx")
167
+ result = AsposeSlidesCloud::SpecUtils.api.set_protection_online(source, dto, "password")
168
+ expect(result.size).not_to eq(source.size)
169
+ end
170
+
171
+ it 'protection unprotect online' do
172
+ source = File.binread("TestData/test.pptx")
173
+ result = AsposeSlidesCloud::SpecUtils.api.delete_protection_online(source, "password")
174
+ expect(result.size).not_to eq(source.size)
175
+ end
176
+ end
177
+ end
@@ -0,0 +1,104 @@
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 'Sections' do
27
+ it 'get' do
28
+ folder_name = "TempSlidesSDK"
29
+ file_name = "test.pptx"
30
+ password = "password"
31
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
32
+ result = AsposeSlidesCloud::SpecUtils.api.get_sections(file_name, "password", folder_name)
33
+ expect(result.section_list.length).to eq(3)
34
+ end
35
+
36
+ it 'replace' do
37
+ folder_name = "TempSlidesSDK"
38
+ file_name = "test.pptx"
39
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
40
+ dto = AsposeSlidesCloud::Sections.new
41
+ section1 = AsposeSlidesCloud::Section.new
42
+ section1.name = "Section1"
43
+ section1.first_slide_index = 1
44
+ section2 = AsposeSlidesCloud::Section.new
45
+ section2.name = "Section2"
46
+ section2.first_slide_index = 3
47
+ dto.section_list = [ section1, section2 ]
48
+ result = AsposeSlidesCloud::SpecUtils.api.set_sections(file_name, dto, "password", folder_name)
49
+ expect(result.section_list.length).to eq(dto.section_list.length)
50
+ expect(result.section_list[0].slide_list.length).to eq(section2.first_slide_index - section1.first_slide_index)
51
+ end
52
+
53
+ it 'post' do
54
+ folder_name = "TempSlidesSDK"
55
+ file_name = "test.pptx"
56
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
57
+ result = AsposeSlidesCloud::SpecUtils.api.create_section(file_name, "NewSection", 5, "password", folder_name)
58
+ expect(result.section_list.length).to eq(4)
59
+ end
60
+
61
+ it 'put' do
62
+ folder_name = "TempSlidesSDK"
63
+ file_name = "test.pptx"
64
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
65
+ section_index = 2
66
+ section_name = "UpdatedSection"
67
+ result = AsposeSlidesCloud::SpecUtils.api.update_section(file_name, section_index, section_name, "password", folder_name)
68
+ expect(result.section_list.length).to eq(3)
69
+ expect(result.section_list[section_index - 1].name).to eq(section_name)
70
+ end
71
+
72
+ it 'move' do
73
+ folder_name = "TempSlidesSDK"
74
+ file_name = "test.pptx"
75
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
76
+ result = AsposeSlidesCloud::SpecUtils.api.move_section(file_name, 1, 2, "password", folder_name)
77
+ expect(result.section_list.length).to eq(3)
78
+ end
79
+
80
+ it 'clear' do
81
+ folder_name = "TempSlidesSDK"
82
+ file_name = "test.pptx"
83
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
84
+ result = AsposeSlidesCloud::SpecUtils.api.delete_sections(file_name, nil, nil, "password", folder_name)
85
+ expect(result.section_list.length).to eq(0)
86
+ end
87
+
88
+ it 'delete many' do
89
+ folder_name = "TempSlidesSDK"
90
+ file_name = "test.pptx"
91
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
92
+ result = AsposeSlidesCloud::SpecUtils.api.delete_sections(file_name, [ 2, 3 ], nil, "password", folder_name)
93
+ expect(result.section_list.length).to eq(1)
94
+ end
95
+
96
+ it 'delete' do
97
+ folder_name = "TempSlidesSDK"
98
+ file_name = "test.pptx"
99
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
100
+ result = AsposeSlidesCloud::SpecUtils.api.delete_section(file_name, 2, nil, "password", folder_name)
101
+ expect(result.section_list.length).to eq(2)
102
+ end
103
+ end
104
+ end