fast_excel 0.4.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +4 -6
  3. data/.gitignore +3 -0
  4. data/.octocov.yml +28 -0
  5. data/CHANGELOG.md +16 -0
  6. data/Gemfile +5 -3
  7. data/examples/comment_options.rb +39 -0
  8. data/examples/example.rb +2 -0
  9. data/examples/example_date_time.rb +38 -0
  10. data/fast_excel.gemspec +4 -3
  11. data/lib/fast_excel/binding/format.rb +17 -0
  12. data/lib/fast_excel/binding/workbook.rb +80 -20
  13. data/lib/fast_excel/binding/worksheet.rb +81 -13
  14. data/lib/fast_excel/binding.rb +107 -7
  15. data/lib/fast_excel.rb +40 -32
  16. data/libxlsxwriter/.github/FUNDING.yml +1 -0
  17. data/libxlsxwriter/.github/ISSUE_TEMPLATE.md +85 -0
  18. data/libxlsxwriter/.github/PULL_REQUEST_TEMPLATE.md +130 -0
  19. data/libxlsxwriter/.github/workflows/cmake_actions.yml +48 -0
  20. data/libxlsxwriter/.github/workflows/code_style.yml +23 -0
  21. data/libxlsxwriter/.github/workflows/coverity.yml +22 -0
  22. data/libxlsxwriter/.github/workflows/make_actions.yml +52 -0
  23. data/libxlsxwriter/.github/workflows/valgrind.yml +23 -0
  24. data/libxlsxwriter/.github/workflows/windows_build.yml +54 -0
  25. data/libxlsxwriter/.github/workflows/zig_build.yml +22 -0
  26. data/libxlsxwriter/.gitignore +16 -1
  27. data/libxlsxwriter/.indent.pro +24 -0
  28. data/libxlsxwriter/CMakeLists.txt +156 -56
  29. data/libxlsxwriter/CONTRIBUTING.md +2 -2
  30. data/libxlsxwriter/Changes.txt +344 -2
  31. data/libxlsxwriter/LICENSE.txt +66 -8
  32. data/libxlsxwriter/Makefile +151 -54
  33. data/libxlsxwriter/Package.swift +42 -0
  34. data/libxlsxwriter/Readme.md +4 -2
  35. data/libxlsxwriter/build.zig +324 -0
  36. data/libxlsxwriter/build.zig.zon +11 -0
  37. data/libxlsxwriter/cmake/FindMINIZIP.cmake +3 -3
  38. data/libxlsxwriter/cocoapods/libxlsxwriter-umbrella.h +6 -0
  39. data/libxlsxwriter/include/xlsxwriter/app.h +2 -1
  40. data/libxlsxwriter/include/xlsxwriter/chart.h +236 -32
  41. data/libxlsxwriter/include/xlsxwriter/chartsheet.h +7 -7
  42. data/libxlsxwriter/include/xlsxwriter/comment.h +76 -0
  43. data/libxlsxwriter/include/xlsxwriter/common.h +111 -50
  44. data/libxlsxwriter/include/xlsxwriter/content_types.h +8 -1
  45. data/libxlsxwriter/include/xlsxwriter/core.h +1 -1
  46. data/libxlsxwriter/include/xlsxwriter/custom.h +1 -1
  47. data/libxlsxwriter/include/xlsxwriter/drawing.h +11 -20
  48. data/libxlsxwriter/include/xlsxwriter/format.h +121 -8
  49. data/libxlsxwriter/include/xlsxwriter/hash_table.h +1 -1
  50. data/libxlsxwriter/include/xlsxwriter/metadata.h +49 -0
  51. data/libxlsxwriter/include/xlsxwriter/packager.h +27 -16
  52. data/libxlsxwriter/include/xlsxwriter/relationships.h +1 -1
  53. data/libxlsxwriter/include/xlsxwriter/shared_strings.h +1 -1
  54. data/libxlsxwriter/include/xlsxwriter/styles.h +13 -7
  55. data/libxlsxwriter/include/xlsxwriter/table.h +51 -0
  56. data/libxlsxwriter/include/xlsxwriter/theme.h +1 -1
  57. data/libxlsxwriter/include/xlsxwriter/third_party/emyg_dtoa.h +26 -0
  58. data/libxlsxwriter/include/xlsxwriter/third_party/ioapi.h +27 -25
  59. data/libxlsxwriter/include/xlsxwriter/third_party/md5.h +45 -0
  60. data/libxlsxwriter/include/xlsxwriter/third_party/zip.h +155 -153
  61. data/libxlsxwriter/include/xlsxwriter/utility.h +70 -8
  62. data/libxlsxwriter/include/xlsxwriter/vml.h +55 -0
  63. data/libxlsxwriter/include/xlsxwriter/workbook.h +218 -47
  64. data/libxlsxwriter/include/xlsxwriter/worksheet.h +2770 -241
  65. data/libxlsxwriter/include/xlsxwriter/xmlwriter.h +12 -8
  66. data/libxlsxwriter/include/xlsxwriter.h +4 -2
  67. data/libxlsxwriter/libxlsxwriter.podspec +8 -5
  68. data/libxlsxwriter/src/Makefile +58 -21
  69. data/libxlsxwriter/src/app.c +5 -2
  70. data/libxlsxwriter/src/chart.c +396 -81
  71. data/libxlsxwriter/src/chartsheet.c +22 -22
  72. data/libxlsxwriter/src/comment.c +443 -0
  73. data/libxlsxwriter/src/content_types.c +40 -1
  74. data/libxlsxwriter/src/core.c +2 -2
  75. data/libxlsxwriter/src/custom.c +1 -1
  76. data/libxlsxwriter/src/drawing.c +160 -40
  77. data/libxlsxwriter/src/format.c +109 -25
  78. data/libxlsxwriter/src/hash_table.c +1 -1
  79. data/libxlsxwriter/src/metadata.c +283 -0
  80. data/libxlsxwriter/src/packager.c +794 -94
  81. data/libxlsxwriter/src/relationships.c +1 -1
  82. data/libxlsxwriter/src/shared_strings.c +2 -4
  83. data/libxlsxwriter/src/styles.c +353 -58
  84. data/libxlsxwriter/src/table.c +304 -0
  85. data/libxlsxwriter/src/theme.c +1 -1
  86. data/libxlsxwriter/src/utility.c +143 -43
  87. data/libxlsxwriter/src/vml.c +1062 -0
  88. data/libxlsxwriter/src/workbook.c +567 -77
  89. data/libxlsxwriter/src/worksheet.c +6668 -1462
  90. data/libxlsxwriter/src/xmlwriter.c +95 -5
  91. data/libxlsxwriter/third_party/dtoa/Makefile +42 -0
  92. data/libxlsxwriter/third_party/dtoa/emyg_dtoa.c +461 -0
  93. data/libxlsxwriter/third_party/dtoa/emyg_dtoa.h +26 -0
  94. data/libxlsxwriter/third_party/md5/Makefile +42 -0
  95. data/libxlsxwriter/third_party/md5/md5.c +291 -0
  96. data/libxlsxwriter/third_party/md5/md5.h +45 -0
  97. data/libxlsxwriter/third_party/minizip/Makefile +3 -8
  98. data/libxlsxwriter/third_party/minizip/Makefile.orig +8 -4
  99. data/libxlsxwriter/third_party/minizip/MiniZip64_Changes.txt +1 -1
  100. data/libxlsxwriter/third_party/minizip/configure.ac +1 -1
  101. data/libxlsxwriter/third_party/minizip/crypt.h +13 -16
  102. data/libxlsxwriter/third_party/minizip/ioapi.c +31 -57
  103. data/libxlsxwriter/third_party/minizip/ioapi.h +31 -23
  104. data/libxlsxwriter/third_party/minizip/iowin32.c +29 -45
  105. data/libxlsxwriter/third_party/minizip/iowin32.h +4 -4
  106. data/libxlsxwriter/third_party/minizip/miniunz.c +29 -56
  107. data/libxlsxwriter/third_party/minizip/minizip.c +38 -49
  108. data/libxlsxwriter/third_party/minizip/mztools.c +1 -7
  109. data/libxlsxwriter/third_party/minizip/unzip.c +202 -342
  110. data/libxlsxwriter/third_party/minizip/unzip.h +74 -74
  111. data/libxlsxwriter/third_party/minizip/zip.c +165 -218
  112. data/libxlsxwriter/third_party/minizip/zip.h +164 -154
  113. data/libxlsxwriter/third_party/tmpfileplus/Makefile +3 -3
  114. data/libxlsxwriter/version.txt +1 -1
  115. data/sonar-project.properties +4 -0
  116. data/test/auto_width_test.rb +20 -0
  117. data/test/color_to_hex_test.rb +15 -0
  118. data/test/comment_opt_test.rb +76 -0
  119. data/test/date_test.rb +14 -0
  120. data/test/default_format_test.rb +1 -1
  121. data/test/format_test.rb +5 -1
  122. data/test/get_worksheet_test.rb +28 -0
  123. data/test/test_helper.rb +7 -4
  124. data/test/tmpdir_test.rb +32 -0
  125. data/test/validations_test.rb +25 -19
  126. data/test/worksheet_test.rb +6 -1
  127. metadata +62 -13
  128. data/libxlsxwriter/.travis.yml +0 -37
  129. data/test/reopen_test.rb +0 -22
