aspose_slides_cloud 22.10.0 → 22.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (258) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +7 -7
  3. data/README.md +6 -0
  4. data/lib/aspose_slides_cloud/api/slides_api.rb +4 -4
  5. data/lib/aspose_slides_cloud/api_client.rb +1 -1
  6. data/lib/aspose_slides_cloud/configuration.rb +1 -1
  7. data/lib/aspose_slides_cloud/models/accent_element.rb +41 -37
  8. data/lib/aspose_slides_cloud/models/access_permissions.rb +40 -36
  9. data/lib/aspose_slides_cloud/models/add_layout_slide.rb +41 -37
  10. data/lib/aspose_slides_cloud/models/add_master_slide.rb +41 -37
  11. data/lib/aspose_slides_cloud/models/add_shape.rb +41 -37
  12. data/lib/aspose_slides_cloud/models/add_slide.rb +41 -37
  13. data/lib/aspose_slides_cloud/models/alpha_bi_level_effect.rb +41 -37
  14. data/lib/aspose_slides_cloud/models/alpha_ceiling_effect.rb +41 -37
  15. data/lib/aspose_slides_cloud/models/alpha_floor_effect.rb +41 -37
  16. data/lib/aspose_slides_cloud/models/alpha_inverse_effect.rb +41 -37
  17. data/lib/aspose_slides_cloud/models/alpha_modulate_effect.rb +41 -37
  18. data/lib/aspose_slides_cloud/models/alpha_modulate_fixed_effect.rb +41 -37
  19. data/lib/aspose_slides_cloud/models/alpha_replace_effect.rb +41 -37
  20. data/lib/aspose_slides_cloud/models/api_info.rb +40 -36
  21. data/lib/aspose_slides_cloud/models/arc_to_path_segment.rb +41 -37
  22. data/lib/aspose_slides_cloud/models/array_element.rb +41 -37
  23. data/lib/aspose_slides_cloud/models/arrow_head_properties.rb +40 -36
  24. data/lib/aspose_slides_cloud/models/audio_frame.rb +41 -37
  25. data/lib/aspose_slides_cloud/models/axes.rb +40 -36
  26. data/lib/aspose_slides_cloud/models/axis.rb +40 -36
  27. data/lib/aspose_slides_cloud/models/axis_type.rb +4 -4
  28. data/lib/aspose_slides_cloud/models/bar_element.rb +41 -37
  29. data/lib/aspose_slides_cloud/models/base64_input_file.rb +41 -37
  30. data/lib/aspose_slides_cloud/models/bi_level_effect.rb +41 -37
  31. data/lib/aspose_slides_cloud/models/block_element.rb +41 -37
  32. data/lib/aspose_slides_cloud/models/blur_effect.rb +40 -36
  33. data/lib/aspose_slides_cloud/models/blur_image_effect.rb +41 -37
  34. data/lib/aspose_slides_cloud/models/border_box_element.rb +41 -37
  35. data/lib/aspose_slides_cloud/models/box_element.rb +41 -37
  36. data/lib/aspose_slides_cloud/models/bubble_chart_data_point.rb +78 -43
  37. data/lib/aspose_slides_cloud/models/bubble_series.rb +56 -39
  38. data/lib/aspose_slides_cloud/models/camera.rb +40 -36
  39. data/lib/aspose_slides_cloud/models/chart.rb +52 -38
  40. data/lib/aspose_slides_cloud/models/chart_category.rb +40 -36
  41. data/lib/aspose_slides_cloud/models/chart_lines_format.rb +40 -36
  42. data/lib/aspose_slides_cloud/models/chart_series_group.rb +40 -36
  43. data/lib/aspose_slides_cloud/models/chart_title.rb +40 -36
  44. data/lib/aspose_slides_cloud/models/chart_wall.rb +40 -36
  45. data/lib/aspose_slides_cloud/models/chart_wall_type.rb +3 -3
  46. data/lib/aspose_slides_cloud/models/close_path_segment.rb +41 -37
  47. data/lib/aspose_slides_cloud/models/color_change_effect.rb +41 -37
  48. data/lib/aspose_slides_cloud/models/color_replace_effect.rb +41 -37
  49. data/lib/aspose_slides_cloud/models/color_scheme.rb +40 -36
  50. data/lib/aspose_slides_cloud/models/common_slide_view_properties.rb +40 -36
  51. data/lib/aspose_slides_cloud/models/connector.rb +41 -37
  52. data/lib/aspose_slides_cloud/models/cubic_bezier_to_path_segment.rb +41 -37
  53. data/lib/aspose_slides_cloud/models/custom_dash_pattern.rb +40 -36
  54. data/lib/aspose_slides_cloud/models/data_point.rb +85 -38
  55. data/lib/aspose_slides_cloud/models/data_source.rb +248 -0
  56. data/lib/aspose_slides_cloud/models/delimiter_element.rb +41 -37
  57. data/lib/aspose_slides_cloud/models/disc_usage.rb +40 -36
  58. data/lib/aspose_slides_cloud/models/document.rb +40 -36
  59. data/lib/aspose_slides_cloud/models/document_properties.rb +40 -36
  60. data/lib/aspose_slides_cloud/models/document_property.rb +40 -36
  61. data/lib/aspose_slides_cloud/models/document_replace_result.rb +40 -36
  62. data/lib/aspose_slides_cloud/models/duotone_effect.rb +41 -37
  63. data/lib/aspose_slides_cloud/models/effect.rb +40 -36
  64. data/lib/aspose_slides_cloud/models/effect_format.rb +40 -36
  65. data/lib/aspose_slides_cloud/models/entity_exists.rb +40 -36
  66. data/lib/aspose_slides_cloud/models/error.rb +40 -36
  67. data/lib/aspose_slides_cloud/models/error_details.rb +40 -36
  68. data/lib/aspose_slides_cloud/models/export_format.rb +25 -25
  69. data/lib/aspose_slides_cloud/models/export_options.rb +40 -36
  70. data/lib/aspose_slides_cloud/models/file_version.rb +40 -36
  71. data/lib/aspose_slides_cloud/models/file_versions.rb +40 -36
  72. data/lib/aspose_slides_cloud/models/files_list.rb +40 -36
  73. data/lib/aspose_slides_cloud/models/files_upload_result.rb +40 -36
  74. data/lib/aspose_slides_cloud/models/fill_format.rb +40 -36
  75. data/lib/aspose_slides_cloud/models/fill_overlay_effect.rb +40 -36
  76. data/lib/aspose_slides_cloud/models/fill_overlay_image_effect.rb +41 -37
  77. data/lib/aspose_slides_cloud/models/font_data.rb +40 -36
  78. data/lib/aspose_slides_cloud/models/font_fallback_rule.rb +40 -36
  79. data/lib/aspose_slides_cloud/models/font_scheme.rb +40 -36
  80. data/lib/aspose_slides_cloud/models/font_set.rb +40 -36
  81. data/lib/aspose_slides_cloud/models/font_subst_rule.rb +40 -36
  82. data/lib/aspose_slides_cloud/models/fonts_data.rb +40 -36
  83. data/lib/aspose_slides_cloud/models/format_scheme.rb +40 -36
  84. data/lib/aspose_slides_cloud/models/fraction_element.rb +41 -37
  85. data/lib/aspose_slides_cloud/models/function_element.rb +41 -37
  86. data/lib/aspose_slides_cloud/models/geometry_path.rb +40 -36
  87. data/lib/aspose_slides_cloud/models/geometry_paths.rb +40 -36
  88. data/lib/aspose_slides_cloud/models/geometry_shape.rb +40 -36
  89. data/lib/aspose_slides_cloud/models/gif_export_options.rb +41 -37
  90. data/lib/aspose_slides_cloud/models/glow_effect.rb +40 -36
  91. data/lib/aspose_slides_cloud/models/gradient_fill.rb +41 -37
  92. data/lib/aspose_slides_cloud/models/gradient_fill_stop.rb +40 -36
  93. data/lib/aspose_slides_cloud/models/graphical_object.rb +42 -38
  94. data/lib/aspose_slides_cloud/models/gray_scale_effect.rb +41 -37
  95. data/lib/aspose_slides_cloud/models/group_shape.rb +41 -37
  96. data/lib/aspose_slides_cloud/models/grouping_character_element.rb +41 -37
  97. data/lib/aspose_slides_cloud/models/header_footer.rb +40 -36
  98. data/lib/aspose_slides_cloud/models/hsl_effect.rb +41 -37
  99. data/lib/aspose_slides_cloud/models/html5_export_options.rb +41 -37
  100. data/lib/aspose_slides_cloud/models/html_export_options.rb +41 -37
  101. data/lib/aspose_slides_cloud/models/hyperlink.rb +40 -36
  102. data/lib/aspose_slides_cloud/models/i_shape_export_options.rb +40 -36
  103. data/lib/aspose_slides_cloud/models/image.rb +40 -36
  104. data/lib/aspose_slides_cloud/models/image_export_format.rb +5 -5
  105. data/lib/aspose_slides_cloud/models/image_export_options.rb +41 -37
  106. data/lib/aspose_slides_cloud/models/image_export_options_base.rb +40 -36
  107. data/lib/aspose_slides_cloud/models/image_transform_effect.rb +40 -36
  108. data/lib/aspose_slides_cloud/models/images.rb +40 -36
  109. data/lib/aspose_slides_cloud/models/inner_shadow_effect.rb +40 -36
  110. data/lib/aspose_slides_cloud/models/input.rb +40 -36
  111. data/lib/aspose_slides_cloud/models/input_file.rb +40 -36
  112. data/lib/aspose_slides_cloud/models/interactive_sequence.rb +40 -36
  113. data/lib/aspose_slides_cloud/models/layout_slide.rb +40 -36
  114. data/lib/aspose_slides_cloud/models/layout_slides.rb +40 -36
  115. data/lib/aspose_slides_cloud/models/left_sub_superscript_element.rb +41 -37
  116. data/lib/aspose_slides_cloud/models/legend.rb +40 -36
  117. data/lib/aspose_slides_cloud/models/light_rig.rb +40 -36
  118. data/lib/aspose_slides_cloud/models/limit_element.rb +41 -37
  119. data/lib/aspose_slides_cloud/models/line_format.rb +40 -36
  120. data/lib/aspose_slides_cloud/models/line_to_path_segment.rb +41 -37
  121. data/lib/aspose_slides_cloud/models/literals.rb +227 -0
  122. data/lib/aspose_slides_cloud/models/luminance_effect.rb +41 -37
  123. data/lib/aspose_slides_cloud/models/master_slide.rb +40 -36
  124. data/lib/aspose_slides_cloud/models/master_slides.rb +40 -36
  125. data/lib/aspose_slides_cloud/models/math_element.rb +40 -36
  126. data/lib/aspose_slides_cloud/models/math_paragraph.rb +40 -36
  127. data/lib/aspose_slides_cloud/models/matrix_element.rb +41 -37
  128. data/lib/aspose_slides_cloud/models/merge.rb +41 -37
  129. data/lib/aspose_slides_cloud/models/merging_source.rb +40 -36
  130. data/lib/aspose_slides_cloud/models/move_to_path_segment.rb +41 -37
  131. data/lib/aspose_slides_cloud/models/nary_operator_element.rb +41 -37
  132. data/lib/aspose_slides_cloud/models/no_fill.rb +41 -37
  133. data/lib/aspose_slides_cloud/models/normal_view_restored_properties.rb +40 -36
  134. data/lib/aspose_slides_cloud/models/notes_slide.rb +40 -36
  135. data/lib/aspose_slides_cloud/models/notes_slide_export_format.rb +23 -23
  136. data/lib/aspose_slides_cloud/models/notes_slide_header_footer.rb +40 -36
  137. data/lib/aspose_slides_cloud/models/object_exist.rb +40 -36
  138. data/lib/aspose_slides_cloud/models/ole_object_frame.rb +41 -37
  139. data/lib/aspose_slides_cloud/models/one_value_chart_data_point.rb +75 -42
  140. data/lib/aspose_slides_cloud/models/one_value_series.rb +53 -38
  141. data/lib/aspose_slides_cloud/models/ordered_merge_request.rb +40 -36
  142. data/lib/aspose_slides_cloud/models/outer_shadow_effect.rb +40 -36
  143. data/lib/aspose_slides_cloud/models/output_file.rb +40 -36
  144. data/lib/aspose_slides_cloud/models/paragraph.rb +40 -36
  145. data/lib/aspose_slides_cloud/models/paragraphs.rb +40 -36
  146. data/lib/aspose_slides_cloud/models/path_input_file.rb +41 -37
  147. data/lib/aspose_slides_cloud/models/path_output_file.rb +41 -37
  148. data/lib/aspose_slides_cloud/models/path_segment.rb +40 -36
  149. data/lib/aspose_slides_cloud/models/pattern_fill.rb +41 -37
  150. data/lib/aspose_slides_cloud/models/pdf_export_options.rb +41 -37
  151. data/lib/aspose_slides_cloud/models/picture_fill.rb +41 -37
  152. data/lib/aspose_slides_cloud/models/picture_frame.rb +41 -37
  153. data/lib/aspose_slides_cloud/models/pipeline.rb +40 -36
  154. data/lib/aspose_slides_cloud/models/placeholder.rb +40 -36
  155. data/lib/aspose_slides_cloud/models/placeholders.rb +40 -36
  156. data/lib/aspose_slides_cloud/models/plot_area.rb +40 -36
  157. data/lib/aspose_slides_cloud/models/portion.rb +40 -36
  158. data/lib/aspose_slides_cloud/models/portion_format.rb +40 -36
  159. data/lib/aspose_slides_cloud/models/portions.rb +40 -36
  160. data/lib/aspose_slides_cloud/models/pptx_export_options.rb +41 -37
  161. data/lib/aspose_slides_cloud/models/presentation_to_merge.rb +40 -36
  162. data/lib/aspose_slides_cloud/models/presentations_merge_request.rb +40 -36
  163. data/lib/aspose_slides_cloud/models/preset_shadow_effect.rb +40 -36
  164. data/lib/aspose_slides_cloud/models/protection_properties.rb +40 -36
  165. data/lib/aspose_slides_cloud/models/quadratic_bezier_to_path_segment.rb +41 -37
  166. data/lib/aspose_slides_cloud/models/radical_element.rb +41 -37
  167. data/lib/aspose_slides_cloud/models/reflection_effect.rb +40 -36
  168. data/lib/aspose_slides_cloud/models/remove_shape.rb +41 -37
  169. data/lib/aspose_slides_cloud/models/remove_slide.rb +41 -37
  170. data/lib/aspose_slides_cloud/models/reorder_slide.rb +41 -37
  171. data/lib/aspose_slides_cloud/models/replace_text.rb +41 -37
  172. data/lib/aspose_slides_cloud/models/request_input_file.rb +41 -37
  173. data/lib/aspose_slides_cloud/models/reset_slide.rb +41 -37
  174. data/lib/aspose_slides_cloud/models/resource_base.rb +40 -36
  175. data/lib/aspose_slides_cloud/models/resource_uri.rb +40 -36
  176. data/lib/aspose_slides_cloud/models/response_output_file.rb +41 -37
  177. data/lib/aspose_slides_cloud/models/right_sub_superscript_element.rb +41 -37
  178. data/lib/aspose_slides_cloud/models/save.rb +41 -37
  179. data/lib/aspose_slides_cloud/models/save_shape.rb +41 -37
  180. data/lib/aspose_slides_cloud/models/save_slide.rb +41 -37
  181. data/lib/aspose_slides_cloud/models/scatter_chart_data_point.rb +86 -48
  182. data/lib/aspose_slides_cloud/models/scatter_series.rb +45 -38
  183. data/lib/aspose_slides_cloud/models/section.rb +40 -36
  184. data/lib/aspose_slides_cloud/models/section_zoom_frame.rb +41 -37
  185. data/lib/aspose_slides_cloud/models/sections.rb +40 -36
  186. data/lib/aspose_slides_cloud/models/series.rb +51 -37
  187. data/lib/aspose_slides_cloud/models/series_marker.rb +40 -36
  188. data/lib/aspose_slides_cloud/models/shape.rb +41 -37
  189. data/lib/aspose_slides_cloud/models/shape_base.rb +40 -36
  190. data/lib/aspose_slides_cloud/models/shape_bevel.rb +40 -36
  191. data/lib/aspose_slides_cloud/models/shape_export_format.rb +6 -6
  192. data/lib/aspose_slides_cloud/models/shape_image_export_options.rb +40 -36
  193. data/lib/aspose_slides_cloud/models/shape_thumbnail_bounds.rb +3 -3
  194. data/lib/aspose_slides_cloud/models/shape_type.rb +16 -16
  195. data/lib/aspose_slides_cloud/models/shapes.rb +40 -36
  196. data/lib/aspose_slides_cloud/models/shapes_alignment_type.rb +8 -8
  197. data/lib/aspose_slides_cloud/models/slide.rb +40 -36
  198. data/lib/aspose_slides_cloud/models/slide_animation.rb +40 -36
  199. data/lib/aspose_slides_cloud/models/slide_background.rb +40 -36
  200. data/lib/aspose_slides_cloud/models/slide_comment.rb +41 -37
  201. data/lib/aspose_slides_cloud/models/slide_comment_base.rb +40 -36
  202. data/lib/aspose_slides_cloud/models/slide_comments.rb +40 -36
  203. data/lib/aspose_slides_cloud/models/slide_export_format.rb +23 -23
  204. data/lib/aspose_slides_cloud/models/slide_modern_comment.rb +41 -37
  205. data/lib/aspose_slides_cloud/models/slide_properties.rb +40 -36
  206. data/lib/aspose_slides_cloud/models/slide_replace_result.rb +40 -36
  207. data/lib/aspose_slides_cloud/models/slide_show_properties.rb +40 -36
  208. data/lib/aspose_slides_cloud/models/slides.rb +40 -36
  209. data/lib/aspose_slides_cloud/models/smart_art.rb +41 -37
  210. data/lib/aspose_slides_cloud/models/smart_art_node.rb +40 -36
  211. data/lib/aspose_slides_cloud/models/smart_art_shape.rb +41 -37
  212. data/lib/aspose_slides_cloud/models/soft_edge_effect.rb +40 -36
  213. data/lib/aspose_slides_cloud/models/solid_fill.rb +41 -37
  214. data/lib/aspose_slides_cloud/models/special_slide_type.rb +3 -3
  215. data/lib/aspose_slides_cloud/models/split_document_result.rb +40 -36
  216. data/lib/aspose_slides_cloud/models/storage_exist.rb +40 -36
  217. data/lib/aspose_slides_cloud/models/storage_file.rb +40 -36
  218. data/lib/aspose_slides_cloud/models/subscript_element.rb +41 -37
  219. data/lib/aspose_slides_cloud/models/summary_zoom_frame.rb +41 -37
  220. data/lib/aspose_slides_cloud/models/summary_zoom_section.rb +41 -37
  221. data/lib/aspose_slides_cloud/models/superscript_element.rb +41 -37
  222. data/lib/aspose_slides_cloud/models/svg_export_options.rb +63 -39
  223. data/lib/aspose_slides_cloud/models/swf_export_options.rb +41 -37
  224. data/lib/aspose_slides_cloud/models/table.rb +41 -37
  225. data/lib/aspose_slides_cloud/models/table_cell.rb +40 -36
  226. data/lib/aspose_slides_cloud/models/table_column.rb +40 -36
  227. data/lib/aspose_slides_cloud/models/table_row.rb +40 -36
  228. data/lib/aspose_slides_cloud/models/task.rb +40 -36
  229. data/lib/aspose_slides_cloud/models/text_bounds.rb +40 -36
  230. data/lib/aspose_slides_cloud/models/text_element.rb +41 -37
  231. data/lib/aspose_slides_cloud/models/text_frame_format.rb +40 -36
  232. data/lib/aspose_slides_cloud/models/text_item.rb +40 -36
  233. data/lib/aspose_slides_cloud/models/text_items.rb +40 -36
  234. data/lib/aspose_slides_cloud/models/theme.rb +40 -36
  235. data/lib/aspose_slides_cloud/models/three_d_format.rb +40 -36
  236. data/lib/aspose_slides_cloud/models/tiff_export_options.rb +41 -37
  237. data/lib/aspose_slides_cloud/models/tint_effect.rb +41 -37
  238. data/lib/aspose_slides_cloud/models/update_background.rb +41 -37
  239. data/lib/aspose_slides_cloud/models/update_shape.rb +41 -37
  240. data/lib/aspose_slides_cloud/models/video_export_options.rb +41 -37
  241. data/lib/aspose_slides_cloud/models/video_frame.rb +41 -37
  242. data/lib/aspose_slides_cloud/models/view_properties.rb +40 -36
  243. data/lib/aspose_slides_cloud/models/workbook.rb +272 -0
  244. data/lib/aspose_slides_cloud/models/xaml_export_options.rb +41 -37
  245. data/lib/aspose_slides_cloud/models/xps_export_options.rb +41 -37
  246. data/lib/aspose_slides_cloud/models/xy_series.rb +63 -38
  247. data/lib/aspose_slides_cloud/models/zoom_frame.rb +41 -37
  248. data/lib/aspose_slides_cloud/models/zoom_object.rb +40 -36
  249. data/lib/aspose_slides_cloud/type_registry.rb +197 -190
  250. data/lib/aspose_slides_cloud/version.rb +1 -1
  251. data/lib/aspose_slides_cloud.rb +123 -120
  252. data/spec/api/slides_api_spec.rb +3518 -3518
  253. data/spec/spec_utils.rb +88 -51
  254. data/spec/use_cases/chart_spec.rb +159 -1
  255. data/spec/use_cases/nullable_field_spec.rb +7 -0
  256. data/spec/use_cases/shape_spec.rb +13 -19
  257. data/testRules.json +138 -545
  258. metadata +5 -2
