caxlsx 3.0.4 → 3.2.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 (294) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +9 -9
  3. data/.yardopts_guide +18 -18
  4. data/CHANGELOG.md +354 -334
  5. data/LICENSE +21 -21
  6. data/README.md +168 -170
  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 -151
  21. data/lib/axlsx/drawing/bar_chart.rb +138 -143
  22. data/lib/axlsx/drawing/bar_series.rb +97 -80
  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 +276 -276
  27. data/lib/axlsx/drawing/d_lbls.rb +90 -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 -98
  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 +97 -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 +388 -363
  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 -71
  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 +494 -420
  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 +410 -401
  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 +395 -370
  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/break.rb +35 -35
  98. data/lib/axlsx/workbook/worksheet/cell.rb +506 -505
  99. data/lib/axlsx/workbook/worksheet/cell_serializer.rb +164 -164
  100. data/lib/axlsx/workbook/worksheet/cfvo.rb +60 -60
  101. data/lib/axlsx/workbook/worksheet/cfvos.rb +18 -18
  102. data/lib/axlsx/workbook/worksheet/col.rb +145 -145
  103. data/lib/axlsx/workbook/worksheet/col_breaks.rb +35 -35
  104. data/lib/axlsx/workbook/worksheet/color_scale.rb +110 -110
  105. data/lib/axlsx/workbook/worksheet/cols.rb +23 -23
  106. data/lib/axlsx/workbook/worksheet/comment.rb +91 -91
  107. data/lib/axlsx/workbook/worksheet/comments.rb +82 -82
  108. data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +82 -82
  109. data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +220 -220
  110. data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +25 -25
  111. data/lib/axlsx/workbook/worksheet/data_bar.rb +129 -129
  112. data/lib/axlsx/workbook/worksheet/data_validation.rb +246 -246
  113. data/lib/axlsx/workbook/worksheet/data_validations.rb +28 -28
  114. data/lib/axlsx/workbook/worksheet/date_time_converter.rb +30 -30
  115. data/lib/axlsx/workbook/worksheet/dimension.rb +64 -64
  116. data/lib/axlsx/workbook/worksheet/header_footer.rb +52 -52
  117. data/lib/axlsx/workbook/worksheet/icon_set.rb +81 -81
  118. data/lib/axlsx/workbook/worksheet/merged_cells.rb +37 -37
  119. data/lib/axlsx/workbook/worksheet/outline_pr.rb +33 -33
  120. data/lib/axlsx/workbook/worksheet/page_margins.rb +97 -97
  121. data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -44
  122. data/lib/axlsx/workbook/worksheet/page_setup.rb +240 -240
  123. data/lib/axlsx/workbook/worksheet/pane.rb +139 -139
  124. data/lib/axlsx/workbook/worksheet/pivot_table.rb +296 -289
  125. data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +66 -66
  126. data/lib/axlsx/workbook/worksheet/pivot_tables.rb +24 -24
  127. data/lib/axlsx/workbook/worksheet/print_options.rb +39 -39
  128. data/lib/axlsx/workbook/worksheet/protected_range.rb +47 -47
  129. data/lib/axlsx/workbook/worksheet/protected_ranges.rb +37 -37
  130. data/lib/axlsx/workbook/worksheet/rich_text.rb +55 -55
  131. data/lib/axlsx/workbook/worksheet/rich_text_run.rb +250 -250
  132. data/lib/axlsx/workbook/worksheet/row.rb +164 -162
  133. data/lib/axlsx/workbook/worksheet/row_breaks.rb +33 -33
  134. data/lib/axlsx/workbook/worksheet/selection.rb +101 -101
  135. data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -29
  136. data/lib/axlsx/workbook/worksheet/sheet_data.rb +27 -27
  137. data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -87
  138. data/lib/axlsx/workbook/worksheet/sheet_protection.rb +118 -118
  139. data/lib/axlsx/workbook/worksheet/sheet_view.rb +213 -213
  140. data/lib/axlsx/workbook/worksheet/table.rb +102 -102
  141. data/lib/axlsx/workbook/worksheet/table_style_info.rb +49 -49
  142. data/lib/axlsx/workbook/worksheet/tables.rb +34 -34
  143. data/lib/axlsx/workbook/worksheet/worksheet.rb +786 -764
  144. data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +58 -58
  145. data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +58 -58
  146. data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +74 -74
  147. data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -38
  148. data/lib/axlsx.rb +185 -170
  149. data/lib/caxlsx.rb +2 -2
  150. data/lib/schema/dc.xsd +118 -118
  151. data/lib/schema/dcmitype.xsd +51 -51
  152. data/lib/schema/dcterms.xsd +331 -331
  153. data/lib/schema/dml-chartDrawing.xsd +146 -146
  154. data/lib/schema/dml-compatibility.xsd +14 -14
  155. data/lib/schema/dml-lockedCanvas.xsd +11 -11
  156. data/lib/schema/dml-main.xsd +3048 -3048
  157. data/lib/schema/dml-picture.xsd +23 -23
  158. data/lib/schema/dml-spreadsheetDrawing.xsd +185 -185
  159. data/lib/schema/dml-wordprocessingDrawing.xsd +185 -185
  160. data/lib/schema/shared-additionalCharacteristics.xsd +28 -28
  161. data/lib/schema/shared-bibliography.xsd +144 -144
  162. data/lib/schema/shared-commonSimpleTypes.xsd +166 -166
  163. data/lib/schema/shared-customXmlDataProperties.xsd +25 -25
  164. data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -18
  165. data/lib/schema/shared-documentPropertiesCustom.xsd +59 -59
  166. data/lib/schema/shared-documentPropertiesExtended.xsd +56 -56
  167. data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -195
  168. data/lib/schema/shared-relationshipReference.xsd +25 -25
  169. data/lib/schema/vml-main.xsd +569 -569
  170. data/lib/schema/vml-officeDrawing.xsd +509 -509
  171. data/lib/schema/vml-presentationDrawing.xsd +12 -12
  172. data/lib/schema/vml-spreadsheetDrawing.xsd +108 -108
  173. data/lib/schema/vml-wordprocessingDrawing.xsd +96 -96
  174. data/lib/schema/xml.xsd +116 -116
  175. data/test/benchmark.rb +72 -72
  176. data/test/content_type/tc_content_type.rb +76 -76
  177. data/test/content_type/tc_default.rb +16 -16
  178. data/test/content_type/tc_override.rb +14 -14
  179. data/test/doc_props/tc_app.rb +43 -43
  180. data/test/doc_props/tc_core.rb +42 -42
  181. data/test/drawing/tc_area_chart.rb +39 -39
  182. data/test/drawing/tc_area_series.rb +71 -71
  183. data/test/drawing/tc_axes.rb +7 -7
  184. data/test/drawing/tc_axis.rb +112 -112
  185. data/test/drawing/tc_bar_3D_chart.rb +86 -71
  186. data/test/drawing/tc_bar_chart.rb +86 -71
  187. data/test/drawing/tc_bar_series.rb +46 -37
  188. data/test/drawing/tc_bubble_chart.rb +44 -44
  189. data/test/drawing/tc_bubble_series.rb +21 -21
  190. data/test/drawing/tc_cat_axis.rb +31 -31
  191. data/test/drawing/tc_cat_axis_data.rb +27 -27
  192. data/test/drawing/tc_chart.rb +123 -123
  193. data/test/drawing/tc_d_lbls.rb +57 -57
  194. data/test/drawing/tc_data_source.rb +23 -23
  195. data/test/drawing/tc_drawing.rb +80 -80
  196. data/test/drawing/tc_graphic_frame.rb +27 -27
  197. data/test/drawing/tc_hyperlink.rb +64 -64
  198. data/test/drawing/tc_line_3d_chart.rb +47 -47
  199. data/test/drawing/tc_line_chart.rb +39 -39
  200. data/test/drawing/tc_line_series.rb +71 -71
  201. data/test/drawing/tc_marker.rb +44 -44
  202. data/test/drawing/tc_named_axis_data.rb +27 -27
  203. data/test/drawing/tc_num_data.rb +31 -31
  204. data/test/drawing/tc_num_val.rb +29 -29
  205. data/test/drawing/tc_one_cell_anchor.rb +66 -66
  206. data/test/drawing/tc_pic.rb +103 -103
  207. data/test/drawing/tc_picture_locking.rb +72 -72
  208. data/test/drawing/tc_pie_3D_chart.rb +28 -28
  209. data/test/drawing/tc_pie_series.rb +33 -33
  210. data/test/drawing/tc_scaling.rb +36 -36
  211. data/test/drawing/tc_scatter_chart.rb +48 -48
  212. data/test/drawing/tc_scatter_series.rb +74 -56
  213. data/test/drawing/tc_ser_axis.rb +31 -31
  214. data/test/drawing/tc_series.rb +23 -23
  215. data/test/drawing/tc_series_title.rb +54 -54
  216. data/test/drawing/tc_str_data.rb +18 -18
  217. data/test/drawing/tc_str_val.rb +30 -30
  218. data/test/drawing/tc_title.rb +70 -70
  219. data/test/drawing/tc_two_cell_anchor.rb +36 -36
  220. data/test/drawing/tc_val_axis.rb +24 -24
  221. data/test/drawing/tc_view_3D.rb +54 -54
  222. data/test/drawing/tc_vml_drawing.rb +25 -25
  223. data/test/drawing/tc_vml_shape.rb +106 -106
  224. data/test/profile.rb +24 -24
  225. data/test/rels/tc_relationship.rb +52 -52
  226. data/test/rels/tc_relationships.rb +37 -37
  227. data/test/stylesheet/tc_border.rb +37 -37
  228. data/test/stylesheet/tc_border_pr.rb +32 -32
  229. data/test/stylesheet/tc_cell_alignment.rb +81 -81
  230. data/test/stylesheet/tc_cell_protection.rb +29 -29
  231. data/test/stylesheet/tc_cell_style.rb +57 -57
  232. data/test/stylesheet/tc_color.rb +43 -43
  233. data/test/stylesheet/tc_dxf.rb +81 -81
  234. data/test/stylesheet/tc_fill.rb +18 -18
  235. data/test/stylesheet/tc_font.rb +133 -133
  236. data/test/stylesheet/tc_gradient_fill.rb +72 -72
  237. data/test/stylesheet/tc_gradient_stop.rb +31 -31
  238. data/test/stylesheet/tc_num_fmt.rb +30 -30
  239. data/test/stylesheet/tc_pattern_fill.rb +43 -43
  240. data/test/stylesheet/tc_styles.rb +309 -261
  241. data/test/stylesheet/tc_table_style.rb +44 -44
  242. data/test/stylesheet/tc_table_style_element.rb +45 -45
  243. data/test/stylesheet/tc_table_styles.rb +29 -29
  244. data/test/stylesheet/tc_xf.rb +120 -120
  245. data/test/tc_axlsx.rb +109 -109
  246. data/test/tc_helper.rb +10 -12
  247. data/test/tc_package.rb +317 -264
  248. data/test/util/tc_mime_type_utils.rb +13 -13
  249. data/test/util/tc_serialized_attributes.rb +19 -19
  250. data/test/util/tc_simple_typed_list.rb +77 -77
  251. data/test/util/tc_validators.rb +210 -210
  252. data/test/workbook/tc_defined_name.rb +49 -49
  253. data/test/workbook/tc_shared_strings_table.rb +59 -59
  254. data/test/workbook/tc_workbook.rb +165 -160
  255. data/test/workbook/tc_workbook_view.rb +50 -50
  256. data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +38 -38
  257. data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +76 -76
  258. data/test/workbook/worksheet/auto_filter/tc_filters.rb +50 -50
  259. data/test/workbook/worksheet/tc_break.rb +49 -49
  260. data/test/workbook/worksheet/tc_cell.rb +465 -453
  261. data/test/workbook/worksheet/tc_cfvo.rb +31 -31
  262. data/test/workbook/worksheet/tc_col.rb +93 -93
  263. data/test/workbook/worksheet/tc_color_scale.rb +58 -58
  264. data/test/workbook/worksheet/tc_comment.rb +72 -72
  265. data/test/workbook/worksheet/tc_comments.rb +57 -57
  266. data/test/workbook/worksheet/tc_conditional_formatting.rb +224 -224
  267. data/test/workbook/worksheet/tc_data_bar.rb +46 -46
  268. data/test/workbook/worksheet/tc_data_validation.rb +265 -265
  269. data/test/workbook/worksheet/tc_date_time_converter.rb +124 -124
  270. data/test/workbook/worksheet/tc_header_footer.rb +151 -151
  271. data/test/workbook/worksheet/tc_icon_set.rb +45 -45
  272. data/test/workbook/worksheet/tc_outline_pr.rb +19 -19
  273. data/test/workbook/worksheet/tc_page_margins.rb +97 -97
  274. data/test/workbook/worksheet/tc_page_set_up_pr.rb +15 -15
  275. data/test/workbook/worksheet/tc_page_setup.rb +143 -143
  276. data/test/workbook/worksheet/tc_pane.rb +54 -54
  277. data/test/workbook/worksheet/tc_pivot_table.rb +180 -135
  278. data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +62 -54
  279. data/test/workbook/worksheet/tc_print_options.rb +72 -72
  280. data/test/workbook/worksheet/tc_protected_range.rb +17 -17
  281. data/test/workbook/worksheet/tc_rich_text.rb +44 -44
  282. data/test/workbook/worksheet/tc_rich_text_run.rb +173 -173
  283. data/test/workbook/worksheet/tc_row.rb +160 -139
  284. data/test/workbook/worksheet/tc_selection.rb +55 -55
  285. data/test/workbook/worksheet/tc_sheet_calc_pr.rb +18 -18
  286. data/test/workbook/worksheet/tc_sheet_format_pr.rb +88 -88
  287. data/test/workbook/worksheet/tc_sheet_pr.rb +49 -49
  288. data/test/workbook/worksheet/tc_sheet_protection.rb +117 -117
  289. data/test/workbook/worksheet/tc_sheet_view.rb +214 -214
  290. data/test/workbook/worksheet/tc_table.rb +77 -67
  291. data/test/workbook/worksheet/tc_table_style_info.rb +53 -53
  292. data/test/workbook/worksheet/tc_worksheet.rb +632 -601
  293. data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +55 -55
  294. metadata +11 -11