@@ -0,0 +1,32 @@
1
+ require_relative 'test_helper'
2
+ require 'tmpdir'
3
+
4
+ describe "FastExcel tmpdir option" do
5
+ it "uses system Dir.tmpdir by default without creating extra temp directories" do
6
+ temp_file = File.join(Dir.tmpdir, "test_default_tmpdir_#{Time.now.to_i}.xlsx")
7
+ begin
8
+ wb = FastExcel.open(temp_file, constant_memory: true)
9
+ ws = wb.add_worksheet
10
+ ws.append_row(["test", 123])
11
+ wb.close
12
+
13
+ assert File.exist?(temp_file)
14
+ assert File.size(temp_file) > 0
15
+ ensure
16
+ File.delete(temp_file) if File.exist?(temp_file)
17
+ end
18
+ end
19
+
20
+ it "accepts custom tmpdir option" do
21
+ Dir.mktmpdir do |custom_tmp|
22
+ temp_file = File.join(custom_tmp, "test_custom_tmpdir.xlsx")
23
+ wb = FastExcel.open(temp_file, constant_memory: true, tmpdir: custom_tmp)
24
+ ws = wb.add_worksheet
25
+ ws.append_row(["hello", "world"])
26
+ wb.close
27
+
28
+ assert File.exist?(temp_file)
29
+ assert File.size(temp_file) > 0
30
+ end
31
+ end
32
+ end
@@ -2,23 +2,23 @@ require_relative 'test_helper'
2
2
 
