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,29 +1,29 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestNumVal < Test::Unit::TestCase
4
-
5
- def setup
6
- @num_val = Axlsx::NumVal.new :v => 1
7
- end
8
-
9
- def test_initialize
10
- assert_equal(@num_val.format_code, "General")
11
- assert_equal(@num_val.v, "1")
12
- end
13
-
14
- def test_format_code
15
- assert_raise(ArgumentError) {@num_val.format_code = 7}
16
- assert_nothing_raised {@num_val.format_code = 'foo_bar'}
17
- end
18
-
19
- def test_to_xml_string
20
- str = '<?xml version="1.0" encoding="UTF-8"?>'
21
- str << '<c:chartSpace xmlns:c="' << Axlsx::XML_NS_C << '">'
22
- str << @num_val.to_xml_string(0)
23
- doc = Nokogiri::XML(str)
24
- # lets see if this works?
25
- assert_equal(doc.xpath("//c:pt/c:v[text()='1']").size, 1)
26
-
27
- end
28
-
29
- end
1
+ require 'tc_helper.rb'
2
+
3
+ class TestNumVal < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @num_val = Axlsx::NumVal.new :v => 1
7
+ end
8
+
9
+ def test_initialize
10
+ assert_equal(@num_val.format_code, "General")
11
+ assert_equal(@num_val.v, "1")
12
+ end
13
+
14
+ def test_format_code
15
+ assert_raise(ArgumentError) {@num_val.format_code = 7}
16
+ assert_nothing_raised {@num_val.format_code = 'foo_bar'}
17
+ end
18
+
19
+ def test_to_xml_string
20
+ str = '<?xml version="1.0" encoding="UTF-8"?>'
21
+ str << '<c:chartSpace xmlns:c="' << Axlsx::XML_NS_C << '">'
22
+ str << @num_val.to_xml_string(0)
23
+ doc = Nokogiri::XML(str)
24
+ # lets see if this works?
25
+ assert_equal(doc.xpath("//c:pt/c:v[text()='1']").size, 1)
26
+
27
+ end
28
+
29
+ end
@@ -1,66 +1,66 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestOneCellAnchor < Test::Unit::TestCase
4
-
5
- def setup
6
- @p = Axlsx::Package.new
7
- @ws = @p.workbook.add_worksheet
8
- @test_img = File.dirname(__FILE__) + "/../fixtures/image1.jpeg"
9
- @image = @ws.add_image :image_src => @test_img
10
- @anchor = @image.anchor
11
- end
12
-
13
- def teardown
14
- end
15
-
16
- def test_initialization
17
- assert(@anchor.from.col == 0)
18
- assert(@anchor.from.row == 0)
19
- assert(@anchor.width == 0)
20
- assert(@anchor.height == 0)
21
- end
22
-
23
- def test_from
24
- assert(@anchor.from.is_a?(Axlsx::Marker))
25
- end
26
-
27
- def test_object
28
- assert(@anchor.object.is_a?(Axlsx::Pic))
29
- end
30
-
31
- def test_index
32
- assert_equal(@anchor.index, @anchor.drawing.anchors.index(@anchor))
33
- end
34
-
35
- def test_width
36
- assert_raise(ArgumentError) { @anchor.width = "a" }
37
- assert_nothing_raised { @anchor.width = 600 }
38
- assert_equal(@anchor.width, 600)
39
- end
40
-
41
- def test_height
42
- assert_raise(ArgumentError) { @anchor.height = "a" }
43
- assert_nothing_raised { @anchor.height = 400 }
44
- assert_equal(400, @anchor.height)
45
- end
46
-
47
- def test_ext
48
- ext = @anchor.send(:ext)
49
- assert_equal(ext[:cx], (@anchor.width * 914400 / 96))
50
- assert_equal(ext[:cy], (@anchor.height * 914400 / 96))
51
- end
52
-
53
- def test_options
54
- assert_raise(ArgumentError, 'invalid start_at') { @ws.add_image :image_src=>@test_img, :start_at=>[1] }
55
- i = @ws.add_image :image_src=>@test_img, :start_at => [1,2], :width=>100, :height=>200, :name=>"someimage", :descr=>"a neat image"
56
-
57
- assert_equal("a neat image", i.descr)
58
- assert_equal("someimage", i.name)
59
- assert_equal(200, i.height)
60
- assert_equal(100, i.width)
61
- assert_equal(1, i.anchor.from.col)
62
- assert_equal(2, i.anchor.from.row)
63
- assert_equal(@test_img, i.image_src)
64
- end
65
-
66
- end
1
+ require 'tc_helper.rb'
2
+
3
+ class TestOneCellAnchor < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @p = Axlsx::Package.new
7
+ @ws = @p.workbook.add_worksheet
8
+ @test_img = File.dirname(__FILE__) + "/../fixtures/image1.jpeg"
9
+ @image = @ws.add_image :image_src => @test_img
10
+ @anchor = @image.anchor
11
+ end
12
+
13
+ def teardown
14
+ end
15
+
16
+ def test_initialization
17
+ assert(@anchor.from.col == 0)
18
+ assert(@anchor.from.row == 0)
19
+ assert(@anchor.width == 0)
20
+ assert(@anchor.height == 0)
21
+ end
22
+
23
+ def test_from
24
+ assert(@anchor.from.is_a?(Axlsx::Marker))
25
+ end
26
+
27
+ def test_object
28
+ assert(@anchor.object.is_a?(Axlsx::Pic))
29
+ end
30
+
31
+ def test_index
32
+ assert_equal(@anchor.index, @anchor.drawing.anchors.index(@anchor))
33
+ end
34
+
35
+ def test_width
36
+ assert_raise(ArgumentError) { @anchor.width = "a" }
37
+ assert_nothing_raised { @anchor.width = 600 }
38
+ assert_equal(@anchor.width, 600)
39
+ end
40
+
41
+ def test_height
42
+ assert_raise(ArgumentError) { @anchor.height = "a" }
43
+ assert_nothing_raised { @anchor.height = 400 }
44
+ assert_equal(400, @anchor.height)
45
+ end
46
+
47
+ def test_ext
48
+ ext = @anchor.send(:ext)
49
+ assert_equal(ext[:cx], (@anchor.width * 914400 / 96))
50
+ assert_equal(ext[:cy], (@anchor.height * 914400 / 96))
51
+ end
52
+
53
+ def test_options
54
+ assert_raise(ArgumentError, 'invalid start_at') { @ws.add_image :image_src=>@test_img, :start_at=>[1] }
55
+ i = @ws.add_image :image_src=>@test_img, :start_at => [1,2], :width=>100, :height=>200, :name=>"someimage", :descr=>"a neat image"
56
+
57
+ assert_equal("a neat image", i.descr)
58
+ assert_equal("someimage", i.name)
59
+ assert_equal(200, i.height)
60
+ assert_equal(100, i.width)
61
+ assert_equal(1, i.anchor.from.col)
62
+ assert_equal(2, i.anchor.from.row)
63
+ assert_equal(@test_img, i.image_src)
64
+ end
65
+
66
+ end
@@ -1,103 +1,103 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestPic < Test::Unit::TestCase
4
-
5
- def setup
6
- @p = Axlsx::Package.new
7
- ws = @p.workbook.add_worksheet
8
- @test_img = @test_img_jpg = File.dirname(__FILE__) + "/../fixtures/image1.jpeg"
9
- @test_img_png = File.dirname(__FILE__) + "/../fixtures/image1.png"
10
- @test_img_gif = File.dirname(__FILE__) + "/../fixtures/image1.gif"
11
- @test_img_fake = File.dirname(__FILE__) + "/../fixtures/image1_fake.jpg"
12
- @image = ws.add_image :image_src => @test_img, :hyperlink => 'https://github.com/randym', :tooltip => "What's up doc?", :opacity => 5
13
- end
14
-
15
- def test_initialization
16
- assert_equal(@p.workbook.images.first, @image)
17
- assert_equal(@image.file_name, 'image1.jpeg')
18
- assert_equal(@image.image_src, @test_img)
19
- end
20
-
21
- def test_anchor_swapping
22
- #swap from one cell to two cell when end_at is specified
23
- assert(@image.anchor.is_a?(Axlsx::OneCellAnchor))
24
- start_at = @image.anchor.from
25
- @image.end_at 10,5
26
- assert(@image.anchor.is_a?(Axlsx::TwoCellAnchor))
27
- assert_equal(start_at.col, @image.anchor.from.col)
28
- assert_equal(start_at.row, @image.anchor.from.row)
29
- assert_equal(10,@image.anchor.to.col)
30
- assert_equal(5, @image.anchor.to.row)
31
-
32
- #swap from two cell to one cell when width or height are specified
33
- @image.width = 200
34
- assert(@image.anchor.is_a?(Axlsx::OneCellAnchor))
35
- assert_equal(start_at.col, @image.anchor.from.col)
36
- assert_equal(start_at.row, @image.anchor.from.row)
37
- assert_equal(200, @image.width)
38
-
39
- end
40
-
41
- def test_hyperlink
42
- assert_equal(@image.hyperlink.href, "https://github.com/randym")
43
- @image.hyperlink = "http://axlsx.blogspot.com"
44
- assert_equal(@image.hyperlink.href, "http://axlsx.blogspot.com")
45
- end
46
-
47
- def test_name
48
- assert_raise(ArgumentError) { @image.name = 49 }
49
- assert_nothing_raised { @image.name = "unknown" }
50
- assert_equal(@image.name, "unknown")
51
- end
52
-
53
- def test_start_at
54
- assert_raise(ArgumentError) { @image.start_at "a", 1 }
55
- assert_nothing_raised { @image.start_at 6, 7 }
56
- assert_equal(@image.anchor.from.col, 6)
57
- assert_equal(@image.anchor.from.row, 7)
58
- end
59
-
60
- def test_width
61
- assert_raise(ArgumentError) { @image.width = "a" }
62
- assert_nothing_raised { @image.width = 600 }
63
- assert_equal(@image.width, 600)
64
- end
65
-
66
- def test_height
67
- assert_raise(ArgumentError) { @image.height = "a" }
68
- assert_nothing_raised { @image.height = 600 }
69
- assert_equal(600, @image.height)
70
- end
71
-
72
- def test_image_src
73
- assert_raise(ArgumentError) { @image.image_src = __FILE__ }
74
- assert_raise(ArgumentError) { @image.image_src = @test_img_fake }
75
- assert_nothing_raised { @image.image_src = @test_img_gif }
76
- assert_nothing_raised { @image.image_src = @test_img_png }
77
- assert_nothing_raised { @image.image_src = @test_img_jpg }
78
- assert_equal(@image.image_src, @test_img_jpg)
79
- end
80
-
81
- def test_descr
82
- assert_raise(ArgumentError) { @image.descr = 49 }
83
- assert_nothing_raised { @image.descr = "test" }
84
- assert_equal(@image.descr, "test")
85
- end
86
-
87
- def test_to_xml
88
- schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
89
- doc = Nokogiri::XML(@image.anchor.drawing.to_xml_string)
90
- errors = []
91
- schema.validate(doc).each do |error|
92
- errors.push error
93
- puts error.message
94
- end
95
- assert(errors.empty?, "error free validation")
96
- end
97
-
98
- def test_to_xml_has_correct_r_id
99
- r_id = @image.anchor.drawing.relationships.for(@image).Id
100
- doc = Nokogiri::XML(@image.anchor.drawing.to_xml_string)
101
- assert_equal r_id, doc.xpath("//a:blip").first["r:embed"]
102
- end
103
- end
1
+ require 'tc_helper.rb'
2
+
3
+ class TestPic < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @p = Axlsx::Package.new
7
+ ws = @p.workbook.add_worksheet
8
+ @test_img = @test_img_jpg = File.dirname(__FILE__) + "/../fixtures/image1.jpeg"
9
+ @test_img_png = File.dirname(__FILE__) + "/../fixtures/image1.png"
10
+ @test_img_gif = File.dirname(__FILE__) + "/../fixtures/image1.gif"
11
+ @test_img_fake = File.dirname(__FILE__) + "/../fixtures/image1_fake.jpg"
12
+ @image = ws.add_image :image_src => @test_img, :hyperlink => 'https://github.com/randym', :tooltip => "What's up doc?", :opacity => 5
13
+ end
14
+
15
+ def test_initialization
16
+ assert_equal(@p.workbook.images.first, @image)
17
+ assert_equal(@image.file_name, 'image1.jpeg')
18
+ assert_equal(@image.image_src, @test_img)
19
+ end
20
+
21
+ def test_anchor_swapping
22
+ #swap from one cell to two cell when end_at is specified
23
+ assert(@image.anchor.is_a?(Axlsx::OneCellAnchor))
24
+ start_at = @image.anchor.from
25
+ @image.end_at 10,5
26
+ assert(@image.anchor.is_a?(Axlsx::TwoCellAnchor))
27
+ assert_equal(start_at.col, @image.anchor.from.col)
28
+ assert_equal(start_at.row, @image.anchor.from.row)
29
+ assert_equal(10,@image.anchor.to.col)
30
+ assert_equal(5, @image.anchor.to.row)
31
+
32
+ #swap from two cell to one cell when width or height are specified
33
+ @image.width = 200
34
+ assert(@image.anchor.is_a?(Axlsx::OneCellAnchor))
35
+ assert_equal(start_at.col, @image.anchor.from.col)
36
+ assert_equal(start_at.row, @image.anchor.from.row)
37
+ assert_equal(200, @image.width)
38
+
39
+ end
40
+
41
+ def test_hyperlink
42
+ assert_equal(@image.hyperlink.href, "https://github.com/randym")
43
+ @image.hyperlink = "http://axlsx.blogspot.com"
44
+ assert_equal(@image.hyperlink.href, "http://axlsx.blogspot.com")
45
+ end
46
+
47
+ def test_name
48
+ assert_raise(ArgumentError) { @image.name = 49 }
49
+ assert_nothing_raised { @image.name = "unknown" }
50
+ assert_equal(@image.name, "unknown")
51
+ end
52
+
53
+ def test_start_at
54
+ assert_raise(ArgumentError) { @image.start_at "a", 1 }
55
+ assert_nothing_raised { @image.start_at 6, 7 }
56
+ assert_equal(@image.anchor.from.col, 6)
57
+ assert_equal(@image.anchor.from.row, 7)
58
+ end
59
+
60
+ def test_width
61
+ assert_raise(ArgumentError) { @image.width = "a" }
62
+ assert_nothing_raised { @image.width = 600 }
63
+ assert_equal(@image.width, 600)
64
+ end
65
+
66
+ def test_height
67
+ assert_raise(ArgumentError) { @image.height = "a" }
68
+ assert_nothing_raised { @image.height = 600 }
69
+ assert_equal(600, @image.height)
70
+ end
71
+
72
+ def test_image_src
73
+ assert_raise(ArgumentError) { @image.image_src = __FILE__ }
74
+ assert_raise(ArgumentError) { @image.image_src = @test_img_fake }
75
+ assert_nothing_raised { @image.image_src = @test_img_gif }
76
+ assert_nothing_raised { @image.image_src = @test_img_png }
77
+ assert_nothing_raised { @image.image_src = @test_img_jpg }
78
+ assert_equal(@image.image_src, @test_img_jpg)
79
+ end
80
+
81
+ def test_descr
82
+ assert_raise(ArgumentError) { @image.descr = 49 }
83
+ assert_nothing_raised { @image.descr = "test" }
84
+ assert_equal(@image.descr, "test")
85
+ end
86
+
87
+ def test_to_xml
88
+ schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
89
+ doc = Nokogiri::XML(@image.anchor.drawing.to_xml_string)
90
+ errors = []
91
+ schema.validate(doc).each do |error|
92
+ errors.push error
93
+ puts error.message
94
+ end
95
+ assert(errors.empty?, "error free validation")
96
+ end
97
+
98
+ def test_to_xml_has_correct_r_id
99
+ r_id = @image.anchor.drawing.relationships.for(@image).Id
100
+ doc = Nokogiri::XML(@image.anchor.drawing.to_xml_string)
101
+ assert_equal r_id, doc.xpath("//a:blip").first["r:embed"]
102
+ end
103
+ end
@@ -1,72 +1,72 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestPictureLocking < Test::Unit::TestCase
4
- def setup
5
- @item = Axlsx::PictureLocking.new
6
- end
7
- def teardown
8
- end
9
-
10
- def test_initialiation
11
- assert_equal(@item.instance_values.size, 1)
12
- assert_equal(@item.noChangeAspect, true)
13
- end
14
-
15
- def test_noGrp
16
- assert_raise(ArgumentError) { @item.noGrp = -1 }
17
- assert_nothing_raised { @item.noGrp = false }
18
- assert_equal(@item.noGrp, false )
19
- end
20
-
21
- def test_noRot
22
- assert_raise(ArgumentError) { @item.noRot = -1 }
23
- assert_nothing_raised { @item.noRot = false }
24
- assert_equal(@item.noRot, false )
25
- end
26
-
27
- def test_noChangeAspect
28
- assert_raise(ArgumentError) { @item.noChangeAspect = -1 }
29
- assert_nothing_raised { @item.noChangeAspect = false }
30
- assert_equal(@item.noChangeAspect, false )
31
- end
32
-
33
- def test_noMove
34
- assert_raise(ArgumentError) { @item.noMove = -1 }
35
- assert_nothing_raised { @item.noMove = false }
36
- assert_equal(@item.noMove, false )
37
- end
38
-
39
- def test_noResize
40
- assert_raise(ArgumentError) { @item.noResize = -1 }
41
- assert_nothing_raised { @item.noResize = false }
42
- assert_equal(@item.noResize, false )
43
- end
44
-
45
- def test_noEditPoints
46
- assert_raise(ArgumentError) { @item.noEditPoints = -1 }
47
- assert_nothing_raised { @item.noEditPoints = false }
48
- assert_equal(@item.noEditPoints, false )
49
- end
50
-
51
- def test_noAdjustHandles
52
- assert_raise(ArgumentError) { @item.noAdjustHandles = -1 }
53
- assert_nothing_raised { @item.noAdjustHandles = false }
54
- assert_equal(@item.noAdjustHandles, false )
55
- end
56
-
57
- def test_noChangeArrowheads
58
- assert_raise(ArgumentError) { @item.noChangeArrowheads = -1 }
59
- assert_nothing_raised { @item.noChangeArrowheads = false }
60
- assert_equal(@item.noChangeArrowheads, false )
61
- end
62
-
63
- def test_noChangeShapeType
64
- assert_raise(ArgumentError) { @item.noChangeShapeType = -1 }
65
- assert_nothing_raised { @item.noChangeShapeType = false }
66
- assert_equal(@item.noChangeShapeType, false )
67
- end
68
-
69
-
70
-
71
-
72
- end
1
+ require 'tc_helper.rb'
2
+
3
+ class TestPictureLocking < Test::Unit::TestCase
4
+ def setup
5
+ @item = Axlsx::PictureLocking.new
6
+ end
7
+ def teardown
8
+ end
9
+
10
+ def test_initialiation
11
+ assert_equal(@item.instance_values.size, 1)
12
+ assert_equal(@item.noChangeAspect, true)
13
+ end
14
+
15
+ def test_noGrp
16
+ assert_raise(ArgumentError) { @item.noGrp = -1 }
17
+ assert_nothing_raised { @item.noGrp = false }
18
+ assert_equal(@item.noGrp, false )
19
+ end
20
+
21
+ def test_noRot
22
+ assert_raise(ArgumentError) { @item.noRot = -1 }
23
+ assert_nothing_raised { @item.noRot = false }
24
+ assert_equal(@item.noRot, false )
25
+ end
26
+
27
+ def test_noChangeAspect
28
+ assert_raise(ArgumentError) { @item.noChangeAspect = -1 }
29
+ assert_nothing_raised { @item.noChangeAspect = false }
30
+ assert_equal(@item.noChangeAspect, false )
31
+ end
32
+
33
+ def test_noMove
34
+ assert_raise(ArgumentError) { @item.noMove = -1 }
35
+ assert_nothing_raised { @item.noMove = false }
36
+ assert_equal(@item.noMove, false )
37
+ end
38
+
39
+ def test_noResize
40
+ assert_raise(ArgumentError) { @item.noResize = -1 }
41
+ assert_nothing_raised { @item.noResize = false }
42
+ assert_equal(@item.noResize, false )
43
+ end
44
+
45
+ def test_noEditPoints
46
+ assert_raise(ArgumentError) { @item.noEditPoints = -1 }
47
+ assert_nothing_raised { @item.noEditPoints = false }
48
+ assert_equal(@item.noEditPoints, false )
49
+ end
50
+
51
+ def test_noAdjustHandles
52
+ assert_raise(ArgumentError) { @item.noAdjustHandles = -1 }
53
+ assert_nothing_raised { @item.noAdjustHandles = false }
54
+ assert_equal(@item.noAdjustHandles, false )
55
+ end
56
+
57
+ def test_noChangeArrowheads
58
+ assert_raise(ArgumentError) { @item.noChangeArrowheads = -1 }
59
+ assert_nothing_raised { @item.noChangeArrowheads = false }
60
+ assert_equal(@item.noChangeArrowheads, false )
61
+ end
62
+
63
+ def test_noChangeShapeType
64
+ assert_raise(ArgumentError) { @item.noChangeShapeType = -1 }
65
+ assert_nothing_raised { @item.noChangeShapeType = false }
66
+ assert_equal(@item.noChangeShapeType, false )
67
+ end
68
+
69
+
70
+
71
+
72
+ end
@@ -1,28 +1,28 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestPie3DChart < Test::Unit::TestCase
4
-
5
- def setup
6
- p = Axlsx::Package.new
7
- ws = p.workbook.add_worksheet
8
- @row = ws.add_row ["one", 1, Time.now]
9
- @chart = ws.add_chart Axlsx::Pie3DChart, :title => "fishery"
10
- end
11
-
12
- def teardown
13
- end
14
-
15
- def test_initialization
16
- assert_equal(@chart.view_3D.rot_x, 30, "view 3d default rot_x incorrect")
17
- assert_equal(@chart.view_3D.perspective, 30, "view_3d default perspective incorrect")
18
- assert_equal(@chart.series_type, Axlsx::PieSeries, "series type incorrect")
19
- end
20
-
21
- def test_to_xml
22
- schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
23
- doc = Nokogiri::XML(@chart.to_xml_string)
24
- errors = schema.validate(doc).map {|error| puts error.message; error }
25
- assert(errors.empty?, "error free validation")
26
- end
27
-
28
- end
1
+ require 'tc_helper.rb'
2
+
3
+ class TestPie3DChart < Test::Unit::TestCase
4
+
5
+ def setup
6
+ p = Axlsx::Package.new
7
+ ws = p.workbook.add_worksheet
8
+ @row = ws.add_row ["one", 1, Time.now]
9
+ @chart = ws.add_chart Axlsx::Pie3DChart, :title => "fishery"
10
+ end
11
+
12
+ def teardown
13
+ end
14
+
15
+ def test_initialization
16
+ assert_equal(@chart.view_3D.rot_x, 30, "view 3d default rot_x incorrect")
17
+ assert_equal(@chart.view_3D.perspective, 30, "view_3d default perspective incorrect")
18
+ assert_equal(@chart.series_type, Axlsx::PieSeries, "series type incorrect")
19
+ end
20
+
21
+ def test_to_xml
22
+ schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
23
+ doc = Nokogiri::XML(@chart.to_xml_string)
24
+ errors = schema.validate(doc).map {|error| puts error.message; error }
25
+ assert(errors.empty?, "error free validation")
26
+ end
27
+
28
+ end
@@ -1,33 +1,33 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestPieSeries < Test::Unit::TestCase
4
-
5
- def setup
6
- p = Axlsx::Package.new
7
- @ws = p.workbook.add_worksheet :name=>"hmmm"
8
- chart = @ws.add_chart Axlsx::Pie3DChart, :title => "fishery"
9
- @series = chart.add_series :data=>[0,1,2], :labels=>["zero", "one", "two"], :title=>"bob", :colors => ["FF0000", "00FF00", "0000FF"]
10
- end
11
-
12
- def test_initialize
13
- assert_equal(@series.title.text, "bob", "series title has been applied")
14
- assert_equal(@series.labels.class, Axlsx::AxDataSource)
15
- assert_equal(@series.data.class, Axlsx::NumDataSource)
16
- assert_equal(@series.explosion, nil, "series shape has been applied")
17
- end
18
-
19
- def test_explosion
20
- assert_raise(ArgumentError, "require valid explosion") { @series.explosion = :lots }
21
- assert_nothing_raised("allow valid explosion") { @series.explosion = 20 }
22
- assert(@series.explosion == 20)
23
- # issue 58 - explosion caused to_xml_string to fail - now tested
24
- assert_nothing_raised("allow to_xml_string") { @series.to_xml_string }
25
- end
26
-
27
- def test_to_xml_string
28
- doc = Nokogiri::XML(@series.to_xml_string)
29
- assert(doc.xpath("//srgbClr[@val='#{@series.colors[0]}']"))
30
- end
31
- #TODO test unique serialization parts
32
-
33
- end
1
+ require 'tc_helper.rb'
2
+
3
+ class TestPieSeries < Test::Unit::TestCase
4
+
5
+ def setup
6
+ p = Axlsx::Package.new
7
+ @ws = p.workbook.add_worksheet :name=>"hmmm"
8
+ chart = @ws.add_chart Axlsx::Pie3DChart, :title => "fishery"
9
+ @series = chart.add_series :data=>[0,1,2], :labels=>["zero", "one", "two"], :title=>"bob", :colors => ["FF0000", "00FF00", "0000FF"]
10
+ end
11
+
12
+ def test_initialize
13
+ assert_equal(@series.title.text, "bob", "series title has been applied")
14
+ assert_equal(@series.labels.class, Axlsx::AxDataSource)
15
+ assert_equal(@series.data.class, Axlsx::NumDataSource)
16
+ assert_equal(@series.explosion, nil, "series shape has been applied")
17
+ end
18
+
19
+ def test_explosion
20
+ assert_raise(ArgumentError, "require valid explosion") { @series.explosion = :lots }
21
+ assert_nothing_raised("allow valid explosion") { @series.explosion = 20 }
22
+ assert(@series.explosion == 20)
23
+ # issue 58 - explosion caused to_xml_string to fail - now tested
24
+ assert_nothing_raised("allow to_xml_string") { @series.to_xml_string }
25
+ end
26
+
27
+ def test_to_xml_string
28
+ doc = Nokogiri::XML(@series.to_xml_string)
29
+ assert(doc.xpath("//srgbClr[@val='#{@series.colors[0]}']"))
30
+ end
31
+ #TODO test unique serialization parts
32
+
33
+ end