aspose_cells_cloud 26.8 → 26.9

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 (91) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +49 -39
  3. data/lib/aspose_cells_cloud/requests/smart_marker_template_request.rb +30 -0
  4. data/lib/aspose_cells_cloud/requests/translate_spreadsheet_request.rb +24 -0
  5. data/lib/aspose_cells_cloud/requests/translate_text_file_request.rb +24 -0
  6. data/lib/aspose_cells_cloud/version.rb +1 -1
  7. data/spec/client_spec.rb +114 -0
  8. data/spec/configuration_spec.rb +61 -0
  9. data/spec/form_file_spec.rb +47 -0
  10. data/spec/model_spec.rb +73 -0
  11. data/spec/request_spec.rb +87 -0
  12. data/spec/rich_response_spec.rb +46 -0
  13. data/spec/sdk_error_spec.rb +27 -0
  14. data/spec/spec_helper.rb +21 -134
  15. metadata +9 -78
  16. data/spec/TestData/AggregateCellsByColor.xlsx +0 -0
  17. data/spec/TestData/Book1.xlsx +0 -0
  18. data/spec/TestData/BookCsvDuplicateData.csv +0 -21
  19. data/spec/TestData/BookDuplicateData.xlsx +0 -0
  20. data/spec/TestData/BookFormula.xlsx +0 -0
  21. data/spec/TestData/BookTableL2W.xlsx +0 -0
  22. data/spec/TestData/BookText.xlsx +0 -0
  23. data/spec/TestData/CompanySales.xlsx +0 -0
  24. data/spec/TestData/EmployeeSalesSummary-BlankWorksheet.xlsx +0 -0
  25. data/spec/TestData/EmployeeSalesSummary.xlsx +0 -0
  26. data/spec/TestData/EmployeeSalesSummary_Locked.xlsx +0 -0
  27. data/spec/TestData/Formula tutorial.xlsx +0 -0
  28. data/spec/TestData/Group.xlsx +0 -0
  29. data/spec/TestData/Home inventory.xlsx +0 -0
  30. data/spec/TestData/LockedEmployeeSalesSummary.xlsx +0 -0
  31. data/spec/TestData/OLEDoc.docx +0 -0
  32. data/spec/TestData/ReportData.xml +0 -1
  33. data/spec/TestData/Simple invoice.xlsx +0 -0
  34. data/spec/TestData/Template.xlsx +0 -0
  35. data/spec/TestData/TestCase.xlsx +0 -0
  36. data/spec/TestData/TestTables.xlsx +0 -0
  37. data/spec/TestData/WaterMark.png +0 -0
  38. data/spec/TestData/assemblytest.xlsx +0 -0
  39. data/spec/TestData/data.xml +0 -1
  40. data/spec/TestData/datasource.xlsx +0 -0
  41. data/spec/TestData/myDocument.xlsx +0 -0
  42. data/spec/TestData/needUnlock.xlsx +0 -0
  43. data/spec/TestData/needlock.xlsx +0 -0
  44. data/spec/TestData/roywang.pfx +0 -0
  45. data/spec/TestData/word.jpg +0 -0
  46. data/spec/calculate/calculate_spec.rb +0 -29
  47. data/spec/cells_cloud30/auto_filter_controller_spec.rb +0 -211
  48. data/spec/cells_cloud30/batch_controller_spec.rb +0 -113
  49. data/spec/cells_cloud30/cells_controller_spec.rb +0 -627
  50. data/spec/cells_cloud30/cells_status_controller_spec.rb +0 -43
  51. data/spec/cells_cloud30/chart_area_controller_spec.rb +0 -58
  52. data/spec/cells_cloud30/charts_controller_spec.rb +0 -227
  53. data/spec/cells_cloud30/conditional_formattings_controller_spec.rb +0 -149
  54. data/spec/cells_cloud30/conversion30_spec.rb +0 -1112
  55. data/spec/cells_cloud30/data_processing_controller_spec.rb +0 -97
  56. data/spec/cells_cloud30/hypelinks_controller_spec.rb +0 -104
  57. data/spec/cells_cloud30/light_cells_spec.rb +0 -1059
  58. data/spec/cells_cloud30/list_objects_controller_spec.rb +0 -225
  59. data/spec/cells_cloud30/ole_objects_controller_spec.rb +0 -108
  60. data/spec/cells_cloud30/page_breaks_controller_spec.rb +0 -163
  61. data/spec/cells_cloud30/page_setup_controller_spec.rb +0 -149
  62. data/spec/cells_cloud30/pictures_controller_spec.rb +0 -106
  63. data/spec/cells_cloud30/pivot_tables_controller_spec.rb +0 -312
  64. data/spec/cells_cloud30/properties_controller_spec.rb +0 -89
  65. data/spec/cells_cloud30/ranges_controller_spec.rb +0 -227
  66. data/spec/cells_cloud30/shapes_controller_spec.rb +0 -139
  67. data/spec/cells_cloud30/sparkline_groups_controller_spec.rb +0 -104
  68. data/spec/cells_cloud30/text_processing_controller_spec.rb +0 -67
  69. data/spec/cells_cloud30/workbook_controller_spec.rb +0 -519
  70. data/spec/cells_cloud30/worksheet_controller_spec.rb +0 -609
  71. data/spec/cells_cloud30/worksheet_validations_controller_spec.rb +0 -104
  72. data/spec/cells_cloud30/xml_controller_spec.rb +0 -48
  73. data/spec/data_processing/conversion_spec.rb +0 -428
  74. data/spec/data_processing/import_data_spec.rb +0 -24
  75. data/spec/data_processing/merger_spec.rb +0 -28
  76. data/spec/data_processing/protection_spec.rb +0 -29
  77. data/spec/data_processing/splitter_spec.rb +0 -47
  78. data/spec/data_processing/transform_spec.rb +0 -43
  79. data/spec/dynabic/file_controller_spec.rb +0 -60
  80. data/spec/dynabic/folder_controller_spec.rb +0 -88
  81. data/spec/dynabic/storage_controller_spec.rb +0 -73
  82. data/spec/management/management_spec.rb +0 -111
  83. data/spec/search2_replace/replacer_spec.rb +0 -46
  84. data/spec/search2_replace/searcher_spec.rb +0 -131
  85. data/spec/text_processing/add_text_spec.rb +0 -45
  86. data/spec/text_processing/convert_text_spec.rb +0 -37
  87. data/spec/text_processing/extract_text_spec.rb +0 -37
  88. data/spec/text_processing/remove_characters_spec.rb +0 -53
  89. data/spec/text_processing/split_text_spec.rb +0 -21
  90. data/spec/text_processing/trim_spreadsheet_spec.rb +0 -29
  91. data/spec/text_processing/update_word_case_spec.rb +0 -37
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'stringio'
4
+ require 'tempfile'
5
+
6
+ RSpec.describe Aspose::Cells::Cloud::FormFile do
7
+ describe '.from_path' do
8
+ it 'reads the file bytes and uses its basename as the filename' do
9
+ Tempfile.create('book') do |file|
10
+ file.write('sheet-bytes')
11
+ file.flush
12
+ form_file = described_class.from_path(file.path)
13
+ expect(form_file.filename).to eq(File.basename(file.path))
14
+ expect(form_file.read).to eq('sheet-bytes')
15
+ expect(form_file.read.encoding).to eq(Encoding::BINARY)
16
+ end
17
+ end
18
+ end
19
+
20
+ describe '.from_io' do
21
+ it 'reads the stream and honors an explicit filename' do
22
+ form_file = described_class.from_io(StringIO.new('io-content'), filename: 'report.csv')
23
+ expect(form_file.filename).to eq('report.csv')
24
+ expect(form_file.read).to eq('io-content')
25
+ end
26
+ end
27
+
28
+ describe '.from_bytes' do
29
+ it 'packs an integer byte array into a binary string' do
30
+ form_file = described_class.from_bytes([0x50, 0x4B, 0x03, 0x04], filename: 'Book1.xlsx')
31
+ expect(form_file.read).to eq("\x50\x4B\x03\x04".b)
32
+ end
33
+
34
+ it 'accepts a binary string as-is' do
35
+ form_file = described_class.from_bytes("\x50\x4B".b, filename: 'a.xlsx')
36
+ expect(form_file.read).to eq("\x50\x4B".b)
37
+ end
38
+ end
39
+
40
+ describe 'validation' do
41
+ it 'requires exactly one of path/io/bytes' do
42
+ expect { described_class.new }.to raise_error(ArgumentError, /exactly one/)
43
+ expect { described_class.new(path: 'a', io: StringIO.new) }.to raise_error(ArgumentError, /exactly one/)
44
+ expect { described_class.from_bytes([1], filename: nil) }.not_to raise_error
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe 'generated models' do
4
+ describe Aspose::Cells::Cloud::Model::Font do
5
+ it 'serializes set attributes to PascalCase wire names' do
6
+ font = described_class.new(is_bold: true, size: 16, name: 'Arial')
7
+ expect(font.to_h).to eq('IsBold' => true, 'Name' => 'Arial', 'Size' => 16)
8
+ end
9
+
10
+ it 'omits nil attributes (omitempty semantics)' do
11
+ expect(described_class.new.to_h).to eq({})
12
+ end
13
+
14
+ it 'produces JSON via #to_json' do
15
+ font = described_class.new(size: 12)
16
+ expect(font.to_json).to eq('{"Size":12}')
17
+ end
18
+ end
19
+
20
+ describe Aspose::Cells::Cloud::Model::FontSetting do
21
+ it 'nests a model reference with #to_h' do
22
+ setting = described_class.new(
23
+ font: Aspose::Cells::Cloud::Model::Font.new(size: 10),
24
+ length: 5,
25
+ start_index: 0
26
+ )
27
+ expect(setting.to_h).to eq('Font' => { 'Size' => 10 }, 'Length' => 5, 'StartIndex' => 0)
28
+ end
29
+ end
30
+
31
+ describe 'keyword-conflict attributes' do
32
+ it 'maps a Type property to a type_ accessor with wire name Type' do
33
+ color = Aspose::Cells::Cloud::Model::CellsColor.new(type_: 'Automatic')
34
+ expect(color.type_).to eq('Automatic')
35
+ expect(color.to_h).to eq('Type' => 'Automatic')
36
+ end
37
+ end
38
+
39
+ describe 'container (array-of-model) properties' do
40
+ it 'maps each element with #to_h' do
41
+ links = Aspose::Cells::Cloud::Model::ListObjects.new(
42
+ list_object_list: [
43
+ Aspose::Cells::Cloud::Model::ListObject.new,
44
+ Aspose::Cells::Cloud::Model::ListObject.new
45
+ ]
46
+ )
47
+ expect(links.to_h['ListObjectList']).to be_an(Array)
48
+ expect(links.to_h['ListObjectList'].length).to eq(2)
49
+ end
50
+ end
51
+
52
+ describe 'enum models' do
53
+ it 'serializes to an empty hash' do
54
+ enum = Aspose::Cells::Cloud::Model::AggregateOperation.new('Sum')
55
+ expect(enum.to_h).to eq({})
56
+ end
57
+ end
58
+
59
+ describe 'full generation' do
60
+ it 'generates 483 model classes' do
61
+ model_files = Dir[File.join(__dir__, '..', 'lib', 'aspose', 'cells', 'cloud', 'model', '*.rb')]
62
+ expect(model_files.length).to eq(483)
63
+ end
64
+
65
+ it 'every model responds to to_h and to_json' do
66
+ Aspose::Cells::Cloud::Model.constants.each do |const|
67
+ klass = Aspose::Cells::Cloud::Model.const_get(const)
68
+ next unless klass.is_a?(Class)
69
+ expect(klass.new).to respond_to(:to_h, :to_json)
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe 'generated requests' do
4
+ describe Aspose::Cells::Cloud::Request::PostClearContentsRequest do
5
+ subject(:request) do
6
+ described_class.new(name: 'Book 1.xlsx', sheet_name: 'Sheet1', range: 'A1:C10',
7
+ folder: 'TestData/In')
8
+ end
9
+
10
+ it 'returns the HTTP verb' do
11
+ expect(request.get_method).to eq('POST')
12
+ end
13
+
14
+ it 'substitutes and URL-encodes path placeholders' do
15
+ expect(request.get_path).to eq('/v3.0/cells/Book%201.xlsx/worksheets/Sheet1/cells/clearcontents')
16
+ end
17
+
18
+ it 'includes required + present optional query parameters' do
19
+ expect(request.get_query_parameters).to eq('range' => 'A1:C10', 'folder' => 'TestData/In')
20
+ end
21
+
22
+ it 'raises ArgumentError when a required parameter is empty' do
23
+ expect { described_class.new(name: '', sheet_name: 'Sheet1') }
24
+ .to raise_error(ArgumentError, /name is required/)
25
+ end
26
+
27
+ it 'enforces a required keyword argument' do
28
+ expect { described_class.new(sheet_name: 'Sheet1') }
29
+ .to raise_error(ArgumentError, /missing keyword/)
30
+ end
31
+ end
32
+
33
+ describe Aspose::Cells::Cloud::Request::PutConvertWorkbookRequest do
34
+ subject(:request) { described_class.new(format_: 'pdf', file: 'testdata/Book1.xlsx') }
35
+
36
+ it 'maps the format_ attribute to the format wire key' do
37
+ expect(request.get_query_parameters).to eq('format' => 'pdf')
38
+ end
39
+
40
+ it 'exposes the file as a multipart form field' do
41
+ expect(request.get_multipart_form).to eq('File' => 'testdata/Book1.xlsx')
42
+ expect(request.get_header_parameters).to eq('Content-Type' => 'multipart/form-data')
43
+ end
44
+ end
45
+
46
+ describe Aspose::Cells::Cloud::Request::UploadFileRequest do
47
+ it 'uses the UploadFiles form field name' do
48
+ request = described_class.new(path: 'TestData/In/Book1.xlsx',
49
+ upload_files: 'testdata/Book1.xlsx')
50
+ expect(request.get_multipart_form).to eq('UploadFiles' => 'testdata/Book1.xlsx')
51
+ expect(request.get_path).to eq('/v4.0/cells/storage/file/TestData%2FIn%2FBook1.xlsx')
52
+ end
53
+ end
54
+
55
+ describe Aspose::Cells::Cloud::Request::PutWorksheetColorFilterRequest do
56
+ it 'serializes a body model to a Hash and sets JSON content type' do
57
+ request = described_class.new(
58
+ name: 'Book1.xlsx', sheet_name: 'Sheet1', range: 'A1:C10', field_index: 0,
59
+ color_filter: Aspose::Cells::Cloud::Model::ColorFilterRequest.new(pattern: 'Solid')
60
+ )
61
+ expect(request.get_json_body).to eq('Pattern' => 'Solid')
62
+ expect(request.get_header_parameters).to eq('Content-Type' => 'application/json')
63
+ end
64
+ end
65
+
66
+ describe 'full generation' do
67
+ it 'generates 457 request classes (461 operations minus 4 ignored)' do
68
+ files = Dir[File.join(__dir__, '..', 'lib', 'aspose', 'cells', 'cloud', 'request', '*_request.rb')]
69
+ expect(files.length).to eq(457)
70
+ end
71
+
72
+ it 'every request is well-formed (verb, no leftover placeholders, Hash query)' do
73
+ Aspose::Cells::Cloud::Request.constants.each do |const|
74
+ klass = Aspose::Cells::Cloud::Request.const_get(const)
75
+ next unless klass.is_a?(Class) && klass < Aspose::Cells::Cloud::RequestOption
76
+
77
+ required = klass.instance_method(:initialize).parameters
78
+ .select { |type, _| type == :keyreq }.map { |_, name| name }
79
+ request = klass.new(**required.to_h { |name| [name, 'test'] })
80
+
81
+ expect(request.get_method).to match(/\A(GET|POST|PUT|DELETE)\z/)
82
+ expect(request.get_path).not_to include('{', '}')
83
+ expect(request.get_query_parameters).to be_a(Hash)
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe Aspose::Cells::Cloud::RichResponse do
4
+ subject(:response) do
5
+ described_class.new(200, { 'Content-Type' => 'application/json' }, '{"Name":"Book1.xlsx"}')
6
+ end
7
+
8
+ it 'exposes status_code, headers, and body' do
9
+ expect(response.status_code).to eq(200)
10
+ expect(response.headers['Content-Type']).to eq('application/json')
11
+ expect(response.body).to eq('{"Name":"Book1.xlsx"}')
12
+ end
13
+
14
+ describe '#to_s' do
15
+ it 'decodes the body as UTF-8' do
16
+ expect(response.to_s).to eq('{"Name":"Book1.xlsx"}')
17
+ expect(response.to_s.encoding).to eq(Encoding::UTF_8)
18
+ end
19
+
20
+ it 'returns empty string for a nil body' do
21
+ expect(described_class.new(204, {}, nil).to_s).to eq('')
22
+ end
23
+ end
24
+
25
+ describe '#to_bytes' do
26
+ it 'returns a binary-encoded body' do
27
+ bytes = response.to_bytes
28
+ expect(bytes).to eq('{"Name":"Book1.xlsx"}')
29
+ expect(bytes.encoding).to eq(Encoding::BINARY)
30
+ end
31
+ end
32
+
33
+ describe '#get_json' do
34
+ it 'parses the body into a Hash' do
35
+ expect(response.get_json).to eq('Name' => 'Book1.xlsx')
36
+ end
37
+
38
+ it 'hydrates a model when a class is given' do
39
+ hydrated = described_class.new(200, {}, '{"UsedSize":1,"TotalSize":2}')
40
+ .get_json(Aspose::Cells::Cloud::Model::DiscUsage)
41
+ expect(hydrated).to be_a(Aspose::Cells::Cloud::Model::DiscUsage)
42
+ expect(hydrated.used_size).to eq(1)
43
+ expect(hydrated.total_size).to eq(2)
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe Aspose::Cells::Cloud::SDKError do
4
+ it 'is a StandardError' do
5
+ expect(described_class.superclass).to eq(StandardError)
6
+ end
7
+
8
+ it 'carries a message' do
9
+ error = described_class.new('boom')
10
+ expect(error.message).to eq('boom')
11
+ end
12
+
13
+ it 'carries an optional HTTP code and body' do
14
+ error = described_class.new('boom', code: 401, response_body: '{"error":"denied"}')
15
+ expect(error.code).to eq(401)
16
+ expect(error.response_body).to eq('{"error":"denied"}')
17
+ end
18
+
19
+ it 'can be rescued via the class name' do
20
+ raised = begin
21
+ raise described_class, 'x'
22
+ rescue described_class => e
23
+ e
24
+ end
25
+ expect(raised).to be_a(described_class)
26
+ end
27
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,134 +1,21 @@
1
- =begin
2
- --------------------------------------------------------------------------------------------------------------------
3
- <copyright company="Aspose" file="spec_helperrb.cs">
4
- Copyright (c) 2026 Aspose.Cells Cloud
5
- </copyright>
6
- <summary>
7
- Permission is hereby granted, free of charge, to any person obtaining a copy
8
- of this software and associated documentation files (the "Software"), to deal
9
- in the Software without restriction, including without limitation the rights
10
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
- copies of the Software, and to permit persons to whom the Software is
12
- furnished to do so, subject to the following conditions:
13
-
14
- The above copyright notice and this permission notice shall be included in all
15
- copies or substantial portions of the Software.
16
-
17
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
- SOFTWARE.
24
- </summary>
25
- --------------------------------------------------------------------------------------------------------------------
26
- =end
27
-
28
-
29
- require 'openssl'
30
- require 'bundler'
31
- # OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
32
- # load the gem
33
- require 'aspose_cells_cloud'
34
- $grant_type = 'client_credentials' # replace NULL with a proper value
35
- $client_id = ENV['CellsCloudClientId'] # # replace NULL with a proper value
36
- $client_secret = ENV['CellsCloudClientSecret'] # # replace NULL with a proper value
37
- $baseurl=ENV['CellsCloudApiBaseUrl']
38
- $api_version='v3.0'
39
- # The following was generated by the `rspec --init` command. Conventionally, all
40
- # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
41
- # The generated `.rspec` file contains `--require spec_helper` which will cause
42
- # this file to always be loaded, without a need to explicitly require it in any
43
- # files.
44
- #
45
- # Given that it is always loaded, you are encouraged to keep this file as
46
- # light-weight as possible. Requiring heavyweight dependencies from this file
47
- # will add to the boot time of your test suite on EVERY test run, even for an
48
- # individual file that may not need all of that loaded. Instead, consider making
49
- # a separate helper file that requires the additional dependencies and performs
50
- # the additional setup, and require it from the spec files that actually need
51
- # it.
52
- #
53
- # The `.rspec` file also contains a few flags that are not defaults but that
54
- # users commonly want.
55
- #
56
- # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
57
- RSpec.configure do |config|
58
- # rspec-expectations config goes here. You can use an alternate
59
- # assertion/expectation library such as wrong or the stdlib/minitest
60
- # assertions if you prefer.
61
- config.expect_with :rspec do |expectations|
62
- # This option will default to `true` in RSpec 4. It makes the `description`
63
- # and `failure_message` of custom matchers include text for helper methods
64
- # defined using `chain`, e.g.:
65
- # be_bigger_than(2).and_smaller_than(4).description
66
- # # => "be bigger than 2 and smaller than 4"
67
- # ...rather than:
68
- # # => "be bigger than 2"
69
- expectations.include_chain_clauses_in_custom_matcher_descriptions = true
70
- end
71
-
72
- # rspec-mocks config goes here. You can use an alternate test double
73
- # library (such as bogus or mocha) by changing the `mock_with` option here.
74
- config.mock_with :rspec do |mocks|
75
- # Prevents you from mocking or stubbing a method that does not exist on
76
- # a real object. This is generally recommended, and will default to
77
- # `true` in RSpec 4.
78
- mocks.verify_partial_doubles = true
79
- end
80
-
81
- # The settings below are suggested to provide a good initial experience
82
- # with RSpec, but feel free to customize to your heart's content.
83
- =begin
84
- # These two settings work together to allow you to limit a spec run
85
- # to individual examples or groups you care about by tagging them with
86
- # `:focus` metadata. When nothing is tagged with `:focus`, all examples
87
- # get run.
88
- config.filter_run :focus
89
- config.run_all_when_everything_filtered = true
90
-
91
- # Allows RSpec to persist some state between runs in order to support
92
- # the `--only-failures` and `--next-failure` CLI options. We recommend
93
- # you configure your source control system to ignore this file.
94
- config.example_status_persistence_file_path = "spec/examples.txt"
95
-
96
- # Limits the available syntax to the non-monkey patched syntax that is
97
- # recommended. For more details, see:
98
- # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
99
- # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
100
- # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
101
- config.disable_monkey_patching!
102
-
103
- # This setting enables warnings. It's recommended, but in some cases may
104
- # be too noisy due to issues in dependencies.
105
- config.warnings = true
106
-
107
- # Many RSpec users commonly either run the entire suite or an individual
108
- # file, and it's useful to allow more verbose output when running an
109
- # individual spec file.
110
- if config.files_to_run.one?
111
- # Use the documentation formatter for detailed output,
112
- # unless a formatter has already been configured
113
- # (e.g. via a command-line flag).
114
- config.default_formatter = 'doc'
115
- end
116
-
117
- # Print the 10 slowest examples and example groups at the
118
- # end of the spec run, to help surface which specs are running
119
- # particularly slow.
120
- config.profile_examples = 10
121
-
122
- # Run specs in random order to surface order dependencies. If you find an
123
- # order dependency and want to debug it, you can fix the order by providing
124
- # the seed, which is printed after each run.
125
- # --seed 1234
126
- config.order = :random
127
-
128
- # Seed global randomization in this process using the `--seed` CLI option.
129
- # Setting this allows you to use `--seed` to deterministically reproduce
130
- # test failures related to randomization by passing the same `--seed` value
131
- # as the one that triggered the failure.
132
- Kernel.srand config.seed
133
- =end
134
- end
1
+ # frozen_string_literal: true
2
+
3
+ # Makes the SDK available to every spec without requiring Bundler.
4
+ $LOAD_PATH.unshift File.expand_path('../lib', __dir__)
5
+
6
+ require 'aspose/cells/cloud'
7
+
8
+ RSpec.configure do |config|
9
+ config.expect_with :rspec do |expectations|
10
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
11
+ end
12
+
13
+ config.mock_with :rspec do |mocks|
14
+ mocks.verify_partial_doubles = true
15
+ end
16
+
17
+ config.shared_context_metadata_behavior = :apply_to_host_groups
18
+ config.disable_monkey_patching!
19
+ config.order = :random
20
+ Kernel.srand config.seed
21
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aspose_cells_cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: '26.8'
4
+ version: '26.9'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aspose Cells Cloud
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-22 00:00:00.000000000 Z
11
+ date: 2026-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -1155,83 +1155,14 @@ files:
1155
1155
  - lib/aspose_cells_cloud/requests/update_word_case_request.rb
