caxlsx 3.2.0 → 3.3.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 (300) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +9 -9
  3. data/.yardopts_guide +18 -18
  4. data/CHANGELOG.md +385 -354
  5. data/LICENSE +21 -21
  6. data/README.md +165 -168
  7. data/Rakefile +29 -29
  8. data/examples/generate.rb +15 -15
  9. data/lib/axlsx/content_type/abstract_content_type.rb +32 -32
  10. data/lib/axlsx/content_type/content_type.rb +26 -26
  11. data/lib/axlsx/content_type/default.rb +25 -25
  12. data/lib/axlsx/content_type/override.rb +25 -25
  13. data/lib/axlsx/doc_props/app.rb +235 -235
  14. data/lib/axlsx/doc_props/core.rb +39 -39
  15. data/lib/axlsx/drawing/area_chart.rb +99 -99
  16. data/lib/axlsx/drawing/area_series.rb +110 -110
  17. data/lib/axlsx/drawing/ax_data_source.rb +26 -26
  18. data/lib/axlsx/drawing/axes.rb +61 -61
  19. data/lib/axlsx/drawing/axis.rb +190 -190
  20. data/lib/axlsx/drawing/bar_3D_chart.rb +148 -148
  21. data/lib/axlsx/drawing/bar_chart.rb +138 -138
  22. data/lib/axlsx/drawing/bar_series.rb +97 -97
  23. data/lib/axlsx/drawing/bubble_chart.rb +59 -59
  24. data/lib/axlsx/drawing/bubble_series.rb +63 -63
  25. data/lib/axlsx/drawing/cat_axis.rb +85 -85
  26. data/lib/axlsx/drawing/chart.rb +299 -276
  27. data/lib/axlsx/drawing/d_lbls.rb +91 -90
  28. data/lib/axlsx/drawing/drawing.rb +167 -167
  29. data/lib/axlsx/drawing/graphic_frame.rb +54 -54
  30. data/lib/axlsx/drawing/hyperlink.rb +100 -100
  31. data/lib/axlsx/drawing/line_3D_chart.rb +68 -68
  32. data/lib/axlsx/drawing/line_chart.rb +99 -99
  33. data/lib/axlsx/drawing/line_series.rb +110 -110
  34. data/lib/axlsx/drawing/marker.rb +84 -84
  35. data/lib/axlsx/drawing/num_data.rb +52 -52
  36. data/lib/axlsx/drawing/num_data_source.rb +62 -62
  37. data/lib/axlsx/drawing/num_val.rb +34 -34
  38. data/lib/axlsx/drawing/one_cell_anchor.rb +99 -99
  39. data/lib/axlsx/drawing/pic.rb +211 -211
  40. data/lib/axlsx/drawing/picture_locking.rb +42 -42
  41. data/lib/axlsx/drawing/pie_3D_chart.rb +47 -47
  42. data/lib/axlsx/drawing/pie_series.rb +74 -74
  43. data/lib/axlsx/drawing/scaling.rb +60 -60
  44. data/lib/axlsx/drawing/scatter_chart.rb +74 -74
  45. data/lib/axlsx/drawing/scatter_series.rb +129 -129
  46. data/lib/axlsx/drawing/ser_axis.rb +45 -45
  47. data/lib/axlsx/drawing/series.rb +69 -69
  48. data/lib/axlsx/drawing/series_title.rb +25 -25
  49. data/lib/axlsx/drawing/str_data.rb +42 -42
  50. data/lib/axlsx/drawing/str_val.rb +34 -34
  51. data/lib/axlsx/drawing/title.rb +107 -97
  52. data/lib/axlsx/drawing/two_cell_anchor.rb +97 -97
  53. data/lib/axlsx/drawing/val_axis.rb +37 -37
  54. data/lib/axlsx/drawing/view_3D.rb +115 -115
  55. data/lib/axlsx/drawing/vml_drawing.rb +42 -42
  56. data/lib/axlsx/drawing/vml_shape.rb +66 -66
  57. data/lib/axlsx/package.rb +398 -388
  58. data/lib/axlsx/rels/relationship.rb +130 -130
  59. data/lib/axlsx/rels/relationships.rb +32 -32
  60. data/lib/axlsx/stylesheet/border.rb +73 -73
  61. data/lib/axlsx/stylesheet/border_pr.rb +71 -71
  62. data/lib/axlsx/stylesheet/cell_alignment.rb +132 -132
  63. data/lib/axlsx/stylesheet/cell_protection.rb +41 -41
  64. data/lib/axlsx/stylesheet/cell_style.rb +72 -72
  65. data/lib/axlsx/stylesheet/color.rb +76 -76
  66. data/lib/axlsx/stylesheet/dxf.rb +79 -79
  67. data/lib/axlsx/stylesheet/fill.rb +35 -35
  68. data/lib/axlsx/stylesheet/font.rb +156 -156
  69. data/lib/axlsx/stylesheet/gradient_fill.rb +103 -103
  70. data/lib/axlsx/stylesheet/gradient_stop.rb +37 -37
  71. data/lib/axlsx/stylesheet/num_fmt.rb +86 -86
  72. data/lib/axlsx/stylesheet/pattern_fill.rb +73 -73
  73. data/lib/axlsx/stylesheet/styles.rb +535 -494
  74. data/lib/axlsx/stylesheet/table_style.rb +54 -54
  75. data/lib/axlsx/stylesheet/table_style_element.rb +77 -77
  76. data/lib/axlsx/stylesheet/table_styles.rb +46 -46
  77. data/lib/axlsx/stylesheet/xf.rb +147 -147
  78. data/lib/axlsx/util/accessors.rb +64 -64
  79. data/lib/axlsx/util/constants.rb +416 -410
  80. data/lib/axlsx/util/mime_type_utils.rb +11 -11
  81. data/lib/axlsx/util/options_parser.rb +16 -16
  82. data/lib/axlsx/util/serialized_attributes.rb +89 -89
  83. data/lib/axlsx/util/simple_typed_list.rb +179 -179
  84. data/lib/axlsx/util/storage.rb +146 -146
  85. data/lib/axlsx/util/validators.rb +312 -312
  86. data/lib/axlsx/util/zip_command.rb +73 -73
  87. data/lib/axlsx/version.rb +5 -5
  88. data/lib/axlsx/workbook/defined_name.rb +128 -128
  89. data/lib/axlsx/workbook/defined_names.rb +21 -21
  90. data/lib/axlsx/workbook/shared_strings_table.rb +77 -77
  91. data/lib/axlsx/workbook/workbook.rb +425 -395
  92. data/lib/axlsx/workbook/workbook_view.rb +80 -80
  93. data/lib/axlsx/workbook/workbook_views.rb +22 -22
  94. data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -77
  95. data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -94
  96. data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +244 -244
  97. data/lib/axlsx/workbook/worksheet/border_creator.rb +76 -0
  98. data/lib/axlsx/workbook/worksheet/break.rb +35 -35
  99. data/lib/axlsx/workbook/worksheet/cell.rb +532 -506
  100. data/lib/axlsx/workbook/worksheet/cell_serializer.rb +164 -164
  101. data/lib/axlsx/workbook/worksheet/cfvo.rb +60 -60
  102. data/lib/axlsx/workbook/worksheet/cfvos.rb +18 -18
  103. data/lib/axlsx/workbook/worksheet/col.rb +145 -145
  104. data/lib/axlsx/workbook/worksheet/col_breaks.rb +35 -35
  105. data/lib/axlsx/workbook/worksheet/color_scale.rb +110 -110
  106. data/lib/axlsx/workbook/worksheet/cols.rb +23 -23
  107. data/lib/axlsx/workbook/worksheet/comment.rb +91 -91
  108. data/lib/axlsx/workbook/worksheet/comments.rb +82 -82
  109. data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +82 -82
  110. data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +220 -220
  111. data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +25 -25
  112. data/lib/axlsx/workbook/worksheet/data_bar.rb +129 -129
  113. data/lib/axlsx/workbook/worksheet/data_validation.rb +267 -246
  114. data/lib/axlsx/workbook/worksheet/data_validations.rb +28 -28
  115. data/lib/axlsx/workbook/worksheet/date_time_converter.rb +30 -30
  116. data/lib/axlsx/workbook/worksheet/dimension.rb +64 -64
  117. data/lib/axlsx/workbook/worksheet/header_footer.rb +52 -52
  118. data/lib/axlsx/workbook/worksheet/icon_set.rb +81 -81
  119. data/lib/axlsx/workbook/worksheet/merged_cells.rb +37 -37
  120. data/lib/axlsx/workbook/worksheet/outline_pr.rb +33 -33
  121. data/lib/axlsx/workbook/worksheet/page_margins.rb +97 -97
  122. data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -44
  123. data/lib/axlsx/workbook/worksheet/page_setup.rb +240 -240
  124. data/lib/axlsx/workbook/worksheet/pane.rb +139 -139
  125. data/lib/axlsx/workbook/worksheet/pivot_table.rb +335 -296
  126. data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +66 -66
  127. data/lib/axlsx/workbook/worksheet/pivot_tables.rb +24 -24
  128. data/lib/axlsx/workbook/worksheet/print_options.rb +39 -39
  129. data/lib/axlsx/workbook/worksheet/protected_range.rb +47 -47
  130. data/lib/axlsx/workbook/worksheet/protected_ranges.rb +37 -37
  131. data/lib/axlsx/workbook/worksheet/rich_text.rb +55 -55
  132. data/lib/axlsx/workbook/worksheet/rich_text_run.rb +250 -250
  133. data/lib/axlsx/workbook/worksheet/row.rb +164 -164
  134. data/lib/axlsx/workbook/worksheet/row_breaks.rb +33 -33
  135. data/lib/axlsx/workbook/worksheet/selection.rb +101 -101
  136. data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -29
  137. data/lib/axlsx/workbook/worksheet/sheet_data.rb +27 -27
  138. data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -87
  139. data/lib/axlsx/workbook/worksheet/sheet_protection.rb +118 -118
  140. data/lib/axlsx/workbook/worksheet/sheet_view.rb +213 -213
  141. data/lib/axlsx/workbook/worksheet/table.rb +102 -102
  142. data/lib/axlsx/workbook/worksheet/table_style_info.rb +49 -49
  143. data/lib/axlsx/workbook/worksheet/tables.rb +34 -34
  144. data/lib/axlsx/workbook/worksheet/worksheet.rb +829 -786
  145. data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +58 -58
  146. data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +58 -58
  147. data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +74 -74
  148. data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -38
  149. data/lib/axlsx.rb +204 -185
  150. data/lib/caxlsx.rb +2 -2
  151. data/lib/schema/dc.xsd +118 -118
  152. data/lib/schema/dcmitype.xsd +51 -51
  153. data/lib/schema/dcterms.xsd +331 -331
  154. data/lib/schema/dml-chartDrawing.xsd +146 -146
  155. data/lib/schema/dml-compatibility.xsd +14 -14
  156. data/lib/schema/dml-lockedCanvas.xsd +11 -11
  157. data/lib/schema/dml-main.xsd +3048 -3048
  158. data/lib/schema/dml-picture.xsd +23 -23
  159. data/lib/schema/dml-spreadsheetDrawing.xsd +185 -185
  160. data/lib/schema/dml-wordprocessingDrawing.xsd +185 -185
  161. data/lib/schema/shared-additionalCharacteristics.xsd +28 -28
  162. data/lib/schema/shared-bibliography.xsd +144 -144
  163. data/lib/schema/shared-commonSimpleTypes.xsd +166 -166
  164. data/lib/schema/shared-customXmlDataProperties.xsd +25 -25
  165. data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -18
  166. data/lib/schema/shared-documentPropertiesCustom.xsd +59 -59
  167. data/lib/schema/shared-documentPropertiesExtended.xsd +56 -56
  168. data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -195
  169. data/lib/schema/shared-relationshipReference.xsd +25 -25
  170. data/lib/schema/vml-main.xsd +569 -569
  171. data/lib/schema/vml-officeDrawing.xsd +509 -509
  172. data/lib/schema/vml-presentationDrawing.xsd +12 -12
  173. data/lib/schema/vml-spreadsheetDrawing.xsd +108 -108
  174. data/lib/schema/vml-wordprocessingDrawing.xsd +96 -96
  175. data/lib/schema/xml.xsd +116 -116
  176. metadata +5 -252
  177. data/test/benchmark.rb +0 -72
  178. data/test/content_type/tc_content_type.rb +0 -76
  179. data/test/content_type/tc_default.rb +0 -16
  180. data/test/content_type/tc_override.rb +0 -14
  181. data/test/doc_props/tc_app.rb +0 -43
  182. data/test/doc_props/tc_core.rb +0 -42
  183. data/test/drawing/tc_area_chart.rb +0 -39
  184. data/test/drawing/tc_area_series.rb +0 -71
  185. data/test/drawing/tc_axes.rb +0 -8
  186. data/test/drawing/tc_axis.rb +0 -112
  187. data/test/drawing/tc_bar_3D_chart.rb +0 -86
  188. data/test/drawing/tc_bar_chart.rb +0 -86
  189. data/test/drawing/tc_bar_series.rb +0 -46
  190. data/test/drawing/tc_bubble_chart.rb +0 -44
  191. data/test/drawing/tc_bubble_series.rb +0 -21
  192. data/test/drawing/tc_cat_axis.rb +0 -31
  193. data/test/drawing/tc_cat_axis_data.rb +0 -27
  194. data/test/drawing/tc_chart.rb +0 -123
  195. data/test/drawing/tc_d_lbls.rb +0 -57
  196. data/test/drawing/tc_data_source.rb +0 -23
  197. data/test/drawing/tc_drawing.rb +0 -80
  198. data/test/drawing/tc_graphic_frame.rb +0 -27
  199. data/test/drawing/tc_hyperlink.rb +0 -64
  200. data/test/drawing/tc_line_3d_chart.rb +0 -47
  201. data/test/drawing/tc_line_chart.rb +0 -39
  202. data/test/drawing/tc_line_series.rb +0 -71
  203. data/test/drawing/tc_marker.rb +0 -44
  204. data/test/drawing/tc_named_axis_data.rb +0 -27
  205. data/test/drawing/tc_num_data.rb +0 -31
  206. data/test/drawing/tc_num_val.rb +0 -29
  207. data/test/drawing/tc_one_cell_anchor.rb +0 -66
  208. data/test/drawing/tc_pic.rb +0 -103
  209. data/test/drawing/tc_picture_locking.rb +0 -72
  210. data/test/drawing/tc_pie_3D_chart.rb +0 -28
  211. data/test/drawing/tc_pie_series.rb +0 -33
  212. data/test/drawing/tc_scaling.rb +0 -36
  213. data/test/drawing/tc_scatter_chart.rb +0 -48
  214. data/test/drawing/tc_scatter_series.rb +0 -74
  215. data/test/drawing/tc_ser_axis.rb +0 -31
  216. data/test/drawing/tc_series.rb +0 -23
  217. data/test/drawing/tc_series_title.rb +0 -54
  218. data/test/drawing/tc_str_data.rb +0 -18
  219. data/test/drawing/tc_str_val.rb +0 -30
  220. data/test/drawing/tc_title.rb +0 -70
  221. data/test/drawing/tc_two_cell_anchor.rb +0 -36
  222. data/test/drawing/tc_val_axis.rb +0 -24
  223. data/test/drawing/tc_view_3D.rb +0 -54
  224. data/test/drawing/tc_vml_drawing.rb +0 -25
  225. data/test/drawing/tc_vml_shape.rb +0 -106
  226. data/test/fixtures/image1.gif +0 -0
  227. data/test/fixtures/image1.jpeg +0 -0
  228. data/test/fixtures/image1.jpg +0 -0
  229. data/test/fixtures/image1.png +0 -0
  230. data/test/fixtures/image1_fake.jpg +0 -0
  231. data/test/profile.rb +0 -24
  232. data/test/rels/tc_relationship.rb +0 -52
  233. data/test/rels/tc_relationships.rb +0 -37
  234. data/test/stylesheet/tc_border.rb +0 -37
  235. data/test/stylesheet/tc_border_pr.rb +0 -32
  236. data/test/stylesheet/tc_cell_alignment.rb +0 -81
  237. data/test/stylesheet/tc_cell_protection.rb +0 -29
  238. data/test/stylesheet/tc_cell_style.rb +0 -57
  239. data/test/stylesheet/tc_color.rb +0 -43
  240. data/test/stylesheet/tc_dxf.rb +0 -81
  241. data/test/stylesheet/tc_fill.rb +0 -18
  242. data/test/stylesheet/tc_font.rb +0 -133
  243. data/test/stylesheet/tc_gradient_fill.rb +0 -72
  244. data/test/stylesheet/tc_gradient_stop.rb +0 -31
  245. data/test/stylesheet/tc_num_fmt.rb +0 -30
  246. data/test/stylesheet/tc_pattern_fill.rb +0 -43
  247. data/test/stylesheet/tc_styles.rb +0 -309
  248. data/test/stylesheet/tc_table_style.rb +0 -44
  249. data/test/stylesheet/tc_table_style_element.rb +0 -45
  250. data/test/stylesheet/tc_table_styles.rb +0 -29
  251. data/test/stylesheet/tc_xf.rb +0 -120
  252. data/test/tc_axlsx.rb +0 -109
  253. data/test/tc_helper.rb +0 -10
  254. data/test/tc_package.rb +0 -317
  255. data/test/util/tc_mime_type_utils.rb +0 -13
  256. data/test/util/tc_serialized_attributes.rb +0 -19
  257. data/test/util/tc_simple_typed_list.rb +0 -77
  258. data/test/util/tc_validators.rb +0 -210
  259. data/test/workbook/tc_defined_name.rb +0 -49
  260. data/test/workbook/tc_shared_strings_table.rb +0 -59
  261. data/test/workbook/tc_workbook.rb +0 -165
  262. data/test/workbook/tc_workbook_view.rb +0 -50
  263. data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +0 -38
  264. data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +0 -76
  265. data/test/workbook/worksheet/auto_filter/tc_filters.rb +0 -50
  266. data/test/workbook/worksheet/tc_break.rb +0 -49
  267. data/test/workbook/worksheet/tc_cell.rb +0 -465
  268. data/test/workbook/worksheet/tc_cfvo.rb +0 -31
  269. data/test/workbook/worksheet/tc_col.rb +0 -93
  270. data/test/workbook/worksheet/tc_color_scale.rb +0 -58
  271. data/test/workbook/worksheet/tc_comment.rb +0 -72
  272. data/test/workbook/worksheet/tc_comments.rb +0 -57
  273. data/test/workbook/worksheet/tc_conditional_formatting.rb +0 -224
  274. data/test/workbook/worksheet/tc_data_bar.rb +0 -46
  275. data/test/workbook/worksheet/tc_data_validation.rb +0 -265
  276. data/test/workbook/worksheet/tc_date_time_converter.rb +0 -124
  277. data/test/workbook/worksheet/tc_header_footer.rb +0 -151
  278. data/test/workbook/worksheet/tc_icon_set.rb +0 -45
  279. data/test/workbook/worksheet/tc_outline_pr.rb +0 -19
  280. data/test/workbook/worksheet/tc_page_margins.rb +0 -97
  281. data/test/workbook/worksheet/tc_page_set_up_pr.rb +0 -15
  282. data/test/workbook/worksheet/tc_page_setup.rb +0 -143
  283. data/test/workbook/worksheet/tc_pane.rb +0 -54
  284. data/test/workbook/worksheet/tc_pivot_table.rb +0 -180
  285. data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +0 -62
  286. data/test/workbook/worksheet/tc_print_options.rb +0 -72
  287. data/test/workbook/worksheet/tc_protected_range.rb +0 -17
  288. data/test/workbook/worksheet/tc_rich_text.rb +0 -44
  289. data/test/workbook/worksheet/tc_rich_text_run.rb +0 -173
  290. data/test/workbook/worksheet/tc_row.rb +0 -160
  291. data/test/workbook/worksheet/tc_selection.rb +0 -55
  292. data/test/workbook/worksheet/tc_sheet_calc_pr.rb +0 -18
  293. data/test/workbook/worksheet/tc_sheet_format_pr.rb +0 -88
  294. data/test/workbook/worksheet/tc_sheet_pr.rb +0 -49
  295. data/test/workbook/worksheet/tc_sheet_protection.rb +0 -117
  296. data/test/workbook/worksheet/tc_sheet_view.rb +0 -214
  297. data/test/workbook/worksheet/tc_table.rb +0 -77
  298. data/test/workbook/worksheet/tc_table_style_info.rb +0 -53
  299. data/test/workbook/worksheet/tc_worksheet.rb +0 -632
  300. data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +0 -55
