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,126 @@
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 'Shape Format' do
27
+ it 'line' do
28
+ folder_name = "TempSlidesSDK"
29
+ file_name = "test.pptx"
30
+ password = "password"
31
+ slideIndex = 1
32
+ shapeIndex = 1
33
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
34
+
35
+ dto = AsposeSlidesCloud::Shape.new
36
+ line_format = AsposeSlidesCloud::LineFormat.new
37
+ line_format.style = "ThickThin"
38
+ line_format.width = 7
39
+ line_format.dash_style = "Dash"
40
+ dto.line_format = line_format
41
+ shape = AsposeSlidesCloud::SpecUtils.api.update_shape(file_name, slideIndex, shapeIndex, dto, password, folder_name)
42
+ expect(shape).to be_kind_of(AsposeSlidesCloud::Shape)
43
+ shape = AsposeSlidesCloud::SpecUtils.api.get_shape(file_name, slideIndex, shapeIndex, password, folder_name)
44
+ expect(shape).to be_kind_of(AsposeSlidesCloud::Shape)
45
+ expect(shape.line_format.width).to eq(dto.line_format.width)
46
+ end
47
+
48
+ it 'fill' do
49
+ folder_name = "TempSlidesSDK"
50
+ file_name = "test.pptx"
51
+ password = "password"
52
+ slideIndex = 1
53
+ shapeIndex = 1
54
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
55
+
56
+ dto = AsposeSlidesCloud::Shape.new
57
+ fill_format = AsposeSlidesCloud::SolidFill.new
58
+ fill_format.color = "#FFFFFF00"
59
+ dto.fill_format = fill_format
60
+ shape = AsposeSlidesCloud::SpecUtils.api.update_shape(file_name, slideIndex, shapeIndex, dto, password, folder_name)
61
+ expect(shape).to be_kind_of(AsposeSlidesCloud::Shape)
62
+ shape = AsposeSlidesCloud::SpecUtils.api.get_shape(file_name, slideIndex, shapeIndex, password, folder_name)
63
+ expect(shape).to be_kind_of(AsposeSlidesCloud::Shape)
64
+ expect(shape.fill_format).to be_kind_of(AsposeSlidesCloud::SolidFill)
65
+ expect(shape.fill_format.color).to eq(dto.fill_format.color)
66
+ end
67
+
68
+ it 'effect' do
69
+ folder_name = "TempSlidesSDK"
70
+ file_name = "test.pptx"
71
+ password = "password"
72
+ slideIndex = 1
73
+ shapeIndex = 1
74
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
75
+
76
+ dto = AsposeSlidesCloud::Shape.new
77
+ effect_format = AsposeSlidesCloud::EffectFormat.new
78
+ inner_shadow = AsposeSlidesCloud::InnerShadowEffect.new
79
+ inner_shadow.direction = 35
80
+ inner_shadow.blur_radius = 30
81
+ inner_shadow.distance = 40
82
+ inner_shadow.shadow_color = "#FFFFFF00"
83
+ effect_format.inner_shadow = inner_shadow
84
+ dto.effect_format = effect_format
85
+ shape = AsposeSlidesCloud::SpecUtils.api.update_shape(file_name, slideIndex, shapeIndex, dto, password, folder_name)
86
+ expect(shape).to be_kind_of(AsposeSlidesCloud::Shape)
87
+ shape = AsposeSlidesCloud::SpecUtils.api.get_shape(file_name, slideIndex, shapeIndex, password, folder_name)
88
+ expect(shape).to be_kind_of(AsposeSlidesCloud::Shape)
89
+ expect(shape.effect_format.inner_shadow.direction).to eq(dto.effect_format.inner_shadow.direction)
90
+ end
91
+
92
+ it '3d' do
93
+ folder_name = "TempSlidesSDK"
94
+ file_name = "test.pptx"
95
+ password = "password"
96
+ slideIndex = 1
97
+ shapeIndex = 1
98
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
99
+
100
+ dto = AsposeSlidesCloud::Shape.new
101
+ three_d_format = AsposeSlidesCloud::ThreeDFormat.new
102
+ three_d_format.depth = 4
103
+
104
+ bevel_top = AsposeSlidesCloud::ShapeBevel.new
105
+ bevel_top.bevel_type = "Circle"
106
+ bevel_top.height = 6
107
+ bevel_top.width = 6
108
+ three_d_format.bevel_top = bevel_top
109
+
110
+ camera = AsposeSlidesCloud::Camera.new
111
+ camera.camera_type = "OrthographicFront"
112
+ three_d_format.camera = camera
113
+
114
+ light_rig = AsposeSlidesCloud::LightRig.new
115
+ light_rig.light_type = "ThreePt"
116
+ light_rig.direction = "Top"
117
+ three_d_format.light_rig = light_rig
118
+ dto.three_d_format = three_d_format
119
+ shape = AsposeSlidesCloud::SpecUtils.api.update_shape(file_name, slideIndex, shapeIndex, dto, password, folder_name)
120
+ expect(shape).to be_kind_of(AsposeSlidesCloud::Shape)
121
+ shape = AsposeSlidesCloud::SpecUtils.api.get_shape(file_name, slideIndex, shapeIndex, password, folder_name)
122
+ expect(shape).to be_kind_of(AsposeSlidesCloud::Shape)
123
+ expect(shape.three_d_format.depth).to eq(dto.three_d_format.depth)
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,399 @@
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 'Shapes' do
27
+ it 'shape add' do
28
+ folder_name = "TempSlidesSDK"
29
+ file_name = "test.pptx"
30
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
31
+ dto = AsposeSlidesCloud::Shape.new
32
+ dto.shape_type = 'Callout1'
33
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
34
+ expect(result).to be_kind_of(AsposeSlidesCloud::Shape)
35
+ end
36
+
37
+ it 'shape empty' do
38
+ folder_name = "TempSlidesSDK"
39
+ file_name = "test.pptx"
40
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
41
+ dto = AsposeSlidesCloud::Shape.new
42
+ begin
43
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
44
+ fail "Shape with undefined type should not have been created"
45
+ rescue AsposeSlidesCloud::ApiError => e
46
+ expect(e.code).to eq(400)
47
+ end
48
+ end
49
+
50
+ it 'graphical object empty' do
51
+ folder_name = "TempSlidesSDK"
52
+ file_name = "test.pptx"
53
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
54
+ dto = AsposeSlidesCloud::GraphicalObject.new
55
+ begin
56
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
57
+ fail "GraphicalObject should not have been created"
58
+ rescue AsposeSlidesCloud::ApiError => e
59
+ expect(e.code).to eq(400)
60
+ end
61
+ end
62
+
63
+ it 'picture frame add' do
64
+ folder_name = "TempSlidesSDK"
65
+ file_name = "test.pptx"
66
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
67
+ dto = AsposeSlidesCloud::PictureFrame.new
68
+ fill = AsposeSlidesCloud::PictureFill.new
69
+ fill.base64_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXY5g+ffp/AAZTAsWGL27gAAAAAElFTkSuQmCC"
70
+ dto.picture_fill_format = fill
71
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
72
+ expect(result).to be_kind_of(AsposeSlidesCloud::PictureFrame)
73
+ end
74
+
75
+ it 'picture frame empty' do
76
+ folder_name = "TempSlidesSDK"
77
+ file_name = "test.pptx"
78
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
79
+ dto = AsposeSlidesCloud::PictureFrame.new
80
+ begin
81
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
82
+ fail "PictureFrame with undefinined data should not have been created"
83
+ rescue AsposeSlidesCloud::ApiError => e
84
+ expect(e.code).to eq(400)
85
+ end
86
+ end
87
+
88
+ it 'audio frame add' do
89
+ folder_name = "TempSlidesSDK"
90
+ file_name = "test.pptx"
91
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
92
+ dto = AsposeSlidesCloud::AudioFrame.new
93
+ dto.base64_data = "bXAzc2FtcGxl"
94
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
95
+ expect(result).to be_kind_of(AsposeSlidesCloud::AudioFrame)
96
+ end
97
+
98
+ it 'audio frame empty' do
99
+ folder_name = "TempSlidesSDK"
100
+ file_name = "test.pptx"
101
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
102
+ dto = AsposeSlidesCloud::AudioFrame.new
103
+ begin
104
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
105
+ fail "AudioFrame with undefinined data should not have been created"
106
+ rescue AsposeSlidesCloud::ApiError => e
107
+ expect(e.code).to eq(400)
108
+ end
109
+ end
110
+
111
+ it 'video frame add' do
112
+ folder_name = "TempSlidesSDK"
113
+ file_name = "test.pptx"
114
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
115
+ dto = AsposeSlidesCloud::VideoFrame.new
116
+ dto.base64_data = "bXAzc2FtcGxl"
117
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
118
+ expect(result).to be_kind_of(AsposeSlidesCloud::VideoFrame)
119
+ end
120
+
121
+ it 'video frame empty' do
122
+ folder_name = "TempSlidesSDK"
123
+ file_name = "test.pptx"
124
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
125
+ dto = AsposeSlidesCloud::VideoFrame.new
126
+ begin
127
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
128
+ fail "VideoFrame with undefinined data should not have been created"
129
+ rescue AsposeSlidesCloud::ApiError => e
130
+ expect(e.code).to eq(400)
131
+ end
132
+ end
133
+
134
+ it 'ole object frame empty' do
135
+ folder_name = "TempSlidesSDK"
136
+ file_name = "test.pptx"
137
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
138
+ dto = AsposeSlidesCloud::OleObjectFrame.new
139
+ begin
140
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
141
+ fail "OleObjectFrame should not have been created"
142
+ rescue AsposeSlidesCloud::ApiError => e
143
+ expect(e.code).to eq(400)
144
+ end
145
+ end
146
+
147
+ it 'smart art add' do
148
+ folder_name = "TempSlidesSDK"
149
+ file_name = "test.pptx"
150
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
151
+ dto = AsposeSlidesCloud::SmartArt.new
152
+ dto.x = 0
153
+ dto.y = 0
154
+ dto.width = 300
155
+ dto.height = 200
156
+ dto.layout = 'BasicProcess'
157
+ dto.quick_style = 'SimpleFill'
158
+ dto.color_style = 'ColoredFillAccent1'
159
+ node1 = AsposeSlidesCloud::SmartArtNode.new
160
+ node1.text = "First"
161
+ node1.org_chart_layout = 'Initial'
162
+ sub_node1 = AsposeSlidesCloud::SmartArtNode.new
163
+ sub_node1.text = "SubFirst"
164
+ sub_node1.org_chart_layout = 'Initial'
165
+ node1.nodes = [ sub_node1 ]
166
+ node2 = AsposeSlidesCloud::SmartArtNode.new
167
+ node2.text = "Second"
168
+ node2.org_chart_layout = 'Initial'
169
+ dto.nodes = [ node1, node2 ]
170
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
171
+ expect(result).to be_kind_of(AsposeSlidesCloud::SmartArt)
172
+ end
173
+
174
+ it 'smart art empty' do
175
+ folder_name = "TempSlidesSDK"
176
+ file_name = "test.pptx"
177
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
178
+ dto = AsposeSlidesCloud::SmartArt.new
179
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
180
+ expect(result).to be_kind_of(AsposeSlidesCloud::SmartArt)
181
+ end
182
+
183
+ it 'chart empty' do #See Chart tests for non-empty chart examples
184
+ folder_name = "TempSlidesSDK"
185
+ file_name = "test.pptx"
186
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
187
+ dto = AsposeSlidesCloud::Chart.new
188
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
189
+ expect(result).to be_kind_of(AsposeSlidesCloud::Chart)
190
+ end
191
+
192
+ it 'table add' do
193
+ folder_name = "TempSlidesSDK"
194
+ file_name = "test.pptx"
195
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
196
+ dto = AsposeSlidesCloud::Table.new
197
+ dto.x = 30
198
+ dto.y = 20
199
+ dto.style = 'MediumStyle2Accent1'
200
+ row1 = AsposeSlidesCloud::TableRow.new
201
+ cell11 = AsposeSlidesCloud::TableCell.new
202
+ cell11.text = "0.1"
203
+ cell12 = AsposeSlidesCloud::TableCell.new
204
+ cell12.text = "0.2"
205
+ cell13 = AsposeSlidesCloud::TableCell.new
206
+ cell13.text = "0.3"
207
+ cell14 = AsposeSlidesCloud::TableCell.new
208
+ cell14.text = "0.4"
209
+ row1.cells = [ cell11, cell12, cell13, cell14 ]
210
+ row2 = AsposeSlidesCloud::TableRow.new
211
+ cell21 = AsposeSlidesCloud::TableCell.new
212
+ cell21.text = "1"
213
+ cell22 = AsposeSlidesCloud::TableCell.new
214
+ cell22.text = "2-3"
215
+ cell22.col_span = 2
216
+ cell22.row_span = 2
217
+ cell24 = AsposeSlidesCloud::TableCell.new
218
+ cell24.text = "4"
219
+ row2.cells = [ cell21, cell22, cell24 ]
220
+ row3 = AsposeSlidesCloud::TableRow.new
221
+ cell31 = AsposeSlidesCloud::TableCell.new
222
+ cell31.text = "first"
223
+ cell32 = AsposeSlidesCloud::TableCell.new
224
+ cell32.text = "last"
225
+ row3.cells = [ cell31, cell32 ]
226
+ row4 = AsposeSlidesCloud::TableRow.new
227
+ cell41 = AsposeSlidesCloud::TableCell.new
228
+ cell41.text = "3.1"
229
+ cell42 = AsposeSlidesCloud::TableCell.new
230
+ cell42.text = "3.2"
231
+ cell43 = AsposeSlidesCloud::TableCell.new
232
+ cell43.text = "3.3"
233
+ cell44 = AsposeSlidesCloud::TableCell.new
234
+ cell44.text = "3.4"
235
+ row4.cells = [ cell41, cell42, cell43, cell44 ]
236
+ row5 = AsposeSlidesCloud::TableRow.new
237
+ cell51 = AsposeSlidesCloud::TableCell.new
238
+ cell51.text = "4.1"
239
+ cell52 = AsposeSlidesCloud::TableCell.new
240
+ cell52.text = "4.2"
241
+ cell53 = AsposeSlidesCloud::TableCell.new
242
+ cell53.text = "4.3"
243
+ cell54 = AsposeSlidesCloud::TableCell.new
244
+ cell54.text = "4.4"
245
+ row5.cells = [ cell51, cell52, cell53, cell54 ]
246
+ dto.rows = [ row1, row2, row3, row4, row5 ]
247
+ column1 = AsposeSlidesCloud::TableColumn.new
248
+ column1.width = 100
249
+ column2 = AsposeSlidesCloud::TableColumn.new
250
+ column2.width = 100
251
+ column3 = AsposeSlidesCloud::TableColumn.new
252
+ column3.width = 100
253
+ column4 = AsposeSlidesCloud::TableColumn.new
254
+ column4.width = 100
255
+ dto.columns = [ column1, column2, column3, column4 ]
256
+ dto.first_row = true
257
+ dto.horizontal_banding = true
258
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
259
+ expect(result).to be_kind_of(AsposeSlidesCloud::Table)
260
+ end
261
+
262
+ it 'table empty' do
263
+ folder_name = "TempSlidesSDK"
264
+ file_name = "test.pptx"
265
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
266
+ dto = AsposeSlidesCloud::Table.new
267
+ begin
268
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
269
+ fail "Table with undefinined cell data should not have been created"
270
+ rescue AsposeSlidesCloud::ApiError => e
271
+ expect(e.code).to eq(400)
272
+ end
273
+ end
274
+
275
+ it 'group shape empty' do
276
+ folder_name = "TempSlidesSDK"
277
+ file_name = "test.pptx"
278
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
279
+ dto = AsposeSlidesCloud::GroupShape.new
280
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
281
+ expect(result).to be_kind_of(AsposeSlidesCloud::GroupShape)
282
+ end
283
+
284
+ it 'connector add' do
285
+ folder_name = "TempSlidesSDK"
286
+ file_name = "test.pptx"
287
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
288
+ dto = AsposeSlidesCloud::Connector.new
289
+ dto.shape_type = 'BentConnector3'
290
+ start_shape = AsposeSlidesCloud::ResourceUri.new
291
+ start_shape.href = "https://api.aspose.cloud/v3.0/slides/myPresentation.pptx/slides/1/shapes/1"
292
+ dto.start_shape_connected_to = start_shape
293
+ end_shape = AsposeSlidesCloud::ResourceUri.new
294
+ end_shape.href = "https://api.aspose.cloud/v3.0/slides/myPresentation.pptx/slides/1/shapes/2"
295
+ dto.end_shape_connected_to = end_shape
296
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
297
+ expect(result).to be_kind_of(AsposeSlidesCloud::Connector)
298
+ end
299
+
300
+ it 'connector empty' do
301
+ folder_name = "TempSlidesSDK"
302
+ file_name = "test.pptx"
303
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
304
+ dto = AsposeSlidesCloud::Connector.new
305
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
306
+ expect(result).to be_kind_of(AsposeSlidesCloud::Connector)
307
+ end
308
+
309
+ it 'align' do
310
+ folder_name = "TempSlidesSDK"
311
+ file_name = "test.pptx"
312
+ password = "password"
313
+ slide_index = 3
314
+ shape1_index = 1
315
+ shape2_index = 2
316
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
317
+ dto = AsposeSlidesCloud::Connector.new
318
+ shape11 = AsposeSlidesCloud::SpecUtils.api.get_shape(file_name, slide_index, shape1_index, password, folder_name)
319
+ shape12 = AsposeSlidesCloud::SpecUtils.api.get_shape(file_name, slide_index, shape2_index, password, folder_name)
320
+ expect(shape12.x).not_to be_within(1).of(shape11.x)
321
+ expect(shape12.y).not_to eq(shape11.y)
322
+ AsposeSlidesCloud::SpecUtils.api.align_shapes(file_name, slide_index, "AlignTop", nil, nil, password, folder_name)
323
+ shape21 = AsposeSlidesCloud::SpecUtils.api.get_shape(file_name, slide_index, shape1_index, password, folder_name)
324
+ shape22 = AsposeSlidesCloud::SpecUtils.api.get_shape(file_name, slide_index, shape2_index, password, folder_name)
325
+ expect(shape22.x).not_to be_within(1).of(shape21.x)
326
+ expect(shape22.y).to be_within(1).of(shape21.y)
327
+ AsposeSlidesCloud::SpecUtils.api.align_shapes(file_name, slide_index, "AlignLeft", true, [1, 2], password, folder_name)
328
+ shape31 = AsposeSlidesCloud::SpecUtils.api.get_shape(file_name, slide_index, shape1_index, password, folder_name)
329
+ shape32 = AsposeSlidesCloud::SpecUtils.api.get_shape(file_name, slide_index, shape2_index, password, folder_name)
330
+ expect(shape32.x).to be_within(1).of(shape31.x)
331
+ expect(shape32.x).to be_within(1).of(0)
332
+ expect(shape32.y).to be_within(1).of(shape31.y)
333
+ end
334
+
335
+ it 'align group' do
336
+ folder_name = "TempSlidesSDK"
337
+ file_name = "test.pptx"
338
+ password = "password"
339
+ slide_index = 1
340
+ path = "4/shapes"
341
+ shape1_index = 1
342
+ shape2_index = 2
343
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
344
+ dto = AsposeSlidesCloud::Connector.new
345
+ shape11 = AsposeSlidesCloud::SpecUtils.api.get_subshape(file_name, slide_index, path, shape1_index, password, folder_name)
346
+ shape12 = AsposeSlidesCloud::SpecUtils.api.get_subshape(file_name, slide_index, path, shape2_index, password, folder_name)
347
+ expect(shape12.x).not_to be_within(1).of(shape11.x)
348
+ expect(shape12.y).not_to eq(shape11.y)
349
+ AsposeSlidesCloud::SpecUtils.api.align_subshapes(file_name, slide_index, path, "AlignTop", nil, nil, password, folder_name)
350
+ shape21 = AsposeSlidesCloud::SpecUtils.api.get_subshape(file_name, slide_index, path, shape1_index, password, folder_name)
351
+ shape22 = AsposeSlidesCloud::SpecUtils.api.get_subshape(file_name, slide_index, path, shape2_index, password, folder_name)
352
+ expect(shape22.x).not_to be_within(1).of(shape21.x)
353
+ expect(shape22.y).to be_within(1).of(shape21.y)
354
+ AsposeSlidesCloud::SpecUtils.api.align_subshapes(file_name, slide_index, path, "AlignLeft", true, [1, 2], password, folder_name)
355
+ shape31 = AsposeSlidesCloud::SpecUtils.api.get_subshape(file_name, slide_index, path, shape1_index, password, folder_name)
356
+ shape32 = AsposeSlidesCloud::SpecUtils.api.get_subshape(file_name, slide_index, path, shape2_index, password, folder_name)
357
+ expect(shape32.x).to be_within(1).of(shape31.x)
358
+ expect(shape32.x).to be_within(1).of(0)
359
+ expect(shape32.y).to be_within(1).of(shape31.y)
360
+ end
361
+
362
+ it 'geometry get' do
363
+ folder_name = "TempSlidesSDK"
364
+ file_name = "test.pptx"
365
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
366
+ paths = AsposeSlidesCloud::SpecUtils.api.get_shape_geometry_path(file_name, 4, 2, "password", folder_name)
367
+ expect(paths.paths).to be_truthy
368
+ expect(paths.paths.length).to eq(1)
369
+ end
370
+
371
+ it 'geometry set' do
372
+ folder_name = "TempSlidesSDK"
373
+ file_name = "test.pptx"
374
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
375
+ dto = AsposeSlidesCloud::GeometryPaths.new
376
+ path = AsposeSlidesCloud::GeometryPath.new
377
+ start_segment = AsposeSlidesCloud::MoveToPathSegment.new
378
+ start_segment.x = 0
379
+ start_segment.y = 0
380
+ line1 = AsposeSlidesCloud::LineToPathSegment.new
381
+ line1.x = 0
382
+ line1.y = 200
383
+ line2 = AsposeSlidesCloud::LineToPathSegment.new
384
+ line2.x = 200
385
+ line2.y = 300
386
+ line3 = AsposeSlidesCloud::LineToPathSegment.new
387
+ line3.x = 400
388
+ line3.y = 200
389
+ line4 = AsposeSlidesCloud::LineToPathSegment.new
390
+ line4.x = 400
391
+ line4.y = 0
392
+ end_segment = AsposeSlidesCloud::ClosePathSegment.new
393
+ path.path_data = [ start_segment, line1, line2, line3, line4, end_segment ]
394
+ dto.paths = [ path ]
395
+ shape = AsposeSlidesCloud::SpecUtils.api.set_shape_geometry_path(file_name, 4, 1, dto, "password", folder_name)
396
+ expect(shape).to be_truthy
397
+ end
398
+ end
399
+ end
@@ -0,0 +1,88 @@
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
+ require 'zip'
25
+
26
+ describe 'UseCases' do
27
+ describe 'Split' do
28
+ it 'storage' do
29
+ folder_name = "TempSlidesSDK"
30
+ file_name = "test.pptx"
31
+ password = "password"
32
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
33
+ result1 = AsposeSlidesCloud::SpecUtils.api.split(file_name, nil, nil, nil, nil, nil, nil, nil, password, folder_name)
34
+ result2 = AsposeSlidesCloud::SpecUtils.api.split(file_name, nil, nil, nil, nil, 2, 3, nil, password, folder_name)
35
+ expect(result2.slides.length).to eq(2)
36
+ expect(result2.slides.length).to be < result1.slides.length
37
+ url = result1.slides[0].href
38
+ path = url[url.index("/storage/file/") + "/storage/file/".length, url.length - 1]
39
+ expect(AsposeSlidesCloud::SpecUtils.api.object_exists(path).exists).to be true
40
+ end
41
+
42
+ it 'request' do
43
+ source = File.binread("TestData/test.pptx")
44
+ password = "password"
45
+ result1 = AsposeSlidesCloud::SpecUtils.api.split_online(source, 'png', nil, nil, nil, nil, password)
46
+ result2 = AsposeSlidesCloud::SpecUtils.api.split_online(source, 'png', nil, nil, 2, 3, password)
47
+ count1 = 0
48
+ Zip::File.open_buffer(result1) do |zip|
49
+ zip.each do |entry|
50
+ count1 += 1
51
+ end
52
+ end
53
+ count2 = 0
54
+ Zip::File.open_buffer(result2) do |zip|
55
+ zip.each do |entry|
56
+ count2 += 1
57
+ end
58
+ end
59
+ expect(count2).to eq(2)
60
+ expect(count2).to be < count1
61
+ end
62
+
63
+ it 'request to storage' do
64
+ source = File.binread("TestData/test.pptx")
65
+ password = "password"
66
+ result1 = AsposeSlidesCloud::SpecUtils.api.split_and_save_online(source, 'png', nil, nil, nil, nil, nil, password)
67
+ result2 = AsposeSlidesCloud::SpecUtils.api.split_and_save_online(source, 'png', nil, nil, nil, 2, 3, password)
68
+ expect(result2.slides.length).to eq(2)
69
+ expect(result2.slides.length).to be < result1.slides.length
70
+ url = result1.slides[0].href
71
+ path = url[url.index("/storage/file/") + "/storage/file/".length, url.length - 1]
72
+ expect(AsposeSlidesCloud::SpecUtils.api.object_exists(path).exists).to be true
73
+ end
74
+
75
+ it 'with options' do
76
+ folder_name = "TempSlidesSDK"
77
+ file_name = "test.pptx"
78
+ password = "password"
79
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
80
+ options = AsposeSlidesCloud::PdfExportOptions.new
81
+ options.jpeg_quality = 50
82
+ result = AsposeSlidesCloud::SpecUtils.api.split(file_name, options, nil, nil, nil, nil, nil, nil, password, folder_name)
83
+ url = result.slides[0].href
84
+ path = url[url.index("/storage/file/") + "/storage/file/".length, url.length - 1]
85
+ expect(AsposeSlidesCloud::SpecUtils.api.object_exists(path).exists).to be true
86
+ end
87
+ end
88
+ end