1156
1156
  - lib/aspose_cells_cloud/requests/upload_file_request.rb
1157
1157
  - lib/aspose_cells_cloud/version.rb
1158
- - spec/TestData/AggregateCellsByColor.xlsx
1159
- - spec/TestData/Book1.xlsx
1160
- - spec/TestData/BookCsvDuplicateData.csv
1161
- - spec/TestData/BookDuplicateData.xlsx
1162
- - spec/TestData/BookFormula.xlsx
1163
- - spec/TestData/BookTableL2W.xlsx
1164
- - spec/TestData/BookText.xlsx
1165
- - spec/TestData/CompanySales.xlsx
1166
- - spec/TestData/EmployeeSalesSummary-BlankWorksheet.xlsx
1167
- - spec/TestData/EmployeeSalesSummary.xlsx
1168
- - spec/TestData/EmployeeSalesSummary_Locked.xlsx
1169
- - spec/TestData/Formula tutorial.xlsx
1170
- - spec/TestData/Group.xlsx
1171
- - spec/TestData/Home inventory.xlsx
1172
- - spec/TestData/LockedEmployeeSalesSummary.xlsx
1173
- - spec/TestData/OLEDoc.docx
1174
- - spec/TestData/ReportData.xml
1175
- - spec/TestData/Simple invoice.xlsx
1176
- - spec/TestData/Template.xlsx
1177
- - spec/TestData/TestCase.xlsx
1178
- - spec/TestData/TestTables.xlsx
1179
- - spec/TestData/WaterMark.png
1180
- - spec/TestData/assemblytest.xlsx
1181
- - spec/TestData/data.xml
1182
- - spec/TestData/datasource.xlsx
1183
- - spec/TestData/myDocument.xlsx
1184
- - spec/TestData/needUnlock.xlsx
1185
- - spec/TestData/needlock.xlsx
1186
- - spec/TestData/roywang.pfx
1187
- - spec/TestData/word.jpg
1188
- - spec/calculate/calculate_spec.rb
1189
- - spec/cells_cloud30/auto_filter_controller_spec.rb
1190
- - spec/cells_cloud30/batch_controller_spec.rb
1191
- - spec/cells_cloud30/cells_controller_spec.rb
1192
- - spec/cells_cloud30/cells_status_controller_spec.rb
1193
- - spec/cells_cloud30/chart_area_controller_spec.rb
1194
- - spec/cells_cloud30/charts_controller_spec.rb
1195
- - spec/cells_cloud30/conditional_formattings_controller_spec.rb
1196
- - spec/cells_cloud30/conversion30_spec.rb
1197
- - spec/cells_cloud30/data_processing_controller_spec.rb
1198
- - spec/cells_cloud30/hypelinks_controller_spec.rb
1199
- - spec/cells_cloud30/light_cells_spec.rb
1200
- - spec/cells_cloud30/list_objects_controller_spec.rb
1201
- - spec/cells_cloud30/ole_objects_controller_spec.rb
1202
- - spec/cells_cloud30/page_breaks_controller_spec.rb
1203
- - spec/cells_cloud30/page_setup_controller_spec.rb
1204
- - spec/cells_cloud30/pictures_controller_spec.rb
1205
- - spec/cells_cloud30/pivot_tables_controller_spec.rb
1206
- - spec/cells_cloud30/properties_controller_spec.rb
1207
- - spec/cells_cloud30/ranges_controller_spec.rb
1208
- - spec/cells_cloud30/shapes_controller_spec.rb
1209
- - spec/cells_cloud30/sparkline_groups_controller_spec.rb
1210
- - spec/cells_cloud30/text_processing_controller_spec.rb
1211
- - spec/cells_cloud30/workbook_controller_spec.rb
1212
- - spec/cells_cloud30/worksheet_controller_spec.rb
1213
- - spec/cells_cloud30/worksheet_validations_controller_spec.rb
1214
- - spec/cells_cloud30/xml_controller_spec.rb
1215
- - spec/data_processing/conversion_spec.rb
1216
- - spec/data_processing/import_data_spec.rb
1217
- - spec/data_processing/merger_spec.rb
1218
- - spec/data_processing/protection_spec.rb
1219
- - spec/data_processing/splitter_spec.rb
1220
- - spec/data_processing/transform_spec.rb
1221
- - spec/dynabic/file_controller_spec.rb
1222
- - spec/dynabic/folder_controller_spec.rb
1223
- - spec/dynabic/storage_controller_spec.rb
1224
- - spec/management/management_spec.rb
1225
- - spec/search2_replace/replacer_spec.rb
1226
- - spec/search2_replace/searcher_spec.rb
1158
+ - spec/client_spec.rb
1159
+ - spec/configuration_spec.rb
1160
+ - spec/form_file_spec.rb
1161
+ - spec/model_spec.rb
1162
+ - spec/request_spec.rb
1163
+ - spec/rich_response_spec.rb
1164
+ - spec/sdk_error_spec.rb
1227
1165
  - spec/spec_helper.rb