data/spec/spec_utils.rb CHANGED
@@ -45,11 +45,11 @@ module AsposeSlidesCloud
45
45
  end
46
46
  files = Hash.new
47
47
  SpecUtils.test_rules["Files"].each do |rule|
48
- if SpecUtils.good_rule?(rule, name, method)
49
- actual_name = SpecUtils.untemplatize(rule["File"], value)
48
+ if SpecUtils.good_rule?(rule, name, method, nil)
49
+ actual_name = SpecUtils.untemplatize(rule["File"], name, value)
50
50
  path = "TempSlidesSDK"
51
51
  if rule.key?("Folder")
52
- path = SpecUtils.untemplatize(rule["Folder"], value)
52
+ path = SpecUtils.untemplatize(rule["Folder"], name, value)
53
53
  end
54
54
  path = path + "/" + actual_name
55
55
  files[path] = rule
@@ -61,70 +61,41 @@ module AsposeSlidesCloud
61
61
  SpecUtils.api.copy_file("TempTests/" + rule['ActualName'], path)
62
62
  elsif rule["Action"] == "Delete"
63
63
  SpecUtils.api.delete_file(path)
64
+ SpecUtils.api.delete_folder(path)
64
65
  end
65
66
  end
66
67
  end
67
68
 
68
69
  def self.get_param_value(name, method, type)
