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.
- checksums.yaml +4 -4
- data/Gemfile.lock +7 -7
- data/README.md +6 -0
- data/lib/aspose_slides_cloud/api/slides_api.rb +4 -4
- data/lib/aspose_slides_cloud/api_client.rb +1 -1
- data/lib/aspose_slides_cloud/configuration.rb +1 -1
- data/lib/aspose_slides_cloud/models/accent_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/access_permissions.rb +40 -36
- data/lib/aspose_slides_cloud/models/add_layout_slide.rb +41 -37
- data/lib/aspose_slides_cloud/models/add_master_slide.rb +41 -37
- data/lib/aspose_slides_cloud/models/add_shape.rb +41 -37
- data/lib/aspose_slides_cloud/models/add_slide.rb +41 -37
- data/lib/aspose_slides_cloud/models/alpha_bi_level_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/alpha_ceiling_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/alpha_floor_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/alpha_inverse_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/alpha_modulate_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/alpha_modulate_fixed_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/alpha_replace_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/api_info.rb +40 -36
- data/lib/aspose_slides_cloud/models/arc_to_path_segment.rb +41 -37
- data/lib/aspose_slides_cloud/models/array_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/arrow_head_properties.rb +40 -36
- data/lib/aspose_slides_cloud/models/audio_frame.rb +41 -37
- data/lib/aspose_slides_cloud/models/axes.rb +40 -36
- data/lib/aspose_slides_cloud/models/axis.rb +40 -36
- data/lib/aspose_slides_cloud/models/axis_type.rb +4 -4
- data/lib/aspose_slides_cloud/models/bar_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/base64_input_file.rb +41 -37
- data/lib/aspose_slides_cloud/models/bi_level_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/block_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/blur_effect.rb +40 -36
- data/lib/aspose_slides_cloud/models/blur_image_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/border_box_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/box_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/bubble_chart_data_point.rb +78 -43
- data/lib/aspose_slides_cloud/models/bubble_series.rb +56 -39
- data/lib/aspose_slides_cloud/models/camera.rb +40 -36
- data/lib/aspose_slides_cloud/models/chart.rb +52 -38
- data/lib/aspose_slides_cloud/models/chart_category.rb +40 -36
- data/lib/aspose_slides_cloud/models/chart_lines_format.rb +40 -36
- data/lib/aspose_slides_cloud/models/chart_series_group.rb +40 -36
- data/lib/aspose_slides_cloud/models/chart_title.rb +40 -36
- data/lib/aspose_slides_cloud/models/chart_wall.rb +40 -36
- data/lib/aspose_slides_cloud/models/chart_wall_type.rb +3 -3
- data/lib/aspose_slides_cloud/models/close_path_segment.rb +41 -37
- data/lib/aspose_slides_cloud/models/color_change_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/color_replace_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/color_scheme.rb +40 -36
- data/lib/aspose_slides_cloud/models/common_slide_view_properties.rb +40 -36
- data/lib/aspose_slides_cloud/models/connector.rb +41 -37
- data/lib/aspose_slides_cloud/models/cubic_bezier_to_path_segment.rb +41 -37
- data/lib/aspose_slides_cloud/models/custom_dash_pattern.rb +40 -36
- data/lib/aspose_slides_cloud/models/data_point.rb +85 -38
- data/lib/aspose_slides_cloud/models/data_source.rb +248 -0
- data/lib/aspose_slides_cloud/models/delimiter_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/disc_usage.rb +40 -36
- data/lib/aspose_slides_cloud/models/document.rb +40 -36
- data/lib/aspose_slides_cloud/models/document_properties.rb +40 -36
- data/lib/aspose_slides_cloud/models/document_property.rb +40 -36
- data/lib/aspose_slides_cloud/models/document_replace_result.rb +40 -36
- data/lib/aspose_slides_cloud/models/duotone_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/effect.rb +40 -36
- data/lib/aspose_slides_cloud/models/effect_format.rb +40 -36
- data/lib/aspose_slides_cloud/models/entity_exists.rb +40 -36
- data/lib/aspose_slides_cloud/models/error.rb +40 -36
- data/lib/aspose_slides_cloud/models/error_details.rb +40 -36
- data/lib/aspose_slides_cloud/models/export_format.rb +25 -25
- data/lib/aspose_slides_cloud/models/export_options.rb +40 -36
- data/lib/aspose_slides_cloud/models/file_version.rb +40 -36
- data/lib/aspose_slides_cloud/models/file_versions.rb +40 -36
- data/lib/aspose_slides_cloud/models/files_list.rb +40 -36
- data/lib/aspose_slides_cloud/models/files_upload_result.rb +40 -36
- data/lib/aspose_slides_cloud/models/fill_format.rb +40 -36
- data/lib/aspose_slides_cloud/models/fill_overlay_effect.rb +40 -36
- data/lib/aspose_slides_cloud/models/fill_overlay_image_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/font_data.rb +40 -36
- data/lib/aspose_slides_cloud/models/font_fallback_rule.rb +40 -36
- data/lib/aspose_slides_cloud/models/font_scheme.rb +40 -36
- data/lib/aspose_slides_cloud/models/font_set.rb +40 -36
- data/lib/aspose_slides_cloud/models/font_subst_rule.rb +40 -36
- data/lib/aspose_slides_cloud/models/fonts_data.rb +40 -36
- data/lib/aspose_slides_cloud/models/format_scheme.rb +40 -36
- data/lib/aspose_slides_cloud/models/fraction_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/function_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/geometry_path.rb +40 -36
- data/lib/aspose_slides_cloud/models/geometry_paths.rb +40 -36
- data/lib/aspose_slides_cloud/models/geometry_shape.rb +40 -36
- data/lib/aspose_slides_cloud/models/gif_export_options.rb +41 -37
- data/lib/aspose_slides_cloud/models/glow_effect.rb +40 -36
- data/lib/aspose_slides_cloud/models/gradient_fill.rb +41 -37
- data/lib/aspose_slides_cloud/models/gradient_fill_stop.rb +40 -36
- data/lib/aspose_slides_cloud/models/graphical_object.rb +42 -38
- data/lib/aspose_slides_cloud/models/gray_scale_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/group_shape.rb +41 -37
- data/lib/aspose_slides_cloud/models/grouping_character_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/header_footer.rb +40 -36
- data/lib/aspose_slides_cloud/models/hsl_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/html5_export_options.rb +41 -37
- data/lib/aspose_slides_cloud/models/html_export_options.rb +41 -37
- data/lib/aspose_slides_cloud/models/hyperlink.rb +40 -36
- data/lib/aspose_slides_cloud/models/i_shape_export_options.rb +40 -36
- data/lib/aspose_slides_cloud/models/image.rb +40 -36
- data/lib/aspose_slides_cloud/models/image_export_format.rb +5 -5
- data/lib/aspose_slides_cloud/models/image_export_options.rb +41 -37
- data/lib/aspose_slides_cloud/models/image_export_options_base.rb +40 -36
- data/lib/aspose_slides_cloud/models/image_transform_effect.rb +40 -36
- data/lib/aspose_slides_cloud/models/images.rb +40 -36
- data/lib/aspose_slides_cloud/models/inner_shadow_effect.rb +40 -36
- data/lib/aspose_slides_cloud/models/input.rb +40 -36
- data/lib/aspose_slides_cloud/models/input_file.rb +40 -36
- data/lib/aspose_slides_cloud/models/interactive_sequence.rb +40 -36
- data/lib/aspose_slides_cloud/models/layout_slide.rb +40 -36
- data/lib/aspose_slides_cloud/models/layout_slides.rb +40 -36
- data/lib/aspose_slides_cloud/models/left_sub_superscript_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/legend.rb +40 -36
- data/lib/aspose_slides_cloud/models/light_rig.rb +40 -36
- data/lib/aspose_slides_cloud/models/limit_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/line_format.rb +40 -36
- data/lib/aspose_slides_cloud/models/line_to_path_segment.rb +41 -37
- data/lib/aspose_slides_cloud/models/literals.rb +227 -0
- data/lib/aspose_slides_cloud/models/luminance_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/master_slide.rb +40 -36
- data/lib/aspose_slides_cloud/models/master_slides.rb +40 -36
- data/lib/aspose_slides_cloud/models/math_element.rb +40 -36
- data/lib/aspose_slides_cloud/models/math_paragraph.rb +40 -36
- data/lib/aspose_slides_cloud/models/matrix_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/merge.rb +41 -37
- data/lib/aspose_slides_cloud/models/merging_source.rb +40 -36
- data/lib/aspose_slides_cloud/models/move_to_path_segment.rb +41 -37
- data/lib/aspose_slides_cloud/models/nary_operator_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/no_fill.rb +41 -37
- data/lib/aspose_slides_cloud/models/normal_view_restored_properties.rb +40 -36
- data/lib/aspose_slides_cloud/models/notes_slide.rb +40 -36
- data/lib/aspose_slides_cloud/models/notes_slide_export_format.rb +23 -23
- data/lib/aspose_slides_cloud/models/notes_slide_header_footer.rb +40 -36
- data/lib/aspose_slides_cloud/models/object_exist.rb +40 -36
- data/lib/aspose_slides_cloud/models/ole_object_frame.rb +41 -37
- data/lib/aspose_slides_cloud/models/one_value_chart_data_point.rb +75 -42
- data/lib/aspose_slides_cloud/models/one_value_series.rb +53 -38
- data/lib/aspose_slides_cloud/models/ordered_merge_request.rb +40 -36
- data/lib/aspose_slides_cloud/models/outer_shadow_effect.rb +40 -36
- data/lib/aspose_slides_cloud/models/output_file.rb +40 -36
- data/lib/aspose_slides_cloud/models/paragraph.rb +40 -36
- data/lib/aspose_slides_cloud/models/paragraphs.rb +40 -36
- data/lib/aspose_slides_cloud/models/path_input_file.rb +41 -37
- data/lib/aspose_slides_cloud/models/path_output_file.rb +41 -37
- data/lib/aspose_slides_cloud/models/path_segment.rb +40 -36
- data/lib/aspose_slides_cloud/models/pattern_fill.rb +41 -37
- data/lib/aspose_slides_cloud/models/pdf_export_options.rb +41 -37
- data/lib/aspose_slides_cloud/models/picture_fill.rb +41 -37
- data/lib/aspose_slides_cloud/models/picture_frame.rb +41 -37
- data/lib/aspose_slides_cloud/models/pipeline.rb +40 -36
- data/lib/aspose_slides_cloud/models/placeholder.rb +40 -36
- data/lib/aspose_slides_cloud/models/placeholders.rb +40 -36
- data/lib/aspose_slides_cloud/models/plot_area.rb +40 -36
- data/lib/aspose_slides_cloud/models/portion.rb +40 -36
- data/lib/aspose_slides_cloud/models/portion_format.rb +40 -36
- data/lib/aspose_slides_cloud/models/portions.rb +40 -36
- data/lib/aspose_slides_cloud/models/pptx_export_options.rb +41 -37
- data/lib/aspose_slides_cloud/models/presentation_to_merge.rb +40 -36
- data/lib/aspose_slides_cloud/models/presentations_merge_request.rb +40 -36
- data/lib/aspose_slides_cloud/models/preset_shadow_effect.rb +40 -36
- data/lib/aspose_slides_cloud/models/protection_properties.rb +40 -36
- data/lib/aspose_slides_cloud/models/quadratic_bezier_to_path_segment.rb +41 -37
- data/lib/aspose_slides_cloud/models/radical_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/reflection_effect.rb +40 -36
- data/lib/aspose_slides_cloud/models/remove_shape.rb +41 -37
- data/lib/aspose_slides_cloud/models/remove_slide.rb +41 -37
- data/lib/aspose_slides_cloud/models/reorder_slide.rb +41 -37
- data/lib/aspose_slides_cloud/models/replace_text.rb +41 -37
- data/lib/aspose_slides_cloud/models/request_input_file.rb +41 -37
- data/lib/aspose_slides_cloud/models/reset_slide.rb +41 -37
- data/lib/aspose_slides_cloud/models/resource_base.rb +40 -36
- data/lib/aspose_slides_cloud/models/resource_uri.rb +40 -36
- data/lib/aspose_slides_cloud/models/response_output_file.rb +41 -37
- data/lib/aspose_slides_cloud/models/right_sub_superscript_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/save.rb +41 -37
- data/lib/aspose_slides_cloud/models/save_shape.rb +41 -37
- data/lib/aspose_slides_cloud/models/save_slide.rb +41 -37
- data/lib/aspose_slides_cloud/models/scatter_chart_data_point.rb +86 -48
- data/lib/aspose_slides_cloud/models/scatter_series.rb +45 -38
- data/lib/aspose_slides_cloud/models/section.rb +40 -36
- data/lib/aspose_slides_cloud/models/section_zoom_frame.rb +41 -37
- data/lib/aspose_slides_cloud/models/sections.rb +40 -36
- data/lib/aspose_slides_cloud/models/series.rb +51 -37
- data/lib/aspose_slides_cloud/models/series_marker.rb +40 -36
- data/lib/aspose_slides_cloud/models/shape.rb +41 -37
- data/lib/aspose_slides_cloud/models/shape_base.rb +40 -36
- data/lib/aspose_slides_cloud/models/shape_bevel.rb +40 -36
- data/lib/aspose_slides_cloud/models/shape_export_format.rb +6 -6
- data/lib/aspose_slides_cloud/models/shape_image_export_options.rb +40 -36
- data/lib/aspose_slides_cloud/models/shape_thumbnail_bounds.rb +3 -3
- data/lib/aspose_slides_cloud/models/shape_type.rb +16 -16
- data/lib/aspose_slides_cloud/models/shapes.rb +40 -36
- data/lib/aspose_slides_cloud/models/shapes_alignment_type.rb +8 -8
- data/lib/aspose_slides_cloud/models/slide.rb +40 -36
- data/lib/aspose_slides_cloud/models/slide_animation.rb +40 -36
- data/lib/aspose_slides_cloud/models/slide_background.rb +40 -36
- data/lib/aspose_slides_cloud/models/slide_comment.rb +41 -37
- data/lib/aspose_slides_cloud/models/slide_comment_base.rb +40 -36
- data/lib/aspose_slides_cloud/models/slide_comments.rb +40 -36
- data/lib/aspose_slides_cloud/models/slide_export_format.rb +23 -23
- data/lib/aspose_slides_cloud/models/slide_modern_comment.rb +41 -37
- data/lib/aspose_slides_cloud/models/slide_properties.rb +40 -36
- data/lib/aspose_slides_cloud/models/slide_replace_result.rb +40 -36
- data/lib/aspose_slides_cloud/models/slide_show_properties.rb +40 -36
- data/lib/aspose_slides_cloud/models/slides.rb +40 -36
- data/lib/aspose_slides_cloud/models/smart_art.rb +41 -37
- data/lib/aspose_slides_cloud/models/smart_art_node.rb +40 -36
- data/lib/aspose_slides_cloud/models/smart_art_shape.rb +41 -37
- data/lib/aspose_slides_cloud/models/soft_edge_effect.rb +40 -36
- data/lib/aspose_slides_cloud/models/solid_fill.rb +41 -37
- data/lib/aspose_slides_cloud/models/special_slide_type.rb +3 -3
- data/lib/aspose_slides_cloud/models/split_document_result.rb +40 -36
- data/lib/aspose_slides_cloud/models/storage_exist.rb +40 -36
- data/lib/aspose_slides_cloud/models/storage_file.rb +40 -36
- data/lib/aspose_slides_cloud/models/subscript_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/summary_zoom_frame.rb +41 -37
- data/lib/aspose_slides_cloud/models/summary_zoom_section.rb +41 -37
- data/lib/aspose_slides_cloud/models/superscript_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/svg_export_options.rb +63 -39
- data/lib/aspose_slides_cloud/models/swf_export_options.rb +41 -37
- data/lib/aspose_slides_cloud/models/table.rb +41 -37
- data/lib/aspose_slides_cloud/models/table_cell.rb +40 -36
- data/lib/aspose_slides_cloud/models/table_column.rb +40 -36
- data/lib/aspose_slides_cloud/models/table_row.rb +40 -36
- data/lib/aspose_slides_cloud/models/task.rb +40 -36
- data/lib/aspose_slides_cloud/models/text_bounds.rb +40 -36
- data/lib/aspose_slides_cloud/models/text_element.rb +41 -37
- data/lib/aspose_slides_cloud/models/text_frame_format.rb +40 -36
- data/lib/aspose_slides_cloud/models/text_item.rb +40 -36
- data/lib/aspose_slides_cloud/models/text_items.rb +40 -36
- data/lib/aspose_slides_cloud/models/theme.rb +40 -36
- data/lib/aspose_slides_cloud/models/three_d_format.rb +40 -36
- data/lib/aspose_slides_cloud/models/tiff_export_options.rb +41 -37
- data/lib/aspose_slides_cloud/models/tint_effect.rb +41 -37
- data/lib/aspose_slides_cloud/models/update_background.rb +41 -37
- data/lib/aspose_slides_cloud/models/update_shape.rb +41 -37
- data/lib/aspose_slides_cloud/models/video_export_options.rb +41 -37
- data/lib/aspose_slides_cloud/models/video_frame.rb +41 -37
- data/lib/aspose_slides_cloud/models/view_properties.rb +40 -36
- data/lib/aspose_slides_cloud/models/workbook.rb +272 -0
- data/lib/aspose_slides_cloud/models/xaml_export_options.rb +41 -37
- data/lib/aspose_slides_cloud/models/xps_export_options.rb +41 -37
- data/lib/aspose_slides_cloud/models/xy_series.rb +63 -38
- data/lib/aspose_slides_cloud/models/zoom_frame.rb +41 -37
- data/lib/aspose_slides_cloud/models/zoom_object.rb +40 -36
- data/lib/aspose_slides_cloud/type_registry.rb +197 -190
- data/lib/aspose_slides_cloud/version.rb +1 -1
- data/lib/aspose_slides_cloud.rb +123 -120
- data/spec/api/slides_api_spec.rb +3518 -3518
- data/spec/spec_utils.rb +88 -51
- data/spec/use_cases/chart_spec.rb +159 -1
- data/spec/use_cases/nullable_field_spec.rb +7 -0
- data/spec/use_cases/shape_spec.rb +13 -19
- data/testRules.json +138 -545
- 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
|
-
|
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
|
-
|
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
|
-
|
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
|
145
|
-
and
|
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
|
172
|
+
if template.is_a? String
|
154
173
|
result = "" + template
|
155
|
-
if
|
156
|
-
result[
|
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
|
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
|
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
|
-
|
189
|
-
|
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
|
-
|
410
|
-
|
411
|
-
|
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
|
-
|
432
|
-
|
433
|
-
|
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
|