3
3
  describe "FastExcel validations" do
4
4
 
5
- it "should raise error when duplicate sheet name" do
6
- workbook = FastExcel.open(constant_memory: true)
5
+ before do
6
+ @workbook = FastExcel.open(constant_memory: true)
7
+ end
7
8
 
8
- workbook.add_worksheet("Payments Report")
9
+ it "should raise error when duplicate sheet name" do
10
+ @workbook.add_worksheet("Payments Report")
9
11
  error = assert_raises do
10
- workbook.add_worksheet("Payments Report")
12
+ @workbook.add_worksheet("Payments Report")
11
13
  end
12
14
 
13
15
  assert_equal(ArgumentError, error.class)
14
- assert_equal("Invalid worksheet name 'Payments Report': (16 - error_sheetname_already_used) Worksheet name is already in use.", error.message)
16
+ assert_equal("Invalid worksheet name 'Payments Report': (17 - error_sheetname_already_used) Worksheet name is already in use.", error.message)
15
17
  end
16
18
 
17
19
  it "should not raise error when worksheet name is null" do
18
- workbook = FastExcel.open(constant_memory: true)
19
-
20
- ws1 = workbook.add_worksheet()
21
- ws2 = workbook.add_worksheet()
20
+ ws1 = @workbook.add_worksheet()
21
+ ws2 = @workbook.add_worksheet()
22
22
  ws2.write_value(0, 2, "aaa")
23
23
 
24
24
  assert_equal("Sheet1", ws1[:name])
@@ -26,33 +26,39 @@ describe "FastExcel validations" do
26
26
  end
27
27
 
28
28
  it "should raise error when the sheet name exceeds maximum length" do