69
- if type == 'File'
70
- fileName = "test.pptx"
71
- if method.casecmp("ImportFromPdf") == 0
72
- fileName = "test.pdf"
73
- elsif name.casecmp("Image") == 0
74
- if method.casecmp("ImportShapesFromSvg") == 0
75
- fileName = "shapes.svg"
76
- else
77
- fileName = "watermark.png"
78
- end
79
- elsif name.casecmp("Font") == 0
80
- fileName = "calibri.ttf"
81
- end
82
- return File.binread(File.join(TEST_DATA_PATH, fileName))
83
- end
84
- if type == 'File[]'
85
- files = []
86
- files.push(File.binread(File.join(AsposeSlidesCloud::SpecUtils::TEST_DATA_PATH, "test.pptx")))
87
- files.push(File.binread(File.join(AsposeSlidesCloud::SpecUtils::TEST_DATA_PATH, "test-unprotected.pptx")))
88
- return files
89
- end
90
- value = "test" + name
70
+ value = nil
91
71
  SpecUtils.test_rules["Values"].each do |rule|
92
- if SpecUtils.good_rule?(rule, name, method) and rule.key?("Value")
93
- if rule.key?("Type")
94
- if TypeRegistry.subclass?(rule["Type"], type)
95
- value = rule["Value"]
96
- end
97
- else
98
- value = rule["Value"]
99
- end
72
+ if SpecUtils.good_rule?(rule, name, method, type) and rule.key?("Value")
73
+ value = rule["Value"]
100
74
  end