1228
- - spec/text_processing/add_text_spec.rb
1229
- - spec/text_processing/convert_text_spec.rb
1230
- - spec/text_processing/extract_text_spec.rb
1231
- - spec/text_processing/remove_characters_spec.rb
1232
- - spec/text_processing/split_text_spec.rb
1233
- - spec/text_processing/trim_spreadsheet_spec.rb
1234
- - spec/text_processing/update_word_case_spec.rb
1235
1166
  homepage: https://products.aspose.cloud/cells/ruby
1236
1167
  licenses:
1237
1168
  - MIT
Binary file
@@ -1,21 +0,0 @@
1
- 1,1,1,1,1,1,1
2
- 2,2,2,2,2,2,2
3
- 3,3,3,3,3,3,3
4
- 4,4,4,4,4,4,4
5
- 5,5,5,5,5,5,5
6
- 6,6,6,6,6,6,6
7
- 7,7,7,7,7,7,7
8
- 8,8,8,8,8,8,8
9
- 1,1,1,1,1,1,1
10
- 10,10,10,10,,10,10
11
- 11,11,,11,11,11,11
12
- 12,12,12,12,12,12,12
13
- 13,13,,13,13,13,13
14
- 14,14,14,14,14,14,14
15
- 15,15,15,15,15,15,15
16
- 16,16,16,16,16,16,16
17
- 17,17,17,17,17,17,17
18
- 18,18,18,18,18,18,18
19
- 19,19,19,19,19,19,19
20
- 1,1,1,1,1,1,1
21
- 7,7,7,7,7,7,7
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1 +0,0 @@
1
- <ReportData><Person><Name>a</Name><Age>1</Age></Person><Person><Name>b</Name><Age>2</Age></Person></ReportData>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file