@@ -1,77 +1,77 @@
1
- require 'tc_helper.rb'
2
- class TestSimpleTypedList < Test::Unit::TestCase
3
- def setup
4
- @list = Axlsx::SimpleTypedList.new Integer
5
- end
6
-
7
- def teardown
8
- end
9
-
10
- def test_type_is_a_class_or_array_of_class
11
- assert_nothing_raised { Axlsx::SimpleTypedList.new Integer }
12
- assert_nothing_raised { Axlsx::SimpleTypedList.new [Integer,String] }
13
- assert_raise(ArgumentError) { Axlsx::SimpleTypedList.new }
14
- assert_raise(ArgumentError) { Axlsx::SimpleTypedList.new "1" }
15
- assert_raise(ArgumentError) { Axlsx::SimpleTypedList.new [Integer, "Class"] }
16
- end
17
-
18
- def test_indexed_based_assignment
19
- #should not allow nil assignment
20
- assert_raise(ArgumentError) { @list[0] = nil }
21
- assert_raise(ArgumentError) { @list[0] = "1" }
22
- assert_nothing_raised { @list[0] = 1 }
23
- end
24
-
25
- def test_concat_assignment
26
- assert_raise(ArgumentError) { @list << nil }
27
- assert_raise(ArgumentError) { @list << "1" }
28
- assert_nothing_raised { @list << 1 }
29
- end
30
-
31
- def test_concat_should_return_index
32
- assert( @list.size == 0 )
33
- assert( @list << 1 == 0 )
34
- assert( @list << 2 == 1 )
35
- @list.delete_at 0
36
- assert( @list << 3 == 1 )
37
- assert( @list.index(2) == 0 )
38
- end
39
-
40
- def test_push_should_return_index
41
- assert( @list.push(1) == 0 )
42
- assert( @list.push(2) == 1 )
43
- @list.delete_at 0
44
- assert( @list.push(3) == 1 )
45
- assert( @list.index(2) == 0 )
46
- end
47
-
48
- def test_locking
49
- @list.push 1
50
- @list.push 2
51
- @list.push 3
52
- @list.lock
53
-
54
- assert_raise(ArgumentError) { @list.delete 1 }
55
- assert_raise(ArgumentError) { @list.delete_at 1 }
56
- assert_raise(ArgumentError) { @list.delete_at 2 }
57
- @list.push 4
58
- assert_nothing_raised { @list.delete_at 3 }
59
- @list.unlock
60
- #ignore garbage
61
- assert_nothing_raised { @list.delete 0 }
62
- assert_nothing_raised { @list.delete 9 }
63
- end
64
-
65
- def test_delete
66
- @list.push 1
67
- assert(@list.size == 1)
68
- @list.delete 1
69
- assert(@list.empty?)
70
- end
71
-
72
- def test_equality
73
- @list.push 1
74
- @list.push 2
75
- assert_equal(@list.to_ary, [1,2])
76
- end
77
- end
1
+ require 'tc_helper.rb'
2
+ class TestSimpleTypedList < Test::Unit::TestCase
3
+ def setup
4
+ @list = Axlsx::SimpleTypedList.new Integer
5
+ end
6
+
7
+ def teardown
8
+ end
9
+
10
+ def test_type_is_a_class_or_array_of_class
11
+ assert_nothing_raised { Axlsx::SimpleTypedList.new Integer }
12
+ assert_nothing_raised { Axlsx::SimpleTypedList.new [Integer,String] }
13
+ assert_raise(ArgumentError) { Axlsx::SimpleTypedList.new }
14
+ assert_raise(ArgumentError) { Axlsx::SimpleTypedList.new "1" }
15
+ assert_raise(ArgumentError) { Axlsx::SimpleTypedList.new [Integer, "Class"] }
16
+ end
17
+
18
+ def test_indexed_based_assignment
19
+ #should not allow nil assignment
20
+ assert_raise(ArgumentError) { @list[0] = nil }
21
+ assert_raise(ArgumentError) { @list[0] = "1" }
22
+ assert_nothing_raised { @list[0] = 1 }
23
+ end
24
+
25
+ def test_concat_assignment
26
+ assert_raise(ArgumentError) { @list << nil }
27
+ assert_raise(ArgumentError) { @list << "1" }
28
+ assert_nothing_raised { @list << 1 }
29
+ end
30
+
31
+ def test_concat_should_return_index
32
+ assert( @list.size == 0 )
33
+ assert( @list << 1 == 0 )
34
+ assert( @list << 2 == 1 )
35
+ @list.delete_at 0
36
+ assert( @list << 3 == 1 )
37
+ assert( @list.index(2) == 0 )
38
+ end
39
+
40
+ def test_push_should_return_index
41
+ assert( @list.push(1) == 0 )
42
+ assert( @list.push(2) == 1 )
43
+ @list.delete_at 0
44
+ assert( @list.push(3) == 1 )
45
+ assert( @list.index(2) == 0 )
46
+ end
47
+
48
+ def test_locking
49
+ @list.push 1
50
+ @list.push 2
51
+ @list.push 3
52
+ @list.lock
53
+
54
+ assert_raise(ArgumentError) { @list.delete 1 }
55
+ assert_raise(ArgumentError) { @list.delete_at 1 }
56
+ assert_raise(ArgumentError) { @list.delete_at 2 }
57
+ @list.push 4
58
+ assert_nothing_raised { @list.delete_at 3 }
59
+ @list.unlock
60
+ #ignore garbage
61
+ assert_nothing_raised { @list.delete 0 }
62
+ assert_nothing_raised { @list.delete 9 }
63
+ end
64
+
65
+ def test_delete
66
+ @list.push 1
67
+ assert(@list.size == 1)
68
+ @list.delete 1
69
+ assert(@list.empty?)
70
+ end
71
+
72
+ def test_equality
73
+ @list.push 1
74
+ @list.push 2
75
+ assert_equal(@list.to_ary, [1,2])
76
+ end
77
+ end
@@ -1,210 +1,210 @@
1
- require 'tc_helper.rb'
2
- class TestValidators < Test::Unit::TestCase
3
- def setup
4
- end
5
- def teardown
6
- end
7
-
8
- def test_validators
9
- #unsigned_int
10
- assert_nothing_raised { Axlsx.validate_unsigned_int 1 }
11
- assert_nothing_raised { Axlsx.validate_unsigned_int(+1) }
12
- assert_raise(ArgumentError) { Axlsx.validate_unsigned_int(-1)}
13
- assert_raise(ArgumentError) { Axlsx.validate_unsigned_int('1') }
14
-
15
- #int
16
- assert_nothing_raised { Axlsx.validate_int(1) }
17
- assert_nothing_raised { Axlsx.validate_int(-1) }
18
- assert_raise(ArgumentError) { Axlsx.validate_int('a')}
19
- assert_raise(ArgumentError) { Axlsx.validate_int(Array) }
20
-
21
- #boolean (as 0 or 1, :true, :false, true, false, or "true," "false")
22
- [0,1,:true, :false, true, false, "true", "false"].each do |v|
23
- assert_nothing_raised { Axlsx.validate_boolean 0 }
24
- end
25
- assert_raise(ArgumentError) { Axlsx.validate_boolean 2 }
26
-
27
- #string
28
- assert_nothing_raised { Axlsx.validate_string "1" }
29
- assert_raise(ArgumentError) { Axlsx.validate_string 2 }
30
- assert_raise(ArgumentError) { Axlsx.validate_string false }
31
-
32
- #float
33
- assert_nothing_raised { Axlsx.validate_float 1.0 }
34
- assert_raise(ArgumentError) { Axlsx.validate_float 2 }
35
- assert_raise(ArgumentError) { Axlsx.validate_float false }
36
-
37
- #pattern_type
38
- assert_nothing_raised { Axlsx.validate_pattern_type :none }
39
- assert_raise(ArgumentError) { Axlsx.validate_pattern_type "none" }
40
- assert_raise(ArgumentError) { Axlsx.validate_pattern_type "crazy_pattern" }
41
- assert_raise(ArgumentError) { Axlsx.validate_pattern_type false }
42
-
43
- #gradient_type
44
- assert_nothing_raised { Axlsx.validate_gradient_type :path }
45
- assert_raise(ArgumentError) { Axlsx.validate_gradient_type nil }
46
- assert_raise(ArgumentError) { Axlsx.validate_gradient_type "fractal" }
47
- assert_raise(ArgumentError) { Axlsx.validate_gradient_type false }
48
-
49
- #horizontal alignment
50
- assert_nothing_raised { Axlsx.validate_horizontal_alignment :general }
51
- assert_raise(ArgumentError) { Axlsx.validate_horizontal_alignment nil }
52
- assert_raise(ArgumentError) { Axlsx.validate_horizontal_alignment "wavy" }
53
- assert_raise(ArgumentError) { Axlsx.validate_horizontal_alignment false }
54
-
55
- #vertical alignment
56
- assert_nothing_raised { Axlsx.validate_vertical_alignment :top }
57
- assert_raise(ArgumentError) { Axlsx.validate_vertical_alignment nil }
58
- assert_raise(ArgumentError) { Axlsx.validate_vertical_alignment "dynamic" }
59
- assert_raise(ArgumentError) { Axlsx.validate_vertical_alignment false }
60
-
61
- #contentType
62
- assert_nothing_raised { Axlsx.validate_content_type Axlsx::WORKBOOK_CT }
63
- assert_raise(ArgumentError) { Axlsx.validate_content_type nil }
64
- assert_raise(ArgumentError) { Axlsx.validate_content_type "http://some.url" }
65
- assert_raise(ArgumentError) { Axlsx.validate_content_type false }
66
-
67
- #relationshipType
68
- assert_nothing_raised { Axlsx.validate_relationship_type Axlsx::WORKBOOK_R }
69
- assert_raise(ArgumentError) { Axlsx.validate_relationship_type nil }
70
- assert_raise(ArgumentError) { Axlsx.validate_relationship_type "http://some.url" }
71
- assert_raise(ArgumentError) { Axlsx.validate_relationship_type false }
72
-
73
- #number_with_unit
74
- assert_nothing_raised { Axlsx.validate_number_with_unit "210mm" }
75
- assert_nothing_raised { Axlsx.validate_number_with_unit "8.5in" }
76
- assert_nothing_raised { Axlsx.validate_number_with_unit "29.7cm" }
77
- assert_nothing_raised { Axlsx.validate_number_with_unit "120pt" }
78
- assert_nothing_raised { Axlsx.validate_number_with_unit "0pc" }
79
- assert_nothing_raised { Axlsx.validate_number_with_unit "12.34pi" }
80
- assert_raise(ArgumentError) { Axlsx.validate_number_with_unit nil }
81
- assert_raise(ArgumentError) { Axlsx.validate_number_with_unit "210" }
82
- assert_raise(ArgumentError) { Axlsx.validate_number_with_unit 210 }
83
- assert_raise(ArgumentError) { Axlsx.validate_number_with_unit "mm" }
84
- assert_raise(ArgumentError) { Axlsx.validate_number_with_unit "-29cm" }
85
-
86
- #scale_10_400
87
- assert_nothing_raised { Axlsx.validate_scale_10_400 10 }
88
- assert_nothing_raised { Axlsx.validate_scale_10_400 100 }
89
- assert_nothing_raised { Axlsx.validate_scale_10_400 400 }
90
- assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 9 }
91
- assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 10.0 }
92
- assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 400.1 }
93
- assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 "99" }
94
-
95
- #scale_0_10_400
96
- assert_nothing_raised { Axlsx.validate_scale_0_10_400 0 }
97
- assert_nothing_raised { Axlsx.validate_scale_0_10_400 10 }
98
- assert_nothing_raised { Axlsx.validate_scale_0_10_400 100 }
99
- assert_nothing_raised { Axlsx.validate_scale_0_10_400 400 }
100
- assert_raise(ArgumentError) { Axlsx.validate_scale_0_10_400 9 }
101
- assert_raise(ArgumentError) { Axlsx.validate_scale_0_10_400 10.0 }
102
- assert_raise(ArgumentError) { Axlsx.validate_scale_0_10_400 400.1 }
103
- assert_raise(ArgumentError) { Axlsx.validate_scale_0_10_400 "99" }
104
-
105
- #page_orientation
106
- assert_nothing_raised { Axlsx.validate_page_orientation :default }
107
- assert_nothing_raised { Axlsx.validate_page_orientation :landscape }
108
- assert_nothing_raised { Axlsx.validate_page_orientation :portrait }
109
- assert_raise(ArgumentError) { Axlsx.validate_page_orientation nil }
110
- assert_raise(ArgumentError) { Axlsx.validate_page_orientation 1 }
111
- assert_raise(ArgumentError) { Axlsx.validate_page_orientation "landscape" }
112
-
113
- #data_validation_error_style
114
- [:information, :stop, :warning].each do |sym|
115
- assert_nothing_raised { Axlsx.validate_data_validation_error_style sym }
116
- end
117
- assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style :other_symbol }
118
- assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 'warning' }
119
- assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 0 }
120
-
121
- #data_validation_operator
122
- [:lessThan, :lessThanOrEqual, :equal, :notEqual, :greaterThanOrEqual, :greaterThan, :between, :notBetween].each do |sym|
123
- assert_nothing_raised { Axlsx.validate_data_validation_operator sym }
124
- end
125
- assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style :other_symbol }
126
- assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 'lessThan' }
127
- assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 0 }
128
-
129
- #data_validation_type
130
- [:custom, :data, :decimal, :list, :none, :textLength, :date, :time, :whole].each do |sym|
131
- assert_nothing_raised { Axlsx.validate_data_validation_type sym }
132
- end
133
- assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style :other_symbol }
134
- assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 'decimal' }
135
- assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 0 }
136
-
137
- #sheet_view_type
138
- [:normal, :page_break_preview, :page_layout].each do |sym|
139
- assert_nothing_raised { Axlsx.validate_sheet_view_type sym }
140
- end
141
- assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style :other_symbol }
142
- assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 'page_layout' }
143
- assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 0 }
144
-
145
- #active_pane_type
146
- [:bottom_left, :bottom_right, :top_left, :top_right].each do |sym|
147
- assert_nothing_raised { Axlsx.validate_pane_type sym }
148
- end
149
- assert_raise(ArgumentError) { Axlsx.validate_pane_type :other_symbol }
150
- assert_raise(ArgumentError) { Axlsx.validate_pane_type 'bottom_left' }
151
- assert_raise(ArgumentError) { Axlsx.validate_pane_type 0 }
152
-
153
- #split_state_type
154
- [:frozen, :frozen_split, :split].each do |sym|
155
- assert_nothing_raised { Axlsx.validate_split_state_type sym }
156
- end
157
- assert_raise(ArgumentError) { Axlsx.validate_split_state_type :other_symbol }
158
- assert_raise(ArgumentError) { Axlsx.validate_split_state_type 'frozen_split' }
159
- assert_raise(ArgumentError) { Axlsx.validate_split_state_type 0 }
160
-
161
- #display_blanks_as
162
- [:gap, :span, :zero].each do |sym|
163
- assert_nothing_raised { Axlsx.validate_display_blanks_as sym }
164
- end
165
- assert_raise(ArgumentError) { Axlsx.validate_display_blanks_as :other_symbol }
166
- assert_raise(ArgumentError) { Axlsx.validate_display_blanks_as 'other_blank' }
167
- assert_raise(ArgumentError) { Axlsx.validate_display_blanks_as 0 }
168
-
169
- #view_visibility
170
- [:visible, :hidden, :very_hidden].each do |sym|
171
- assert_nothing_raised { Axlsx.validate_view_visibility sym }
172
- end
173
- assert_raise(ArgumentError) { Axlsx.validate_view_visibility :other_symbol }
174
- assert_raise(ArgumentError) { Axlsx.validate_view_visibility 'other_visibility' }
175
- assert_raise(ArgumentError) { Axlsx.validate_view_visibility 0 }
176
-
177
- #marker_symbol
178
- [:default, :circle, :dash, :diamond, :dot, :picture, :plus, :square, :star, :triangle, :x].each do |sym|
179
- assert_nothing_raised { Axlsx.validate_marker_symbol sym }
180
- end
181
- assert_raise(ArgumentError) { Axlsx.validate_marker_symbol :other_symbol }
182
- assert_raise(ArgumentError) { Axlsx.validate_marker_symbol 'other_marker' }
183
- assert_raise(ArgumentError) { Axlsx.validate_marker_symbol 0 }
184
- end
185
-
186
- def test_validate_integerish
187
- assert_raise(ArgumentError) { Axlsx.validate_integerish Axlsx }
188
- [1, 1.4, "a"].each { |test_value| assert_nothing_raised { Axlsx.validate_integerish test_value } }
189
- end
190
- def test_validate_family
191
- assert_raise(ArgumentError) { Axlsx.validate_family 0 }
192
- (1..5).each do |item|
193
- assert_nothing_raised { Axlsx.validate_family item }
194
- end
195
- end
196
-
197
- def test_validate_u
198
- assert_raise(ArgumentError) { Axlsx.validate_cell_u :hoge }
199
- [:none, :single, :double, :singleAccounting, :doubleAccounting].each do |sym|
200
- assert_nothing_raised { Axlsx.validate_cell_u sym }
201
- end
202
- end
203
-
204
- def test_range_validation
205
- # exclusive
206
- assert_raise(ArgumentError) { Axlsx::RangeValidator.validate('foo', 1, 10, 10, false) }
207
- # inclusive by default
208
- assert_nothing_raised { Axlsx::RangeValidator.validate('foo', 1, 10, 10) }
209
- end
210
- end
1
+ require 'tc_helper.rb'
2
+ class TestValidators < Test::Unit::TestCase
3
+ def setup
4
+ end
5
+ def teardown
6
+ end
7
+
8
+ def test_validators
9
+ #unsigned_int
10
+ assert_nothing_raised { Axlsx.validate_unsigned_int 1 }
11
+ assert_nothing_raised { Axlsx.validate_unsigned_int(+1) }
12
+ assert_raise(ArgumentError) { Axlsx.validate_unsigned_int(-1)}
13
+ assert_raise(ArgumentError) { Axlsx.validate_unsigned_int('1') }
14
+
15
+ #int
16
+ assert_nothing_raised { Axlsx.validate_int(1) }
17
+ assert_nothing_raised { Axlsx.validate_int(-1) }
18
+ assert_raise(ArgumentError) { Axlsx.validate_int('a')}
19
+ assert_raise(ArgumentError) { Axlsx.validate_int(Array) }
20
+
21
+ #boolean (as 0 or 1, :true, :false, true, false, or "true," "false")
22
+ [0,1,:true, :false, true, false, "true", "false"].each do |v|
23
+ assert_nothing_raised { Axlsx.validate_boolean 0 }
24
+ end
25
+ assert_raise(ArgumentError) { Axlsx.validate_boolean 2 }
26
+
27
+ #string
28
+ assert_nothing_raised { Axlsx.validate_string "1" }
29
+ assert_raise(ArgumentError) { Axlsx.validate_string 2 }
30
+ assert_raise(ArgumentError) { Axlsx.validate_string false }
31
+
32
+ #float
33
+ assert_nothing_raised { Axlsx.validate_float 1.0 }
34
+ assert_raise(ArgumentError) { Axlsx.validate_float 2 }
35
+ assert_raise(ArgumentError) { Axlsx.validate_float false }
36
+
37
+ #pattern_type
38
+ assert_nothing_raised { Axlsx.validate_pattern_type :none }
39
+ assert_raise(ArgumentError) { Axlsx.validate_pattern_type "none" }
40
+ assert_raise(ArgumentError) { Axlsx.validate_pattern_type "crazy_pattern" }
41
+ assert_raise(ArgumentError) { Axlsx.validate_pattern_type false }
42
+
43
+ #gradient_type
44
+ assert_nothing_raised { Axlsx.validate_gradient_type :path }
45
+ assert_raise(ArgumentError) { Axlsx.validate_gradient_type nil }
46
+ assert_raise(ArgumentError) { Axlsx.validate_gradient_type "fractal" }
47
+ assert_raise(ArgumentError) { Axlsx.validate_gradient_type false }
48
+
49
+ #horizontal alignment
50
+ assert_nothing_raised { Axlsx.validate_horizontal_alignment :general }
51
+ assert_raise(ArgumentError) { Axlsx.validate_horizontal_alignment nil }
52
+ assert_raise(ArgumentError) { Axlsx.validate_horizontal_alignment "wavy" }
53
+ assert_raise(ArgumentError) { Axlsx.validate_horizontal_alignment false }
54
+
55
+ #vertical alignment
56
+ assert_nothing_raised { Axlsx.validate_vertical_alignment :top }
57
+ assert_raise(ArgumentError) { Axlsx.validate_vertical_alignment nil }
58
+ assert_raise(ArgumentError) { Axlsx.validate_vertical_alignment "dynamic" }
59
+ assert_raise(ArgumentError) { Axlsx.validate_vertical_alignment false }
60
+
61
+ #contentType
62
+ assert_nothing_raised { Axlsx.validate_content_type Axlsx::WORKBOOK_CT }
63
+ assert_raise(ArgumentError) { Axlsx.validate_content_type nil }
64
+ assert_raise(ArgumentError) { Axlsx.validate_content_type "http://some.url" }
65
+ assert_raise(ArgumentError) { Axlsx.validate_content_type false }
66
+
67
+ #relationshipType
68
+ assert_nothing_raised { Axlsx.validate_relationship_type Axlsx::WORKBOOK_R }
69
+ assert_raise(ArgumentError) { Axlsx.validate_relationship_type nil }
70
+ assert_raise(ArgumentError) { Axlsx.validate_relationship_type "http://some.url" }
71
+ assert_raise(ArgumentError) { Axlsx.validate_relationship_type false }
72
+
73
+ #number_with_unit
74
+ assert_nothing_raised { Axlsx.validate_number_with_unit "210mm" }
75
+ assert_nothing_raised { Axlsx.validate_number_with_unit "8.5in" }
76
+ assert_nothing_raised { Axlsx.validate_number_with_unit "29.7cm" }
77
+ assert_nothing_raised { Axlsx.validate_number_with_unit "120pt" }
78
+ assert_nothing_raised { Axlsx.validate_number_with_unit "0pc" }
79
+ assert_nothing_raised { Axlsx.validate_number_with_unit "12.34pi" }
80
+ assert_raise(ArgumentError) { Axlsx.validate_number_with_unit nil }
81
+ assert_raise(ArgumentError) { Axlsx.validate_number_with_unit "210" }
82
+ assert_raise(ArgumentError) { Axlsx.validate_number_with_unit 210 }
83
+ assert_raise(ArgumentError) { Axlsx.validate_number_with_unit "mm" }
84
+ assert_raise(ArgumentError) { Axlsx.validate_number_with_unit "-29cm" }
85
+
86
+ #scale_10_400
87
+ assert_nothing_raised { Axlsx.validate_scale_10_400 10 }
88
+ assert_nothing_raised { Axlsx.validate_scale_10_400 100 }
89
+ assert_nothing_raised { Axlsx.validate_scale_10_400 400 }
90
+ assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 9 }
91
+ assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 10.0 }
92
+ assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 400.1 }
93
+ assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 "99" }
94
+
95
+ #scale_0_10_400
96
+ assert_nothing_raised { Axlsx.validate_scale_0_10_400 0 }
97
+ assert_nothing_raised { Axlsx.validate_scale_0_10_400 10 }
98
+ assert_nothing_raised { Axlsx.validate_scale_0_10_400 100 }
99
+ assert_nothing_raised { Axlsx.validate_scale_0_10_400 400 }
100
+ assert_raise(ArgumentError) { Axlsx.validate_scale_0_10_400 9 }
101
+ assert_raise(ArgumentError) { Axlsx.validate_scale_0_10_400 10.0 }
102
+ assert_raise(ArgumentError) { Axlsx.validate_scale_0_10_400 400.1 }
103
+ assert_raise(ArgumentError) { Axlsx.validate_scale_0_10_400 "99" }
104
+
105
+ #page_orientation
106
+ assert_nothing_raised { Axlsx.validate_page_orientation :default }
107
+ assert_nothing_raised { Axlsx.validate_page_orientation :landscape }
108
+ assert_nothing_raised { Axlsx.validate_page_orientation :portrait }
109
+ assert_raise(ArgumentError) { Axlsx.validate_page_orientation nil }
110
+ assert_raise(ArgumentError) { Axlsx.validate_page_orientation 1 }
111
+ assert_raise(ArgumentError) { Axlsx.validate_page_orientation "landscape" }
112
+
113
+ #data_validation_error_style
114
+ [:information, :stop, :warning].each do |sym|
115
+ assert_nothing_raised { Axlsx.validate_data_validation_error_style sym }
116
+ end
117
+ assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style :other_symbol }
118
+ assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 'warning' }
119
+ assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 0 }
120
+
121
+ #data_validation_operator
122
+ [:lessThan, :lessThanOrEqual, :equal, :notEqual, :greaterThanOrEqual, :greaterThan, :between, :notBetween].each do |sym|
123
+ assert_nothing_raised { Axlsx.validate_data_validation_operator sym }
124
+ end
125
+ assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style :other_symbol }
126
+ assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 'lessThan' }
127
+ assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 0 }
128
+
129
+ #data_validation_type
130
+ [:custom, :data, :decimal, :list, :none, :textLength, :date, :time, :whole].each do |sym|
131
+ assert_nothing_raised { Axlsx.validate_data_validation_type sym }
132
+ end
133
+ assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style :other_symbol }
134
+ assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 'decimal' }
135
+ assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 0 }
136
+
137
+ #sheet_view_type
138
+ [:normal, :page_break_preview, :page_layout].each do |sym|
139
+ assert_nothing_raised { Axlsx.validate_sheet_view_type sym }
140
+ end
141
+ assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style :other_symbol }
142
+ assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 'page_layout' }
143
+ assert_raise(ArgumentError) { Axlsx.validate_data_validation_error_style 0 }
144
+
145
+ #active_pane_type
146
+ [:bottom_left, :bottom_right, :top_left, :top_right].each do |sym|
147
+ assert_nothing_raised { Axlsx.validate_pane_type sym }
148
+ end
149
+ assert_raise(ArgumentError) { Axlsx.validate_pane_type :other_symbol }
150
+ assert_raise(ArgumentError) { Axlsx.validate_pane_type 'bottom_left' }
151
+ assert_raise(ArgumentError) { Axlsx.validate_pane_type 0 }
152
+
153
+ #split_state_type
154
+ [:frozen, :frozen_split, :split].each do |sym|
155
+ assert_nothing_raised { Axlsx.validate_split_state_type sym }
156
+ end
157
+ assert_raise(ArgumentError) { Axlsx.validate_split_state_type :other_symbol }
158
+ assert_raise(ArgumentError) { Axlsx.validate_split_state_type 'frozen_split' }
159
+ assert_raise(ArgumentError) { Axlsx.validate_split_state_type 0 }
160
+
161
+ #display_blanks_as
162
+ [:gap, :span, :zero].each do |sym|
163
+ assert_nothing_raised { Axlsx.validate_display_blanks_as sym }
164
+ end
165
+ assert_raise(ArgumentError) { Axlsx.validate_display_blanks_as :other_symbol }
166
+ assert_raise(ArgumentError) { Axlsx.validate_display_blanks_as 'other_blank' }
167
+ assert_raise(ArgumentError) { Axlsx.validate_display_blanks_as 0 }
168
+
169
+ #view_visibility
170
+ [:visible, :hidden, :very_hidden].each do |sym|
171
+ assert_nothing_raised { Axlsx.validate_view_visibility sym }
172
+ end
173
+ assert_raise(ArgumentError) { Axlsx.validate_view_visibility :other_symbol }
174
+ assert_raise(ArgumentError) { Axlsx.validate_view_visibility 'other_visibility' }
175
+ assert_raise(ArgumentError) { Axlsx.validate_view_visibility 0 }
176
+
177
+ #marker_symbol
178
+ [:default, :circle, :dash, :diamond, :dot, :picture, :plus, :square, :star, :triangle, :x].each do |sym|
179
+ assert_nothing_raised { Axlsx.validate_marker_symbol sym }
180
+ end
181
+ assert_raise(ArgumentError) { Axlsx.validate_marker_symbol :other_symbol }
182
+ assert_raise(ArgumentError) { Axlsx.validate_marker_symbol 'other_marker' }
183
+ assert_raise(ArgumentError) { Axlsx.validate_marker_symbol 0 }
184
+ end
185
+
186
+ def test_validate_integerish
187
+ assert_raise(ArgumentError) { Axlsx.validate_integerish Axlsx }
188
+ [1, 1.4, "a"].each { |test_value| assert_nothing_raised { Axlsx.validate_integerish test_value } }
189
+ end
190
+ def test_validate_family
191
+ assert_raise(ArgumentError) { Axlsx.validate_family 0 }
192
+ (1..5).each do |item|
193
+ assert_nothing_raised { Axlsx.validate_family item }
194
+ end
195
+ end
196
+
197
+ def test_validate_u
198
+ assert_raise(ArgumentError) { Axlsx.validate_cell_u :hoge }
199
+ [:none, :single, :double, :singleAccounting, :doubleAccounting].each do |sym|
200
+ assert_nothing_raised { Axlsx.validate_cell_u sym }
201
+ end
202
+ end
203
+
204
+ def test_range_validation
205
+ # exclusive
206
+ assert_raise(ArgumentError) { Axlsx::RangeValidator.validate('foo', 1, 10, 10, false) }
207
+ # inclusive by default
208
+ assert_nothing_raised { Axlsx::RangeValidator.validate('foo', 1, 10, 10) }
209
+ end
210
+ end