101
75
  end
102
- value
76
+ SpecUtils.untemplatize(value, name, nil)
103
77
  end
104
78
 
105
79
  def self.invalidize_param_value(name, method, value, type)
106
- if type == 'File'
107
- return nil
108
- end
109
80
  invalid_value = nil
110
81
  SpecUtils.test_rules["Values"].each do |rule|
111
- if SpecUtils.good_rule?(rule, name, method) and rule.key?("InvalidValue")
82
+ if SpecUtils.good_rule?(rule, name, method, type) and rule.key?("InvalidValue")
112
83
  invalid_value = rule["InvalidValue"]
113
84
  end
114
85
  end
115
- SpecUtils.untemplatize(invalid_value, value)
86
+ SpecUtils.untemplatize(invalid_value, name, value)
116
87
  end
117
88
 
118
- def self.get_expected_error(method, name, value)
89
+ def self.get_expected_error(method, name, value, type)
119
90
  code = 0
120
91
  message = "Unexpeceted message"
121
92
  SpecUtils.test_rules["Results"].each do |rule|
122
- if SpecUtils.good_rule?(rule, name, method)
93
+ if SpecUtils.good_rule?(rule, name, method, type)
123
94
  if rule.key?("Code")
124
95
  code = rule["Code"]
125
96
  end