29
- workbook = FastExcel.open(constant_memory: true)
30
-
31
29
  error = assert_raises do
32
- workbook.add_worksheet("ABCDEFGHIJKLMNOPQRSTUVWXYZ012345")
30
+ @workbook.add_worksheet("ABCDEFGHIJKLMNOPQRSTUVWXYZ012345")
33
31
  end
34
32
 
35
33
  assert_equal(ArgumentError, error.class)
36
- assert_equal("Invalid worksheet name 'ABCDEFGHIJKLMNOPQRSTUVWXYZ012345': (13 - error_sheetname_length_exceeded) Worksheet name exceeds Excel's limit of 31 characters.", error.message)
34
+ assert_equal("Invalid worksheet name 'ABCDEFGHIJKLMNOPQRSTUVWXYZ012345': (14 - error_sheetname_length_exceeded) Worksheet name exceeds Excel's limit of 31 characters.", error.message)
37
35
  end
38
36
 
39
37
  it "should not raise error when the sheet name is at maximum length" do
40
- workbook = FastExcel.open(constant_memory: true)
41
-
42
- worksheet = workbook.add_worksheet("ABCDEFGHIJKLMNOPQRSTUVWXYZ01234")
38
+ worksheet = @workbook.add_worksheet("ABCDEFGHIJKLMNOPQRSTUVWXYZ01234")
43
39
  worksheet.append_row(["aaa", "bbb", "ccc"])
44
40
 
45
41
  assert_equal("ABCDEFGHIJKLMNOPQRSTUVWXYZ01234", worksheet[:name])
46
42
  end
47
43
 
48
44
  it "should validate using Libxlsxwriter validation" do
49
- workbook = FastExcel.open(constant_memory: true)
50
45
  error = assert_raises do
51
- worksheet = workbook.add_worksheet('a?')
46
+ worksheet = @workbook.add_worksheet('a?')
52
47
  worksheet.write_value(1, 1, 'a') # without the validation, this method will crash the process
53
48
  end
54
49
 
55
50
  assert_equal(ArgumentError, error.class)
56
- assert_equal("Invalid worksheet name 'a?': (14 - error_invalid_sheetname_character) Worksheet name cannot contain invalid characters: '[ ] : * ? / \\'", error.message)
51
+ assert_equal("Invalid worksheet name 'a?': (15 - error_invalid_sheetname_character) Worksheet name cannot contain invalid characters: '[ ] : * ? / \\'", error.message)
52
+ end
53
+
54
+ it "should raise error when reopening workbook" do
55
+ @workbook.close
56
+
57
+ error = assert_raises do
58
+ FastExcel.open(@workbook.filename, constant_memory: true)
59
+ end
60
+
61
+ assert_equal(error.class, ArgumentError)
62
+ assert_equal(error.message, "File '#{@workbook.filename}' already exists. FastExcel can not open existing files, only create new files")
57
63
  end
58
64
  end
@@ -96,8 +96,10 @@ describe "FastExcel::WorksheetExt append_row" do
96
96
  it "should map fields correctly" do
97
97
  workbook = FastExcel.open(constant_memory: true)
98
98
 
99
- ws = workbook.add_worksheet
99
+ ws = workbook.add_worksheet("1 should map fields correctly")
100
+
100
101
  ws.set_right_to_left
102
+
101
103
  assert_equal(ws[:right_to_left], 1)
102
104
 
103
105
  ws = workbook.add_worksheet
@@ -117,6 +119,7 @@ describe "FastExcel::WorksheetExt append_row" do
117
119
  assert_equal(ws[:margin_top], 3.5)
118
120
  assert_equal(ws[:margin_bottom], 4.5)
119
121
 
122
+ assert_equal(ws[:vbreaks_count], 0)
120
123
 
121
124
  breaks = [20, 40, 60, 20, 0]
122
125
  FFI::MemoryPointer.new(:uint16, breaks.size) do |buffer|
@@ -124,6 +127,8 @@ describe "FastExcel::WorksheetExt append_row" do
124
127
  ws.set_v_pagebreaks(buffer)
125
128
  end
126
129
 
130
+ # FastExcel.print_ffi_obj(ws)
131
+
127
132
  assert_equal(ws[:vbreaks_count], 4)