@@ -1,214 +0,0 @@
1
- # encoding: UTF-8
2
- $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../../"
3
- require 'tc_helper.rb'
4
-
5
- class TestSheetView < Test::Unit::TestCase
6
- def setup
7
- #inverse defaults for booleans
8
- @boolean_options = { :right_to_left => true, :show_formulas => true, :show_outline_symbols => true,
9
- :show_white_space => true, :tab_selected => true, :default_grid_color => false, :show_grid_lines => false,
10
- :show_row_col_headers => false, :show_ruler => false, :show_zeros => false, :window_protection => true }
11
- @symbol_options = { :view => :page_break_preview }
12
- @nil_options = { :color_id => 2, :top_left_cell => 'A2' }
13
- @int_0 = { :zoom_scale_normal => 100, :zoom_scale_page_layout_view => 100, :zoom_scale_sheet_layout_view => 100, :workbook_view_id => 2 }
14
- @int_100 = { :zoom_scale => 10 }
15
-
16
- @integer_options = { :color_id => 2, :workbook_view_id => 2 }.merge(@int_0).merge(@int_100)
17
- @string_options = { :top_left_cell => 'A2' }
18
-
19
-
20
- @options = @boolean_options.merge(@boolean_options).merge(@symbol_options).merge(@nil_options).merge(@int_0).merge(@int_100)
21
-
22
- @sv = Axlsx::SheetView.new(@options)
23
- end
24
-
25
- def test_initialize
26
- sv = Axlsx::SheetView.new
27
-
28
- @boolean_options.each do |key, value|
29
- assert_equal(!value, sv.send(key.to_sym), "initialized default #{key} should be #{!value}")
30
- assert_equal(value, @sv.send(key.to_sym), "initialized options #{key} should be #{value}")
31
- end
32
-
33
- @nil_options.each do |key, value|
34
- assert_equal(nil, sv.send(key.to_sym), "initialized default #{key} should be nil")
35
- assert_equal(value, @sv.send(key.to_sym), "initialized options #{key} should be #{value}")
36
- end
37
-
38
- @int_0.each do |key, value|
39
- assert_equal(0, sv.send(key.to_sym), "initialized default #{key} should be 0")
40
- assert_equal(value, @sv.send(key.to_sym), "initialized options #{key} should be #{value}")
41
- end
42
-
43
- @int_100.each do |key, value|
44
- assert_equal(100, sv.send(key.to_sym), "initialized default #{key} should be 100")
45
- assert_equal(value, @sv.send(key.to_sym), "initialized options #{key} should be #{value}")
46
- end
47
- end
48
-
49
- def test_boolean_attribute_validation
50
- @boolean_options.each do |key, value|
51
- assert_raise(ArgumentError, "#{key} must be boolean") { @sv.send("#{key}=".to_sym, 'A') }
52
- assert_nothing_raised { @sv.send("#{key}=".to_sym, true) }
53
- end
54
- end
55
-
56
- def test_string_attribute_validation
57
- @string_options.each do |key, value|
58
- assert_raise(ArgumentError, "#{key} must be string") { @sv.send("#{key}=".to_sym, :symbol) }
59
- assert_nothing_raised { @sv.send("#{key}=".to_sym, "foo") }
60
- end
61
- end
62
-
63
- def test_symbol_attribute_validation
64
- @symbol_options.each do |key, value|
65
- assert_raise(ArgumentError, "#{key} must be symbol") { @sv.send("#{key}=".to_sym, "foo") }
66
- assert_nothing_raised { @sv.send("#{key}=".to_sym, value) }
67
- end
68
- end
69
-
70
- def test_integer_attribute_validation
71
- @integer_options.each do |key, value|
72
- assert_raise(ArgumentError, "#{key} must be integer") { @sv.send("#{key}=".to_sym, "foo") }
73
- assert_nothing_raised { @sv.send("#{key}=".to_sym, value) }
74
- end
75
- end
76
-
77
- def test_color_id
78
- assert_raise(ArgumentError) { @sv.color_id = "10" }
79
- assert_nothing_raised { @sv.color_id = 2 }
80
- assert_equal(@sv.color_id, 2)
81
- end
82
-
83
- def test_default_grid_color
84
- assert_raise(ArgumentError) { @sv.default_grid_color = "foo" }
85
- assert_nothing_raised { @sv.default_grid_color = false }
86
- assert_equal(@sv.default_grid_color, false)
87
- end
88
-
89
- def test_right_to_left
90
- assert_raise(ArgumentError) { @sv.right_to_left = "foo´" }
91
- assert_nothing_raised { @sv.right_to_left = true }
92
- assert_equal(@sv.right_to_left, true)
93
- end
94
-
95
- def test_show_formulas
96
- assert_raise(ArgumentError) { @sv.show_formulas = 'foo' }
97
- assert_nothing_raised { @sv.show_formulas = false }
98
- assert_equal(@sv.show_formulas, false)
99
- end
100
-
101
- def test_show_grid_lines
102
- assert_raise(ArgumentError) { @sv.show_grid_lines = "foo" }
103
- assert_nothing_raised { @sv.show_grid_lines = false }
104
- assert_equal(@sv.show_grid_lines, false)
105
- end
106
-
107
- def test_show_outline_symbols
108
- assert_raise(ArgumentError) { @sv.show_outline_symbols = 'foo' }
109
- assert_nothing_raised { @sv.show_outline_symbols = false }
110
- assert_equal(@sv.show_outline_symbols, false)
111
- end
112
-
113
- def test_show_row_col_headers
114
- assert_raise(ArgumentError) { @sv.show_row_col_headers = "foo" }
115
- assert_nothing_raised { @sv.show_row_col_headers = false }
116
- assert_equal(@sv.show_row_col_headers, false)
117
- end
118
-
119
- def test_show_ruler
120
- assert_raise(ArgumentError) { @sv.show_ruler = 'foo' }
121
- assert_nothing_raised { @sv.show_ruler = false }
122
- assert_equal(@sv.show_ruler, false)
123
- end
124
-
125
- def test_show_white_space
126
- assert_raise(ArgumentError) { @sv.show_white_space = 'foo' }
127
- assert_nothing_raised { @sv.show_white_space = false }
128
- assert_equal(@sv.show_white_space, false)
129
- end
130
-
131
- def test_show_zeros
132
- assert_raise(ArgumentError) { @sv.show_zeros = "foo" }
133
- assert_nothing_raised { @sv.show_zeros = false }
134
- assert_equal(@sv.show_zeros, false)
135
- end
136
-
137
- def test_tab_selected
138
- assert_raise(ArgumentError) { @sv.tab_selected = "foo" }
139
- assert_nothing_raised { @sv.tab_selected = false }
140
- assert_equal(@sv.tab_selected, false)
141
- end
142
-
143
- def test_top_left_cell
144
- assert_raise(ArgumentError) { @sv.top_left_cell = :cell_adress }
145
- assert_nothing_raised { @sv.top_left_cell = "A2" }
146
- assert_equal(@sv.top_left_cell, "A2")
147
- end
148
-
149
- def test_view
150
- assert_raise(ArgumentError) { @sv.view = 'view' }
151
- assert_nothing_raised { @sv.view = :page_break_preview }
152
- assert_equal(@sv.view, :page_break_preview)
153
- end
154
-
155
- def test_window_protection
156
- assert_raise(ArgumentError) { @sv.window_protection = "foo" }
157
- assert_nothing_raised { @sv.window_protection = false }
158
- assert_equal(@sv.window_protection, false)
159
- end
160
-
161
- def test_workbook_view_id
162
- assert_raise(ArgumentError) { @sv.workbook_view_id = "1" }
163
- assert_nothing_raised { @sv.workbook_view_id = 1 }
164
- assert_equal(@sv.workbook_view_id, 1)
165
- end
166
-
167
- def test_zoom_scale
168
- assert_raise(ArgumentError) { @sv.zoom_scale = "50" }
169
- assert_nothing_raised { @sv.zoom_scale = 50 }
170
- assert_equal(@sv.zoom_scale, 50)
171
- end
172
-
173
- def test_zoom_scale_normal
174
- assert_raise(ArgumentError) { @sv.zoom_scale_normal = "50" }
175
- assert_nothing_raised { @sv.zoom_scale_normal = 50 }
176
- assert_equal(@sv.zoom_scale_normal, 50)
177
- end
178
-
179
- def test_zoom_scale_page_layout_view
180
- assert_raise(ArgumentError) { @sv.zoom_scale_page_layout_view = "50" }
181
- assert_nothing_raised { @sv.zoom_scale_page_layout_view = 50 }
182
- assert_equal(@sv.zoom_scale_page_layout_view, 50)
183
- end
184
-
185
- def test_zoom_scale_sheet_layout_view
186
- assert_raise(ArgumentError) { @sv.zoom_scale_sheet_layout_view = "50" }
187
- assert_nothing_raised { @sv.zoom_scale_sheet_layout_view = 50 }
188
- assert_equal(@sv.zoom_scale_sheet_layout_view, 50)
189
- end
190
-
191
- def test_to_xml
192
- p = Axlsx::Package.new
193
- @ws = p.workbook.add_worksheet :name => "sheetview"
194
- @ws.sheet_view do |vs|
195
- vs.view = :page_break_preview
196
- end
197
-
198
- doc = Nokogiri::XML.parse(@ws.sheet_view.to_xml_string)
199
-
200
- assert_equal(1, doc.xpath("//sheetView[@tabSelected=0]").size)
201
-
202
- assert_equal(1, doc.xpath("//sheetView[@tabSelected=0][@showWhiteSpace=0][@showOutlineSymbols=0][@showFormulas=0]
203
- [@rightToLeft=0][@windowProtection=0][@showZeros=1][@showRuler=1]
204
- [@showRowColHeaders=1][@showGridLines=1][@defaultGridColor=1]
205
- [@zoomScale='100'][@workbookViewId='0'][@zoomScaleSheetLayoutView='0'][@zoomScalePageLayoutView='0']
206
- [@zoomScaleNormal='0'][@view='pageBreakPreview']").size)
207
- end
208
-
209
- def test_add_selection
210
- @sv.add_selection(:top_left, :active_cell => "A1")
211
- assert_equal('A1', @sv.selections[:top_left].active_cell)
212
- end
213
-
214
- end
@@ -1,77 +0,0 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestTable < Test::Unit::TestCase
4
- def setup
5
- p = Axlsx::Package.new
6
- @ws = p.workbook.add_worksheet
7
- 40.times do
8
- @ws << ["aa","aa","aa","aa","aa","aa"]
9
- end
10
- end
11
-
12
- def test_initialization
13
- assert(@ws.workbook.tables.empty?)
14
- assert(@ws.tables.empty?)
15
-
16
- end
17
-
18
- def test_table_style_info
19
- table = @ws.add_table('A1:D5', :name => 'foo', :style_info => { :show_row_stripes => true, :name => "TableStyleMedium25" })
20
- assert_equal('TableStyleMedium25', table.table_style_info.name)
21
- assert_equal(true, table.table_style_info.show_row_stripes)
22
- end
23
-
24
- def test_add_table
25
- name = "test"
26
- table = @ws.add_table("A1:D5", :name => name)
27
- assert(table.is_a?(Axlsx::Table), "must create a table")
28
- assert_equal(@ws.workbook.tables.last, table, "must be added to workbook table collection")
29
- assert_equal(@ws.tables.last, table, "must be added to worksheet table collection")
30
- assert_equal(table.name, name, "options for name are applied")
31
- end
32
-
33
- def test_pn
34
- @ws.add_table("A1:D5")
35
- assert_equal(@ws.tables.first.pn, "tables/table1.xml")
36
- end
37
-
38
- def test_rId
39
- table = @ws.add_table("A1:D5")
40
- assert_equal @ws.relationships.for(table).Id, table.rId
41
- end
42
-
43
- def test_index
44
- @ws.add_table("A1:D5")
45
- assert_equal(@ws.tables.first.index, @ws.workbook.tables.index(@ws.tables.first))
46
- end
47
-
48
- def test_relationships
49
- assert(@ws.relationships.empty?)
50
- @ws.add_table("A1:D5")
51
- assert_equal(@ws.relationships.size, 1, "adding a table adds a relationship")
52
- @ws.add_table("F1:J5")
53
- assert_equal(@ws.relationships.size, 2, "adding a table adds a relationship")
54
- end
55
-
56
- def test_to_xml_string
57
- table = @ws.add_table("A1:D5")
58
- schema = Nokogiri::XML::Schema(File.open(Axlsx::SML_XSD))
59
- doc = Nokogiri::XML(table.to_xml_string)
60
- errors = []
61
- schema.validate(doc).each do |error|
62
- errors.push error
63
- puts error.message
64
- end
65
- assert(errors.empty?, "error free validation")
66
- end
67
-
68
- def test_to_xml_string_for_special_characters
69
- cell = @ws.rows.first.cells.first
70
- cell.value = "&><'\""
71
-
72
- table = @ws.add_table("A1:D5")
73
- doc = Nokogiri::XML(table.to_xml_string)
74
- errors = doc.errors
75
- assert(errors.empty?, "invalid xml: #{errors.map(&:to_s).join(', ')}")
76
- end
77
- end
@@ -1,53 +0,0 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestTableStyleInfo < Test::Unit::TestCase
4
- def setup
5
- p = Axlsx::Package.new
6
- @ws = p.workbook.add_worksheet
7
- 40.times do
8
- @ws.add_row %w(aa bb cc dd ee ff gg hh ii jj kk)
9
- end
10
- @table = @ws.add_table(Axlsx::cell_range([@ws.rows.first.cells.first,@ws.rows.last.cells.last], false), :name => 'foo')
11
- @options = { :show_first_column => 1,
12
- :show_last_column => 1,
13
- :show_row_stripes => 1,
14
- :show_column_stripes => 1,
15
- :name => "TableStyleDark4" }
16
-
17
-
18
- end
19
-
20
- def test_initialize
21
- table_style = Axlsx::TableStyleInfo.new @options
22
- @options.each do |key, value|
23
- assert_equal(value, table_style.send(key.to_sym))
24
- end
25
- end
26
-
27
- def test_boolean_properties
28
- table_style = Axlsx::TableStyleInfo.new
29
- @options.keys.each do |key|
30
- assert_nothing_raised { table_style.send("#{key.to_sym}=", true) }
31
- assert_raises(ArgumentError) { table_style.send(key.to_sym, 'foo') }
32
- end
33
- end
34
- def doc
35
- @doc ||= Nokogiri::XML(Axlsx::TableStyleInfo.new(@options).to_xml_string)
36
- end
37
-
38
- def test_to_xml_string_first_column
39
- assert(doc.xpath('//tableStyleInfo[@showLastColumn=1]'))
40
- end
41
-
42
- def test_to_xml_string_row_stripes
43
- assert(doc.xpath('//tableStyleInfo[@showRowStripes=1]'))
44
- end
45
-
46
- def test_to_xml_string_column_stripes
47
- assert(doc.xpath('//tableStyleInfo[@showColumnStripes=1]'))
48
- end
49
-
50
- def test_to_xml_string_name
51
- assert(doc.xpath("//tableStyleInfo[@name=#{@options[:name]}]"))
52
- end
53
- end