126
97
  if rule.key?("Message")
127
- message = SpecUtils.untemplatize(rule["Message"], value)
98
+ message = SpecUtils.untemplatize(rule["Message"], name, value)
128
99
  end
129
100
  end
130
101
  end
@@ -138,30 +109,95 @@ module AsposeSlidesCloud
138
109
  return false
139
110
  end
140
111
 
141
- def self.good_rule?(rule, name, method)
142
- (not rule.key?("Language") or rule["Language"].casecmp("Ruby") == 0) \
112
+ def self.good_rule?(rule, name, method, type)
113
+ SpecUtils.good_rule_key?(rule, "Language", "Ruby") \
143
114
  and (not rule.key?("Invalid") or ((name != nil) == rule["Invalid"])) \
144
- and (not rule.key?("Parameter") or (name != nil and rule["Parameter"].casecmp(name) == 0)) \
145
- and (not rule.key?("Method") or (method != nil and rule["Method"].casecmp(method) == 0))
115
+ and SpecUtils.good_rule_key?(rule, "Parameter", name) \
116
+ and SpecUtils.good_rule_key?(rule, "Method", method) \
117
+ and SpecUtils.good_rule_type?(rule, type)
118
+ end
119
+
120
+ def self.good_rule_key?(rule, key, value)
121
+ if not rule.key?(key)
122
+ return true
123
+ end
124
+ if not value
125
+ return false
126
+ end
127
+ if rule[key].start_with?("/") and rule[key].end_with?("/")
128
+ return value =~ /#{rule[key][1..-2]}/i
129
+ end
130
+ return rule[key].casecmp(value) == 0
131
+ end
132
+
133
+ def self.good_rule_type?(rule, type)
134
+ if not rule.key?("Type")
135
+ return true
136
+ end
137
+ if not type
138
+ return false
139
+ end
140
+ if rule["Type"] == "bool"
141
+ return type == "BOOLEAN"
142
+ end
143
+ if rule["Type"] == "number"
144
+ return type == "Integer"
145
+ end
146
+ if rule["Type"] == "int"
147
+ return type == "Integer"
148
+ end
149
+ if rule["Type"] == "int[]"
150
+ return type == "Integer[]"
151
+ end
152
+ if rule["Type"] == "stream"
153
+ return type == "File"
154
+ end
155
+ if rule["Type"] == "stream[]"
156
+ return type == "File[]"
157
+ end
158
+ if rule["Type"] == "model"
159
+ return !TypeRegistry.type_determiners[type.to_sym].nil?
160
+ end
161
+ if !TypeRegistry.type_determiners[rule["Type"].to_sym].nil?
162
+ return TypeRegistry.subclass?(rule["Type"], type)
163
+ end
164
+ return false
146
165
  end