128
133
  end
129
134
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fast_excel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Evstigneev
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-01-12 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: ffi
@@ -16,7 +15,7 @@ dependencies:
16
15
  requirements:
17
16
  - - ">"
18
17
  - !ruby/object:Gem::Version
19
- version: '1.9'
18
+ version: '1.17'
20
19
  - - "<"
21
20
  - !ruby/object:Gem::Version
22
21
  version: '2'
@@ -26,7 +25,27 @@ dependencies:
26
25
  requirements:
27
26
  - - ">"
28
27
  - !ruby/object:Gem::Version
29
- version: '1.9'
28
+ version: '1.17'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '2'
32
+ - !ruby/object:Gem::Dependency
33
+ name: base64
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0.2'
39
+ - - "<"
40
+ - !ruby/object:Gem::Version
41
+ version: '2'
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0.2'
30
49
  - - "<"
31
50
  - !ruby/object:Gem::Version
32
51
  version: '2'
@@ -41,6 +60,7 @@ files:
41
60
  - ".dockerignore"
42
61
  - ".github/workflows/test.yml"
43
62
  - ".gitignore"
63
+ - ".octocov.yml"
44
64
  - CHANGELOG.md
45
65
  - Dockerfile.test
46
66
  - Gemfile
@@ -55,11 +75,13 @@ files:
55
75
  - benchmarks/memory.rb
56
76
  - benchmarks/profiler.rb
57
77
  - benchmarks/write_value.rb
78
+ - examples/comment_options.rb
58
79
  - examples/example.rb
59
80
  - examples/example_align.rb
60
81
  - examples/example_auto_width.rb
61
82
  - examples/example_chart.rb
62
83
  - examples/example_colors.rb
84
+ - examples/example_date_time.rb
63
85
  - examples/example_filters.rb
64
86
  - examples/example_formula.rb
65
87
  - examples/example_hyperlink.rb
@@ -77,15 +99,27 @@ files:
77
99
  - lib/fast_excel/binding/format.rb
78
100
  - lib/fast_excel/binding/workbook.rb
79
101
  - lib/fast_excel/binding/worksheet.rb
102
+ - libxlsxwriter/.github/FUNDING.yml
103
+ - libxlsxwriter/.github/ISSUE_TEMPLATE.md
104
+ - libxlsxwriter/.github/PULL_REQUEST_TEMPLATE.md
105
+ - libxlsxwriter/.github/workflows/cmake_actions.yml
106
+ - libxlsxwriter/.github/workflows/code_style.yml
107
+ - libxlsxwriter/.github/workflows/coverity.yml
108
+ - libxlsxwriter/.github/workflows/make_actions.yml
109
+ - libxlsxwriter/.github/workflows/valgrind.yml
110
+ - libxlsxwriter/.github/workflows/windows_build.yml
111
+ - libxlsxwriter/.github/workflows/zig_build.yml
80
112
  - libxlsxwriter/.gitignore
81
113
  - libxlsxwriter/.indent.pro
82
- - libxlsxwriter/.travis.yml
83
114
  - libxlsxwriter/CMakeLists.txt
84
115
  - libxlsxwriter/CONTRIBUTING.md
85
116
  - libxlsxwriter/Changes.txt
86
117
  - libxlsxwriter/LICENSE.txt
87
118
  - libxlsxwriter/Makefile
119
+ - libxlsxwriter/Package.swift
88
120
  - libxlsxwriter/Readme.md
121
+ - libxlsxwriter/build.zig
122
+ - libxlsxwriter/build.zig.zon
89
123
  - libxlsxwriter/cmake/FindMINIZIP.cmake
90
124
  - libxlsxwriter/cmake/FindPackage.cmake
91
125
  - libxlsxwriter/cmake/i686-toolchain.cmake
@@ -95,6 +129,7 @@ files:
95
129
  - libxlsxwriter/include/xlsxwriter/app.h
96
130
  - libxlsxwriter/include/xlsxwriter/chart.h
97
131
  - libxlsxwriter/include/xlsxwriter/chartsheet.h
132
+ - libxlsxwriter/include/xlsxwriter/comment.h
98
133
  - libxlsxwriter/include/xlsxwriter/common.h