147
166
 
148
- def self.untemplatize(template, value)
167
+ def self.untemplatize(template, name, value)
149
168
  if template == nil
150
169
  value
151
170
  else
152
171
  result = template
153
- if template.is_a? String and template.match("%v")
172
+ if template.is_a? String
154
173
  result = "" + template
155
- if value != nil
156
- result["%v"] = value.to_s
174
+ if template.start_with?("@")
175
+ file_name = result[1..-1]
176
+ if file_name.start_with?("(") and file_name.end_with?(")")
177
+ result = file_name[1..-2].split(",").map {|f| File.binread(File.join(AsposeSlidesCloud::SpecUtils::TEST_DATA_PATH, f)) }
178
+ else
179
+ result = File.binread(File.join(AsposeSlidesCloud::SpecUtils::TEST_DATA_PATH, file_name))
180
+ end
157
181
  else
158
- result["%v"] = ""
182
+ result = SpecUtils.replace(result, "%n", name)
183
+ result = SpecUtils.replace(result, "%v", value)
159
184
  end
160
185
  end
161
186
  result
162
187
  end
163
188
  end
164
189
 
190
+ def self.replace(template, oldValue, newValue)
191
+ if template.match(oldValue)
192
+ if newValue != nil
193
+ template[oldValue] = newValue.to_s
194
+ else
195
+ template[oldValue] = ""
196
+ end
197
+ end
198
+ template
199
+ end
200
+
165
201
  def self.test_rules
166
202
  unless @@test_rules
167
203
  @@test_rules = JSON.parse(File.read('testRules.json'))
@@ -180,6 +216,7 @@ module AsposeSlidesCloud
180
216
  configuration.app_sid = config["ClientId"]
181
217
  configuration.app_key = config["ClientSecret"]
182
218
  configuration.debugging = config["Debug"]
219
+ configuration.verify_ssl = !config["AllowInsecureRequests"]
183
220
  @@api = AsposeSlidesCloud::SlidesApi.new(configuration)
184
221
  end
185
222
  @@api
@@ -33,7 +33,7 @@ describe 'UseCases' do
33
33
  expect(chart.categories.length).to eq(4)
34
34
  end
35
35
 
36
- it 'create' do
36
+ it 'create chart auto data source' do
37
37
  folder_name = "TempSlidesSDK"
38
38
  file_name = "test.pptx"
39
39
  AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
@@ -72,6 +72,118 @@ describe 'UseCases' do
72
72
  expect(result.categories.length).to eq(3)
73
73
  end
74
74
 
75
+ it 'create chart workbook data source' do
76
+ folder_name = "TempSlidesSDK"
77
+ file_name = "test.pptx"
78
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
79
+ chart = AsposeSlidesCloud::Chart.new
80
+ chart.chart_type = 'ClusteredColumn'
81
+ chart.width = 400
82
+ chart.height = 300
83
+
84
+ data_source_for_categories = AsposeSlidesCloud::Workbook.new
85
+ data_source_for_categories.worksheet_index = 1
86
+ data_source_for_categories.column_index = 1
87
+ data_source_for_categories.row_index = 2
88
+ chart.data_source_for_categories = data_source_for_categories
89
+
90
+ series1 = AsposeSlidesCloud::OneValueSeries.new
91
+ data_source_for_series1_name = AsposeSlidesCloud::Workbook.new
92
+ data_source_for_series1_name.worksheet_index = 1
93
+ data_source_for_series1_name.column_index = 2
94
+ data_source_for_series1_name.row_index = 1
95
+ series1.data_source_for_series_name = data_source_for_series1_name
96
+ series1.name = "Series1"
97
+ data_source_for_series1_values = AsposeSlidesCloud::Workbook.new
98
+ data_source_for_series1_values.worksheet_index = 1
99
+ data_source_for_series1_values.column_index = 2
100
+ data_source_for_series1_values.row_index = 2
101
+ series1.data_source_for_values = data_source_for_series1_values
102
+ point11 = AsposeSlidesCloud::OneValueChartDataPoint.new
103
+ point11.value = 40
104
+ point12 = AsposeSlidesCloud::OneValueChartDataPoint.new
105
+ point12.value = 50
106
+ point13 = AsposeSlidesCloud::OneValueChartDataPoint.new
107
+ point13.value = 70
108
+ series1.data_points = [point11, point12, point13]
109
+ series2 = AsposeSlidesCloud::OneValueSeries.new
110
+ data_source_for_series2_name = AsposeSlidesCloud::Workbook.new
111
+ data_source_for_series2_name.worksheet_index = 1
112
+ data_source_for_series2_name.column_index = 3
113
+ data_source_for_series2_name.row_index = 1
114
+ series2.data_source_for_series_name = data_source_for_series2_name
115
+ series2.name = "Series2"
116
+ data_source_for_series2_values = AsposeSlidesCloud::Workbook.new
117
+ data_source_for_series2_values.worksheet_index = 1
118
+ data_source_for_series2_values.column_index = 3
119
+ data_source_for_series2_values.row_index = 2
120
+ series2.data_source_for_values = data_source_for_series2_values
121
+ point21 = AsposeSlidesCloud::OneValueChartDataPoint.new
122
+ point21.value = 55
123
+ point22 = AsposeSlidesCloud::OneValueChartDataPoint.new
124
+ point22.value = 35
125
+ point23 = AsposeSlidesCloud::OneValueChartDataPoint.new
126
+ point23.value = 90
127
+ series2.data_points = [point21, point22, point23]
128
+ chart.series = [ series1, series2 ]
129
+ category1 = AsposeSlidesCloud::ChartCategory.new
130
+ category1.value = "Category1"
131
+ category2 = AsposeSlidesCloud::ChartCategory.new
132
+ category2.value = "Category2"
133
+ category3 = AsposeSlidesCloud::ChartCategory.new
134
+ category3.value = "Category3"
135
+ chart.categories = [category1, category2, category3]
136
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 3, chart, nil, nil, "password", folder_name)
137
+ expect(result.series.length).to eq(2)
138
+ expect(result.categories.length).to eq(3)
139
+ end
140
+
141
+ it 'create chart literals' do
142
+ folder_name = "TempSlidesSDK"
143
+ file_name = "test.pptx"
144
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
145
+ chart = AsposeSlidesCloud::Chart.new
146
+ chart.chart_type = 'ClusteredColumn'
147
+ chart.width = 400
148
+ chart.height = 300
149
+
150
+ chart.data_source_for_categories = AsposeSlidesCloud::Literals.new
151
+
152
+ series1 = AsposeSlidesCloud::OneValueSeries.new
153
+ series1.data_source_for_series_name = AsposeSlidesCloud::Literals.new
154
+ series1.name = "Series1"
155
+ series1.data_source_for_values = AsposeSlidesCloud::Literals.new
156
+ point11 = AsposeSlidesCloud::OneValueChartDataPoint.new
157
+ point11.value = 40
158
+ point12 = AsposeSlidesCloud::OneValueChartDataPoint.new
159
+ point12.value = 50
160
+ point13 = AsposeSlidesCloud::OneValueChartDataPoint.new
161
+ point13.value = 70
162
+ series1.data_points = [point11, point12, point13]
163
+ series2 = AsposeSlidesCloud::OneValueSeries.new
164
+ series2.data_source_for_series_name = AsposeSlidesCloud::Literals.new
165
+ series2.name = "Series2"
166
+ series2.data_source_for_values = AsposeSlidesCloud::Literals.new
167
+ point21 = AsposeSlidesCloud::OneValueChartDataPoint.new
168
+ point21.value = 55
169
+ point22 = AsposeSlidesCloud::OneValueChartDataPoint.new
170
+ point22.value = 35
171
+ point23 = AsposeSlidesCloud::OneValueChartDataPoint.new
172
+ point23.value = 90
173
+ series2.data_points = [point21, point22, point23]
174
+ chart.series = [ series1, series2 ]
175
+ category1 = AsposeSlidesCloud::ChartCategory.new
176
+ category1.value = "Category1"
177
+ category2 = AsposeSlidesCloud::ChartCategory.new
178
+ category2.value = "Category2"
179
+ category3 = AsposeSlidesCloud::ChartCategory.new
180
+ category3.value = "Category3"
181
+ chart.categories = [category1, category2, category3]
182
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 3, chart, nil, nil, "password", folder_name)
183
+ expect(result.series.length).to eq(2)
184
+ expect(result.categories.length).to eq(3)
185
+ end
186
+
75
187
  it 'update' do
76
188
  folder_name = "TempSlidesSDK"
77
189
  file_name = "test.pptx"
@@ -496,5 +608,51 @@ describe 'UseCases' do
496
608
  expect(data_point.line_format.fill_format.type).to eq("Solid")
497
609
  expect(data_point.effect_format.blur).not_to eq(nil)
498
610
  end