99
134
  - libxlsxwriter/include/xlsxwriter/content_types.h
100
135
  - libxlsxwriter/include/xlsxwriter/core.h
@@ -102,17 +137,22 @@ files:
102
137
  - libxlsxwriter/include/xlsxwriter/drawing.h
103
138
  - libxlsxwriter/include/xlsxwriter/format.h
104
139
  - libxlsxwriter/include/xlsxwriter/hash_table.h
140
+ - libxlsxwriter/include/xlsxwriter/metadata.h
105
141
  - libxlsxwriter/include/xlsxwriter/packager.h
106
142
  - libxlsxwriter/include/xlsxwriter/relationships.h
107
143
  - libxlsxwriter/include/xlsxwriter/shared_strings.h
108
144
  - libxlsxwriter/include/xlsxwriter/styles.h
145
+ - libxlsxwriter/include/xlsxwriter/table.h
109
146
  - libxlsxwriter/include/xlsxwriter/theme.h
147
+ - libxlsxwriter/include/xlsxwriter/third_party/emyg_dtoa.h
110
148
  - libxlsxwriter/include/xlsxwriter/third_party/ioapi.h
149
+ - libxlsxwriter/include/xlsxwriter/third_party/md5.h
111
150
  - libxlsxwriter/include/xlsxwriter/third_party/queue.h
112
151
  - libxlsxwriter/include/xlsxwriter/third_party/tmpfileplus.h
113
152
  - libxlsxwriter/include/xlsxwriter/third_party/tree.h
114
153
  - libxlsxwriter/include/xlsxwriter/third_party/zip.h
115
154
  - libxlsxwriter/include/xlsxwriter/utility.h
155
+ - libxlsxwriter/include/xlsxwriter/vml.h
116
156
  - libxlsxwriter/include/xlsxwriter/workbook.h
117
157
  - libxlsxwriter/include/xlsxwriter/worksheet.h
118
158
  - libxlsxwriter/include/xlsxwriter/xmlwriter.h
@@ -122,21 +162,31 @@ files:
122
162
  - libxlsxwriter/src/app.c
123
163
  - libxlsxwriter/src/chart.c
124
164
  - libxlsxwriter/src/chartsheet.c
165
+ - libxlsxwriter/src/comment.c
125
166
  - libxlsxwriter/src/content_types.c
126
167
  - libxlsxwriter/src/core.c
127
168
  - libxlsxwriter/src/custom.c
128
169
  - libxlsxwriter/src/drawing.c
129
170
  - libxlsxwriter/src/format.c
130
171
  - libxlsxwriter/src/hash_table.c
172
+ - libxlsxwriter/src/metadata.c
131
173
  - libxlsxwriter/src/packager.c
132
174
  - libxlsxwriter/src/relationships.c
133
175
  - libxlsxwriter/src/shared_strings.c
134
176
  - libxlsxwriter/src/styles.c
177
+ - libxlsxwriter/src/table.c
135
178
  - libxlsxwriter/src/theme.c
136
179
  - libxlsxwriter/src/utility.c
180
+ - libxlsxwriter/src/vml.c
137
181
  - libxlsxwriter/src/workbook.c
138
182
  - libxlsxwriter/src/worksheet.c
139
183
  - libxlsxwriter/src/xmlwriter.c
184
+ - libxlsxwriter/third_party/dtoa/Makefile
185
+ - libxlsxwriter/third_party/dtoa/emyg_dtoa.c
186
+ - libxlsxwriter/third_party/dtoa/emyg_dtoa.h
187
+ - libxlsxwriter/third_party/md5/Makefile
188
+ - libxlsxwriter/third_party/md5/md5.c
189
+ - libxlsxwriter/third_party/md5/md5.h
140
190
  - libxlsxwriter/third_party/minizip/Makefile
141
191
  - libxlsxwriter/third_party/minizip/Makefile.am
142
192
  - libxlsxwriter/third_party/minizip/Makefile.orig
@@ -165,12 +215,16 @@ files:
165
215
  - libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c
166
216
  - libxlsxwriter/third_party/tmpfileplus/tmpfileplus.h
167
217
  - libxlsxwriter/version.txt
218
+ - sonar-project.properties
168
219
  - test/auto_width_test.rb
220
+ - test/color_to_hex_test.rb
221
+ - test/comment_opt_test.rb
169
222
  - test/date_test.rb
170
223
  - test/default_format_test.rb
171
224
  - test/format_test.rb
172
- - test/reopen_test.rb
225
+ - test/get_worksheet_test.rb
173
226
  - test/test_helper.rb
227
+ - test/tmpdir_test.rb
174
228
  - test/tmpfile_test.rb
175
229
  - test/validations_test.rb
176
230
  - test/worksheet_test.rb
@@ -178,7 +232,6 @@ homepage: https://github.com/paxa/fast_excel
178
232
  licenses:
179
233
  - MIT
180
234
  metadata: {}
181
- post_install_message:
182
235
  rdoc_options: []
183
236
  require_paths:
184
237
  - lib
@@ -187,17 +240,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
187
240
  - - ">="
188
241
  - !ruby/object:Gem::Version
189
242
  version: '2.0'
190
- - - "<"
191
- - !ruby/object:Gem::Version
192
- version: '4.0'
193
243
  required_rubygems_version: !ruby/object:Gem::Requirement
194
244
  requirements:
195
245
  - - ">="
196
246
  - !ruby/object:Gem::Version
197
247
  version: '0'
198
248
  requirements: []
199
- rubygems_version: 3.4.3
200
- signing_key:
249
+ rubygems_version: 4.0.16
201
250
  specification_version: 4
202
251
  summary: Ultra Fast Excel Writer
203
252
  test_files: []
@@ -1,37 +0,0 @@
1
- language: c
2
- dist: trusty
3
-
4
- compiler:
5
- - clang
6
- - gcc
7
-
8
- env:
9
- - CFLAGS='-Werror'
10
- - NO_VALGRIND=1 USE_STANDARD_TMPFILE=1 CFLAGS='-Werror'
11
- - NO_VALGRIND=1 CFLAGS='-Werror -m32'
12
- - NO_VALGRIND=1 USE_SYSTEM_MINIZIP=1 CFLAGS='-Werror'
13
- - NO_VALGRIND=1 USE_DOUBLE_FUNCTION=1 CFLAGS='-Werror'
14
-
15
- install:
16
- - sudo pip install pytest
17
- - sudo apt-get update
18
- - sudo apt-get remove -y oracle-java9-installer
19
- - sudo apt-get install -y gcc-multilib
20
- - sudo apt-get install -y zlib1g-dev
21
- - sudo apt-get install -y zlib1g-dev:i386
22
- - sudo apt-get install -y gcc
23
- - sudo apt-get install -y valgrind
24
-
25
- - wget http://mirrors.kernel.org/ubuntu/pool/universe/m/minizip/libminizip-dev_1.1-8_amd64.deb
26
- - wget http://mirrors.kernel.org/ubuntu/pool/universe/m/minizip/libminizip1_1.1-8_amd64.deb
27
- - sudo dpkg -i libminizip1_1.1-8_amd64.deb
28
- - sudo dpkg -i libminizip-dev_1.1-8_amd64.deb
29
-
30
- script:
31
- - make V=1
32
- - make test_functional V=1
33
- - make test_unit V=1
34
- - make examples V=1
35
- - make test_valgrind V=1
36
- - sudo make install V=1
37
- - sudo make uninstall V=1
data/test/reopen_test.rb DELETED
@@ -1,22 +0,0 @@
1
- require_relative 'test_helper'
2
-
3
- describe "FastExcel::Worksheet" do
4
-
5
- it "should get_worksheet_by_name" do
6
- workbook = FastExcel.open(constant_memory: false)
7
- workbook.add_worksheet("Page1")
8
-
9
- ws = workbook.get_worksheet_by_name("Page1")
10
- ws.write_row(0, ['1'])
11
-
12
- workbook.close
13
-
14
- error = assert_raises do
15
- FastExcel.open(workbook.filename, constant_memory: false)
16
- end
17
-
18
- assert_equal(error.class, ArgumentError)
19
- assert_equal(error.message, "File '#{workbook.filename}' already exists. FastExcel can not open existing files, only create new files")
20
- end
21
-
22
- end