611
+
612
+ it 'chart formulas' do
613
+ folder_name = "TempSlidesSDK"
614
+ file_name = "test.pptx"
615
+ AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
616
+ chart = AsposeSlidesCloud::Chart.new
617
+ chart.chart_type = 'ClusteredColumn'
618
+ chart.width = 400
619
+ chart.height = 300
620
+
621
+ data_source_for_categories = AsposeSlidesCloud::Workbook.new
622
+ data_source_for_categories.worksheet_index = 1
623
+ data_source_for_categories.column_index = 1
624
+ data_source_for_categories.row_index = 2
625
+ chart.data_source_for_categories = data_source_for_categories
626
+
627
+ series1 = AsposeSlidesCloud::OneValueSeries.new
628
+ data_source_for_series1_name = AsposeSlidesCloud::Workbook.new
629
+ data_source_for_series1_name.worksheet_index = 1
630
+ data_source_for_series1_name.column_index = 2
631
+ data_source_for_series1_name.row_index = 1
632
+ series1.data_source_for_series_name = data_source_for_series1_name
633
+ series1.name = "Series1"
634
+ data_source_for_series1_values = AsposeSlidesCloud::Workbook.new
635
+ data_source_for_series1_values.worksheet_index = 1
636
+ data_source_for_series1_values.column_index = 2
637
+ data_source_for_series1_values.row_index = 2
638
+ series1.data_source_for_values = data_source_for_series1_values
639
+ point11 = AsposeSlidesCloud::OneValueChartDataPoint.new
640
+ point11.value = 40
641
+ point12 = AsposeSlidesCloud::OneValueChartDataPoint.new
642
+ point12.value = 50
643
+ point13 = AsposeSlidesCloud::OneValueChartDataPoint.new
644
+ point13.value_formula = "SUM(B2:B3)"
645
+ series1.data_points = [point11, point12, point13]
646
+ chart.series = [ series1 ]
647
+ category1 = AsposeSlidesCloud::ChartCategory.new
648
+ category1.value = "Category1"
649
+ category2 = AsposeSlidesCloud::ChartCategory.new
650
+ category2.value = "Category2"
651
+ category3 = AsposeSlidesCloud::ChartCategory.new
652
+ category3.value = "Category3"
653
+ chart.categories = [category1, category2, category3]
654
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 3, chart, nil, nil, "password", folder_name)
655
+ expect(result.series[0].data_points[2].value).to eq(90)
656
+ end
499
657
  end
500
658
  end
@@ -42,6 +42,13 @@ describe 'UseCases' do
42
42
  dto.title = AsposeSlidesCloud::ChartTitle.new
43
43
  dto.title.has_title = true
44
44
  dto.title.text = "MyTitle"
45
+
46
+ category1 = AsposeSlidesCloud::ChartCategory.new
47
+ category1.value = "Category1"
48
+ category2 = AsposeSlidesCloud::ChartCategory.new
49
+ category2.value = "Category2"
50
+ dto.categories = [ category1, category2 ]
51
+
45
52
  dto.series = []
46
53
  dto.series.push(AsposeSlidesCloud::OneValueSeries.new)
47
54
  dto.series[0].type = "ClusteredColumn"
@@ -180,13 +180,17 @@ describe 'UseCases' do
180
180
  expect(result).to be_kind_of(AsposeSlidesCloud::SmartArt)
181
181
  end
182
182
 
183
- it 'chart empty' do #See Chart tests for non-empty chart examples
183
+ it 'chart empty' do
184
184
  folder_name = "TempSlidesSDK"
185
185
  file_name = "test.pptx"
186
186
  AsposeSlidesCloud::SpecUtils.api.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
187
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)
188
+ begin
189
+ result = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, 1, dto, nil, nil, "password", folder_name)
190
+ fail "Chart with undefinined series should not have been created"
191
+ rescue AsposeSlidesCloud::ApiError => e
192
+ expect(e.code).to eq(500)
193
+ end
190
194
  end
191
195
 
192
196
  it 'table add' do
@@ -406,14 +410,9 @@ describe 'UseCases' do
406
410
  dto.width = 200
407
411
  dto.height = 100
408
412
  dto.target_slide_index = 2
409
- begin
410
- shape = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, slide_index, dto, nil, nil, password, folder_name)
411
- expect(shape).to be_kind_of(AsposeSlidesCloud::ZoomFrame)
412
- expect(shape.target_slide_index).to eq(2)
413
- fail "The exception has been fixed. Please remove the begin/rescue block"
414
- rescue ArgumentError => e
415
- #
416
- end
413
+ shape = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, slide_index, dto, nil, nil, password, folder_name)
414
+ expect(shape).to be_kind_of(AsposeSlidesCloud::ZoomFrame)
415
+ expect(shape.target_slide_index).to eq(2)
417
416
  end
418
417
 
419
418
  it "section zoom frame add" do
@@ -428,14 +427,9 @@ describe 'UseCases' do
428
427
  dto.width = 200
429
428
  dto.height = 100
430
429
  dto.target_section_index = 2
431
- begin
432
- shape = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, slide_index, dto, nil, nil, password, folder_name)
433
- expect(shape).to be_kind_of(AsposeSlidesCloud::SectionZoomFrame)
434
- expect(shape.target_section_index).to eq(2)
435
- fail "The exception has been fixed. Please remove the begin/rescue block"
436
- rescue ArgumentError => e
437
- #
438
- end
430
+ shape = AsposeSlidesCloud::SpecUtils.api.create_shape(file_name, slide_index, dto, nil, nil, password, folder_name)
431
+ expect(shape).to be_kind_of(AsposeSlidesCloud::SectionZoomFrame)
432
+ expect(shape.target_section_index).to eq(2)
439
433
  end
440
434
 
441
435
  it "ole object frame add by link" do