thinreports 0.7.6 → 0.8.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 (277) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +3 -5
  3. data/.travis.yml +8 -4
  4. data/CHANGELOG.md +220 -0
  5. data/Gemfile +2 -9
  6. data/MIT-LICENSE +1 -1
  7. data/README.md +286 -0
  8. data/Rakefile +38 -8
  9. data/examples/character_spacing/character_spacing.rb +8 -0
  10. data/examples/character_spacing/character_spacing.tlf +1 -0
  11. data/examples/dynamic_image/dynamic_image.rb +31 -0
  12. data/examples/dynamic_image/dynamic_image.tlf +1 -0
  13. data/examples/dynamic_style/dynamic_style.rb +150 -0
  14. data/examples/dynamic_style/dynamic_style.tlf +1 -0
  15. data/examples/dynamic_style/dynamic_style_in_list.tlf +1 -0
  16. data/examples/eudc/eudc.rb +20 -0
  17. data/examples/eudc/eudc.tlf +1 -0
  18. data/examples/helper.rb +50 -0
  19. data/examples/hidden_shapes/hidden_shapes.rb +9 -0
  20. data/examples/hidden_shapes/hidden_shapes.tlf +1 -0
  21. data/examples/list_events/list_events.rb +59 -0
  22. data/examples/list_events/list_events_0_7_7.tlf +1 -0
  23. data/examples/list_events/list_events_0_8.tlf +1 -0
  24. data/examples/list_manual_generation/list_manual_generation.rb +22 -0
  25. data/examples/list_manual_generation/list_manual_generation.tlf +1 -0
  26. data/examples/list_page_number/list_page_number.rb +17 -0
  27. data/examples/list_page_number/list_page_number.tlf +1 -0
  28. data/examples/page_number/page_number.rb +33 -0
  29. data/examples/page_number/page_number.tlf +1 -0
  30. data/examples/password_setting/password_setting.rb +10 -0
  31. data/examples/password_setting/password_setting.tlf +1 -0
  32. data/examples/report_callbacks/report_callbacks.rb +31 -0
  33. data/examples/report_callbacks/report_callbacks.tlf +1 -0
  34. data/examples/single_line_tblock/single_line_tblock.rb +13 -0
  35. data/examples/single_line_tblock/single_line_tblock.tlf +1 -0
  36. data/examples/tblock_overflow/tblock_overflow.rb +20 -0
  37. data/examples/tblock_overflow/tblock_overflow.tlf +1 -0
  38. data/examples/tblock_styles/font_size.tlf +1 -0
  39. data/examples/tblock_styles/tblock_styles.rb +43 -0
  40. data/examples/tblock_styles/tblock_styles.tlf +1 -0
  41. data/examples/text_align/text_align.rb +8 -0
  42. data/examples/text_align/text_align.tlf +1 -0
  43. data/examples/typeB_page_size/B4_ISO.tlf +1 -0
  44. data/examples/typeB_page_size/B4_JIS.tlf +1 -0
  45. data/examples/typeB_page_size/typeB_page_size.rb +17 -0
  46. data/examples/word_wrap/word_wrap.rb +26 -0
  47. data/examples/word_wrap/word_wrap.tlf +1 -0
  48. data/lib/thinreports/config.rb +30 -10
  49. data/lib/thinreports/core/errors.rb +23 -20
  50. data/lib/thinreports/core/events.rb +18 -19
  51. data/lib/thinreports/core/format/base.rb +20 -25
  52. data/lib/thinreports/core/format/builder.rb +19 -27
  53. data/lib/thinreports/core/shape/base/interface.rb +15 -15
  54. data/lib/thinreports/core/shape/base/internal.rb +15 -20
  55. data/lib/thinreports/core/shape/base.rb +4 -5
  56. data/lib/thinreports/core/shape/basic/block_format.rb +3 -4
  57. data/lib/thinreports/core/shape/basic/block_interface.rb +9 -4
  58. data/lib/thinreports/core/shape/basic/block_internal.rb +9 -10
  59. data/lib/thinreports/core/shape/basic/format.rb +11 -10
  60. data/lib/thinreports/core/shape/basic/interface.rb +3 -3
  61. data/lib/thinreports/core/shape/basic/internal.rb +9 -6
  62. data/lib/thinreports/core/shape/basic.rb +1 -1
  63. data/lib/thinreports/core/shape/image_block/format.rb +5 -6
  64. data/lib/thinreports/core/shape/image_block/interface.rb +9 -7
  65. data/lib/thinreports/core/shape/image_block/internal.rb +5 -6
  66. data/lib/thinreports/core/shape/image_block.rb +1 -1
  67. data/lib/thinreports/core/shape/list/configuration.rb +37 -16
  68. data/lib/thinreports/core/shape/list/events.rb +11 -11
  69. data/lib/thinreports/core/shape/list/format.rb +27 -28
  70. data/lib/thinreports/core/shape/list/manager.rb +135 -95
  71. data/lib/thinreports/core/shape/list/page.rb +57 -51
  72. data/lib/thinreports/core/shape/list/page_state.rb +19 -17
  73. data/lib/thinreports/core/shape/list/section_format.rb +14 -15
  74. data/lib/thinreports/core/shape/list/section_interface.rb +15 -16
  75. data/lib/thinreports/core/shape/list/section_internal.rb +7 -8
  76. data/lib/thinreports/core/shape/list/store.rb +10 -11
  77. data/lib/thinreports/core/shape/list.rb +1 -1
  78. data/lib/thinreports/core/shape/manager/format.rb +10 -11
  79. data/lib/thinreports/core/shape/manager/internal.rb +22 -21
  80. data/lib/thinreports/core/shape/manager/target.rb +63 -34
  81. data/lib/thinreports/core/shape/manager.rb +1 -1
  82. data/lib/thinreports/core/shape/page_number/format.rb +25 -0
  83. data/lib/thinreports/core/shape/page_number/interface.rb +27 -0
  84. data/lib/thinreports/core/shape/page_number/internal.rb +57 -0
  85. data/lib/thinreports/core/shape/page_number.rb +15 -0
  86. data/lib/thinreports/core/shape/style/base.rb +29 -29
  87. data/lib/thinreports/core/shape/style/basic.rb +1 -1
  88. data/lib/thinreports/core/shape/style/graphic.rb +10 -25
  89. data/lib/thinreports/core/shape/style/text.rb +41 -31
  90. data/lib/thinreports/core/shape/style.rb +1 -1
  91. data/lib/thinreports/core/shape/text/format.rb +8 -9
  92. data/lib/thinreports/core/shape/text/interface.rb +2 -2
  93. data/lib/thinreports/core/shape/text/internal.rb +6 -7
  94. data/lib/thinreports/core/shape/text.rb +1 -1
  95. data/lib/thinreports/core/shape/text_block/format.rb +17 -17
  96. data/lib/thinreports/core/shape/text_block/formatter/basic.rb +13 -12
  97. data/lib/thinreports/core/shape/text_block/formatter/datetime.rb +8 -9
  98. data/lib/thinreports/core/shape/text_block/formatter/number.rb +11 -12
  99. data/lib/thinreports/core/shape/text_block/formatter/padding.rb +9 -32
  100. data/lib/thinreports/core/shape/text_block/formatter.rb +7 -8
  101. data/lib/thinreports/core/shape/text_block/interface.rb +2 -2
  102. data/lib/thinreports/core/shape/text_block/internal.rb +19 -20
  103. data/lib/thinreports/core/shape/text_block.rb +1 -1
  104. data/lib/thinreports/core/shape.rb +11 -13
  105. data/lib/thinreports/core/utils.rb +33 -32
  106. data/lib/thinreports/generator/base.rb +15 -24
  107. data/lib/thinreports/generator/configuration.rb +10 -9
  108. data/lib/thinreports/generator/pdf/configuration.rb +11 -6
  109. data/lib/thinreports/generator/pdf/document/draw_shape.rb +41 -32
  110. data/lib/thinreports/generator/pdf/document/font.rb +53 -44
  111. data/lib/thinreports/generator/pdf/document/graphics/attributes.rb +34 -25
  112. data/lib/thinreports/generator/pdf/document/graphics/basic.rb +25 -25
  113. data/lib/thinreports/generator/pdf/document/graphics/image.rb +15 -15
  114. data/lib/thinreports/generator/pdf/document/graphics/text.rb +43 -41
  115. data/lib/thinreports/generator/pdf/document/graphics.rb +8 -9
  116. data/lib/thinreports/generator/pdf/document/page.rb +37 -23
  117. data/lib/thinreports/generator/pdf/document/parse_color.rb +9 -10
  118. data/lib/thinreports/generator/pdf/document/parse_svg.rb +14 -15
  119. data/lib/thinreports/generator/pdf/document.rb +28 -28
  120. data/lib/thinreports/generator/pdf/drawer/base.rb +16 -22
  121. data/lib/thinreports/generator/pdf/drawer/list.rb +39 -21
  122. data/lib/thinreports/generator/pdf/drawer/list_section.rb +17 -18
  123. data/lib/thinreports/generator/pdf/drawer/page.rb +37 -26
  124. data/lib/thinreports/generator/pdf/prawn_ext.rb +18 -17
  125. data/lib/thinreports/generator/pdf.rb +28 -31
  126. data/lib/thinreports/generator.rb +6 -8
  127. data/lib/thinreports/layout/base.rb +24 -36
  128. data/lib/thinreports/layout/configuration.rb +11 -9
  129. data/lib/thinreports/layout/format.rb +26 -31
  130. data/lib/thinreports/layout/version.rb +8 -9
  131. data/lib/thinreports/layout.rb +2 -2
  132. data/lib/thinreports/report/base.rb +117 -109
  133. data/lib/thinreports/report/events.rb +5 -5
  134. data/lib/thinreports/report/internal.rb +48 -38
  135. data/lib/thinreports/{core → report}/page.rb +42 -32
  136. data/lib/thinreports/report.rb +10 -14
  137. data/lib/thinreports/version.rb +2 -3
  138. data/lib/thinreports.rb +14 -2
  139. data/test/data/font.ttf +0 -0
  140. data/test/data/layout_block.tlf +1 -0
  141. data/test/data/layout_list.tlf +1 -0
  142. data/test/data/layout_list_noheader.tlf +1 -0
  143. data/test/data/layout_text1.tlf +1 -0
  144. data/test/data/layout_text2.tlf +1 -0
  145. data/test/test_helper.rb +74 -0
  146. data/test/tmp/.gitkeep +0 -0
  147. data/test/unit/core/format/test_base.rb +14 -14
  148. data/test/unit/core/format/test_builder.rb +20 -25
  149. data/test/unit/core/shape/base/test_internal.rb +34 -37
  150. data/test/unit/core/shape/basic/test_basic_format.rb +4 -4
  151. data/test/unit/core/shape/basic/test_basic_interface.rb +15 -13
  152. data/test/unit/core/shape/basic/test_basic_internal.rb +19 -16
  153. data/test/unit/core/shape/basic/test_format.rb +4 -4
  154. data/test/unit/core/shape/basic/test_interface.rb +36 -46
  155. data/test/unit/core/shape/basic/test_internal.rb +29 -18
  156. data/test/unit/core/shape/image_block/test_format.rb +5 -5
  157. data/test/unit/core/shape/image_block/test_interface.rb +17 -16
  158. data/test/unit/core/shape/image_block/test_internal.rb +19 -16
  159. data/test/unit/core/shape/list/test_configuration.rb +50 -33
  160. data/test/unit/core/shape/list/test_events.rb +7 -7
  161. data/test/unit/core/shape/list/test_format.rb +16 -18
  162. data/test/unit/core/shape/list/test_manager.rb +15 -5
  163. data/test/unit/core/shape/list/test_page.rb +80 -22
  164. data/test/unit/core/shape/list/test_page_state.rb +13 -13
  165. data/test/unit/core/shape/list/test_section_format.rb +16 -17
  166. data/test/unit/core/shape/list/test_section_interface.rb +30 -22
  167. data/test/unit/core/shape/list/test_section_internal.rb +21 -19
  168. data/test/unit/core/shape/list/test_store.rb +7 -7
  169. data/test/unit/core/shape/manager/test_format.rb +11 -15
  170. data/test/unit/core/shape/manager/test_internal.rb +9 -9
  171. data/test/unit/core/shape/manager/test_target.rb +85 -57
  172. data/test/unit/core/shape/page_number/test_format.rb +73 -0
  173. data/test/unit/core/shape/page_number/test_interface.rb +33 -0
  174. data/test/unit/core/shape/page_number/test_internal.rb +81 -0
  175. data/test/unit/core/shape/styles/test_base.rb +9 -9
  176. data/test/unit/core/shape/styles/test_basic.rb +5 -5
  177. data/test/unit/core/shape/styles/test_graphic.rb +19 -33
  178. data/test/unit/core/shape/styles/test_text.rb +29 -7
  179. data/test/unit/core/shape/text/test_format.rb +6 -6
  180. data/test/unit/core/shape/text/test_internal.rb +11 -12
  181. data/test/unit/core/shape/text_block/formatter/test_basic.rb +16 -16
  182. data/test/unit/core/shape/text_block/formatter/test_datetime.rb +22 -20
  183. data/test/unit/core/shape/text_block/formatter/test_number.rb +34 -34
  184. data/test/unit/core/shape/text_block/formatter/test_padding.rb +44 -44
  185. data/test/unit/core/shape/text_block/test_format.rb +13 -8
  186. data/test/unit/core/shape/text_block/test_formatter.rb +17 -17
  187. data/test/unit/core/shape/text_block/test_interface.rb +37 -20
  188. data/test/unit/core/shape/text_block/test_internal.rb +38 -38
  189. data/test/unit/core/test_events.rb +10 -8
  190. data/test/unit/core/test_shape.rb +11 -7
  191. data/test/unit/core/test_utils.rb +68 -0
  192. data/test/unit/generator/pdf/document/graphics/test_attributes.rb +10 -4
  193. data/test/unit/generator/pdf/document/graphics/test_text.rb +60 -53
  194. data/test/unit/generator/pdf/document/test_draw_shape.rb +14 -6
  195. data/test/unit/generator/pdf/document/test_font.rb +79 -58
  196. data/test/unit/generator/pdf/document/test_graphics.rb +18 -19
  197. data/test/unit/generator/pdf/document/test_page.rb +68 -43
  198. data/test/unit/generator/pdf/document/test_parse_color.rb +5 -5
  199. data/test/unit/generator/pdf/test_configuration.rb +16 -9
  200. data/test/unit/generator/pdf/test_document.rb +8 -16
  201. data/test/unit/generator/test_base.rb +31 -42
  202. data/test/unit/generator/test_configuration.rb +6 -6
  203. data/test/unit/generator/test_pdf.rb +15 -21
  204. data/test/unit/layout/test_base.rb +34 -79
  205. data/test/unit/layout/test_configuration.rb +12 -37
  206. data/test/unit/layout/test_format.rb +36 -39
  207. data/test/unit/layout/test_version.rb +4 -4
  208. data/test/unit/report/test_base.rb +160 -192
  209. data/test/unit/report/test_events.rb +4 -4
  210. data/test/unit/report/test_internal.rb +102 -82
  211. data/test/unit/test_config.rb +31 -12
  212. data/test/unit/test_layout.rb +7 -7
  213. data/test/unit/test_report.rb +12 -24
  214. data/thinreports.gemspec +23 -26
  215. metadata +118 -181
  216. data/.yardopts +0 -1
  217. data/LICENSE +0 -1
  218. data/README.rdoc +0 -167
  219. data/doc/yardoc_templates/default/layout/html/footer.erb +0 -10
  220. data/lib/thinreports/core/ext/array.rb +0 -19
  221. data/lib/thinreports/core/ext/hash.rb +0 -19
  222. data/lib/thinreports/core/ext/object.rb +0 -25
  223. data/lib/thinreports/core/ext.rb +0 -5
  224. data/lib/thinreports/core/format.rb +0 -14
  225. data/lib/thinreports/core/ordered_hash.rb +0 -39
  226. data/lib/thinreports/core.rb +0 -20
  227. data/lib/thinreports/generator/pdf/drawer.rb +0 -16
  228. data/tasks/doc.rake +0 -13
  229. data/tasks/test.rake +0 -56
  230. data/test/benchmark/basic_estimate.tlf +0 -1
  231. data/test/benchmark/bench_basic_estimate.rb +0 -95
  232. data/test/case/character_spacing/character_spacing.rb +0 -7
  233. data/test/case/character_spacing/character_spacing.tlf +0 -1
  234. data/test/case/dynamic_image/dynamic_image.rb +0 -41
  235. data/test/case/dynamic_image/dynamic_image.tlf +0 -1
  236. data/test/case/dynamic_style/dynamic_style.rb +0 -154
  237. data/test/case/dynamic_style/dynamic_style.tlf +0 -1
  238. data/test/case/dynamic_style/dynamic_style_in_list.tlf +0 -1
  239. data/test/case/eudc/eudc.rb +0 -20
  240. data/test/case/eudc/eudc.tlf +0 -1
  241. data/test/case/helper.rb +0 -29
  242. data/test/case/hidden_shapes/hidden_shapes.rb +0 -13
  243. data/test/case/hidden_shapes/hidden_shapes.tlf +0 -1
  244. data/test/case/list_events/list_events.rb +0 -32
  245. data/test/case/list_events/list_events.tlf +0 -1
  246. data/test/case/list_header_inheriting/list_header_inheriting.rb +0 -17
  247. data/test/case/list_header_inheriting/list_header_inheriting.tlf +0 -1
  248. data/test/case/list_manual_generation/list_manual_generation.rb +0 -22
  249. data/test/case/list_manual_generation/list_manual_generation.tlf +0 -1
  250. data/test/case/single_line_tblock/single_line_tblock.rb +0 -15
  251. data/test/case/single_line_tblock/single_line_tblock.tlf +0 -1
  252. data/test/case/tblock_overflow/tblock_overflow.rb +0 -20
  253. data/test/case/tblock_overflow/tblock_overflow.tlf +0 -1
  254. data/test/case/tblock_styles/tblock_styles.rb +0 -27
  255. data/test/case/tblock_styles/tblock_styles.tlf +0 -1
  256. data/test/case/text_align/text_align.rb +0 -9
  257. data/test/case/text_align/text_align.tlf +0 -1
  258. data/test/unit/core/ext/array_spec.rb +0 -29
  259. data/test/unit/core/ext/hash_spec.rb +0 -29
  260. data/test/unit/core/ext/object_spec.rb +0 -30
  261. data/test/unit/core/ordered_hash_spec.rb +0 -51
  262. data/test/unit/core/shape/base/test_interface.rb +0 -52
  263. data/test/unit/core/utils_spec.rb +0 -56
  264. data/test/unit/data/basic_layout1.tlf +0 -1
  265. data/test/unit/data/basic_layout2.tlf +0 -1
  266. data/test/unit/data/basic_list_layout.tlf +0 -1
  267. data/test/unit/data/basic_list_noheader_layout.tlf +0 -1
  268. data/test/unit/helper.rb +0 -65
  269. /data/{test/case → examples}/dynamic_image/img200x100.png +0 -0
  270. /data/{test/case → examples}/dynamic_image/img50x50.png +0 -0
  271. /data/{test/case → examples}/dynamic_style/image.png +0 -0
  272. /data/{test/case → examples}/eudc/eudc.ttf +0 -0
  273. /data/{resources/fonts → fonts}/IPA_Font_License_Agreement_v1.0.txt +0 -0
  274. /data/{resources/fonts → fonts}/ipag.ttf +0 -0
  275. /data/{resources/fonts → fonts}/ipagp.ttf +0 -0
  276. /data/{resources/fonts → fonts}/ipam.ttf +0 -0
  277. /data/{resources/fonts → fonts}/ipamp.ttf +0 -0
@@ -1,9 +1,9 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'test/unit/helper'
3
+ require 'test_helper'
4
4
 
5
- class ThinReports::Core::Shape::Basic::TestFormat < MiniTest::Unit::TestCase
6
- include ThinReports::TestHelpers
5
+ class Thinreports::Core::Shape::Basic::TestFormat < Minitest::Test
6
+ include Thinreports::TestHelper
7
7
 
8
8
  TEST_BASIC_FORMAT = {
9
9
  "type" => "s-rect",
@@ -28,7 +28,7 @@ class ThinReports::Core::Shape::Basic::TestFormat < MiniTest::Unit::TestCase
28
28
  }
29
29
 
30
30
  # Alias
31
- Format = ThinReports::Core::Shape::Basic::Format
31
+ Format = Thinreports::Core::Shape::Basic::Format
32
32
 
33
33
  def test_build_basic_format
34
34
  build_basic_format
@@ -1,118 +1,108 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'test/unit/helper'
3
+ require 'test_helper'
4
4
 
5
- class ThinReports::Core::Shape::Basic::TestInterface < MiniTest::Unit::TestCase
6
- include ThinReports::TestHelpers
5
+ class Thinreports::Core::Shape::Basic::TestInterface < Minitest::Test
6
+ include Thinreports::TestHelper
7
7
 
8
8
  # Alias
9
- Basic = ThinReports::Core::Shape::Basic
10
-
9
+ Basic = Thinreports::Core::Shape::Basic
10
+
11
11
  def create_interface(format_config = {})
12
- Basic::Interface.new(flexmock('parent'),
13
- Basic::Format.new(format_config))
14
- end
15
-
16
- def setup
17
- format = flexmock('format')
18
- format.should_receive(:display? => true)
19
-
20
- @basic = Basic::Interface.new(flexmock('parent'), format)
12
+ report = Thinreports::Report.new layout: data_file('layout_text1')
13
+ parent = report.start_new_page
14
+
15
+ Basic::Interface.new parent, Basic::Format.new(format_config)
21
16
  end
22
-
17
+
23
18
  def test_id_should_return_id_with_reference_to_internal
24
19
  basic = create_interface('id' => 'foo')
25
20
  assert_equal basic.id, basic.internal.id
26
21
  end
27
-
22
+
28
23
  def test_id_should_return_cloned_id
29
24
  basic = create_interface('id' => 'basic-id')
30
25
  refute_same basic.id, basic.internal.id
31
26
  end
32
-
27
+
33
28
  def test_type_should_operate_as_delegator_of_internal
34
29
  basic = create_interface('type' => 's-rect')
35
30
  assert_same basic.type, basic.internal.type
36
31
  end
37
-
32
+
38
33
  def test_visible_asker_should_return_result_with_reference_to_style_of_internal
39
34
  basic = create_interface('display' => 'false')
40
35
  assert_equal basic.visible?, basic.internal.style.visible
41
36
  end
42
-
37
+
43
38
  def test_visible_should_properly_set_visibility_to_style_of_internal
44
39
  basic = create_interface('display' => 'false')
45
40
  basic.visible(true)
46
-
41
+
47
42
  assert_equal basic.internal.style.visible, true
48
43
  end
49
-
44
+
50
45
  def test_style_should_operate_as_reader_when_one_argument_is_given
51
46
  basic = create_interface('svg' => {'attrs' => {'fill' => '#ff0000'}})
52
-
47
+
53
48
  assert_equal basic.style(:fill_color), '#ff0000'
54
49
  end
55
-
50
+
56
51
  def test_style_should_operate_as_writer_when_two_arguments_are_given
57
52
  basic = create_interface
58
53
  basic.style(:border_color, '#000000')
59
-
54
+
60
55
  assert_equal basic.style(:border_color), '#000000'
61
56
  end
62
-
57
+
63
58
  def test_style_should_operate_as_writer_for_border_style_when_three_arguments_are_given
64
59
  basic = create_interface
65
60
  basic.style(:border, 1, '#ffffff')
66
-
61
+
67
62
  assert_equal basic.style(:border), [1, '#ffffff']
68
63
  end
69
-
64
+
70
65
  def test_style_should_return_self_when_two_arguments_are_given
71
66
  assert_instance_of Basic::Interface, create_interface.style(:border_width, 1)
72
67
  end
73
-
68
+
74
69
  def test_style_should_return_self_when_three_arguments_are_given
75
70
  assert_instance_of Basic::Interface, create_interface.style(:border, 1, '#000000')
76
71
  end
77
-
72
+
78
73
  def test_styles_should_properly_set_the_specified_styles_as_Hash
79
74
  basic = create_interface
80
- basic.styles(:fill_color => '#ff0000',
81
- :border_color => '#000000',
82
- :border_width => 5,
83
- :visible => false)
84
-
75
+ basic.styles(fill_color: '#ff0000',
76
+ border_color: '#000000',
77
+ border_width: 5,
78
+ visible: false)
79
+
85
80
  assert_equal [basic.style(:fill_color),
86
81
  basic.style(:border_color),
87
82
  basic.style(:border_width),
88
83
  basic.style(:visible)],
89
84
  ['#ff0000', '#000000', 5, false]
90
85
  end
91
-
92
- def test_styles_should_return_self
93
- basic = create_interface
94
- assert_instance_of Basic::Interface, basic.styles(:fill => '#ff0000')
95
- end
96
-
86
+
97
87
  def test_hide_should_properly_set_false_to_visibility
98
88
  basic = create_interface
99
89
  basic.hide
100
-
90
+
101
91
  assert_equal basic.visible?, false
102
92
  end
103
-
93
+
104
94
  def test_hide_should_return_self
105
95
  assert_instance_of Basic::Interface, create_interface.hide
106
96
  end
107
-
97
+
108
98
  def test_show_should_properly_set_true_to_visibility
109
99
  basic = create_interface
110
100
  basic.show
111
-
101
+
112
102
  assert_equal basic.visible?, true
113
103
  end
114
-
104
+
115
105
  def test_show_should_return_self
116
106
  assert_instance_of Basic::Interface, create_interface.show
117
107
  end
118
- end
108
+ end
@@ -1,50 +1,61 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'test/unit/helper'
3
+ require 'test_helper'
4
+
5
+ class Thinreports::Core::Shape::Basic::TestInternal < Minitest::Test
6
+ include Thinreports::TestHelper
4
7
 
5
- class ThinReports::Core::Shape::Basic::TestInternal < MiniTest::Unit::TestCase
6
- include ThinReports::TestHelpers
7
-
8
8
  # Alias
9
- Basic = ThinReports::Core::Shape::Basic
10
-
9
+ Basic = Thinreports::Core::Shape::Basic
10
+
11
11
  def create_internal(format_config = {})
12
- Basic::Internal.new(flexmock('parent'),
13
- Basic::Format.new(format_config))
12
+ report = Thinreports::Report.new layout: data_file('layout_text1')
13
+ parent = report.start_new_page
14
+
15
+ Basic::Internal.new report.page, Basic::Format.new(format_config)
14
16
  end
15
-
17
+
16
18
  def test_id_should_operate_as_delegator_of_format
17
19
  basic = create_internal('id' => 'basic-id')
18
20
  assert_same basic.id, basic.format.id
19
21
  end
20
-
22
+
21
23
  def test_svg_tag_should_operate_as_delegator_of_format
22
24
  basic = create_internal('svg' => {'tag' => 'rect'})
23
25
  assert_same basic.svg_tag, basic.format.svg_tag
24
26
  end
25
-
27
+
26
28
  def test_type_should_operate_as_delegator_of_format
27
29
  basic = create_internal('type' => 's-ellipse')
28
30
  assert_same basic.type, basic.format.type
29
31
  end
30
-
32
+
31
33
  def test_style_should_return_instance_of_StyleGraphic
32
- assert_instance_of ThinReports::Core::Shape::Style::Graphic,
34
+ assert_instance_of Thinreports::Core::Shape::Style::Graphic,
33
35
  create_internal.style
34
36
  end
35
-
37
+
36
38
  def test_type_of_asker_should_already_return_true_when_the_specified_type_is_basic
37
39
  assert_equal create_internal.type_of?(:basic), true
38
40
  end
39
-
41
+
40
42
  def test_type_of_asker_should_return_true_when_the_specified_type_equal_self_type_name
41
43
  result = []
42
-
44
+
43
45
  result << create_internal('type' => 's-rect').type_of?(:rect)
44
46
  result << create_internal('type' => 's-ellipse').type_of?(:ellipse)
45
47
  result << create_internal('type' => 's-line').type_of?(:line)
46
48
  result << create_internal('type' => 's-image').type_of?(:image)
47
-
49
+
48
50
  assert_equal result.all?, true
49
51
  end
50
- end
52
+
53
+ def test_identifier
54
+ basic = create_internal 'id' => 'basic-id'
55
+
56
+ assert_equal 'basic-id', basic.identifier
57
+
58
+ basic.style.stubs(identifier: 'style-identifier')
59
+ assert_equal basic.identifier, 'basic-idstyle-identifier'
60
+ end
61
+ end
@@ -1,9 +1,9 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'test/unit/helper'
3
+ require 'test_helper'
4
4
 
5
- class ThinReports::Core::Shape::ImageBlock::TestFormat < MiniTest::Unit::TestCase
6
- include ThinReports::TestHelpers
5
+ class Thinreports::Core::Shape::ImageBlock::TestFormat < Minitest::Test
6
+ include Thinreports::TestHelper
7
7
 
8
8
  TEST_IMAGE_BLOCK_FORMAT = {
9
9
  "type" => "s-iblock",
@@ -48,11 +48,11 @@ class ThinReports::Core::Shape::ImageBlock::TestFormat < MiniTest::Unit::TestCas
48
48
  end
49
49
 
50
50
  def build_format
51
- ThinReports::Core::Shape::ImageBlock::Format.build(TEST_IMAGE_BLOCK_FORMAT)
51
+ Thinreports::Core::Shape::ImageBlock::Format.build(TEST_IMAGE_BLOCK_FORMAT)
52
52
  end
53
53
 
54
54
  def format(data)
55
- ThinReports::Core::Shape::ImageBlock::Format.new(data)
55
+ Thinreports::Core::Shape::ImageBlock::Format.new(data)
56
56
  end
57
57
 
58
58
  end
@@ -1,23 +1,24 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'test/unit/helper'
3
+ require 'test_helper'
4
+
5
+ class Thinreports::Core::Shape::ImageBlock::TestInterface < Minitest::Test
6
+ include Thinreports::TestHelper
7
+
8
+ ImageBlock = Thinreports::Core::Shape::ImageBlock
4
9
 
5
- class ThinReports::Core::Shape::ImageBlock::TestInterface < MiniTest::Unit::TestCase
6
- include ThinReports::TestHelpers
7
-
8
- ImageBlock = ThinReports::Core::Shape::ImageBlock
9
-
10
10
  def setup
11
- @interface = ImageBlock::Interface.new(flexmock('parent'),
12
- ImageBlock::Format.new({}))
11
+ @report = new_report 'layout_block.tlf'
12
+ @page = @report.start_new_page
13
13
  end
14
-
15
- def test_src_should_work_the_same_as_value_method
16
- @interface.src('/path/to/image.png')
17
- assert_equal @interface.src, '/path/to/image.png'
14
+
15
+ def test_src
16
+ @page.item(:image_block1).src('/path/to/image.png')
17
+ assert_equal '/path/to/image.png', @page.item(:image_block1).src
18
18
  end
19
-
20
- def test_properly_initialized_internal_property
21
- assert_instance_of ImageBlock::Internal, @interface.internal
19
+
20
+ def test_src=
21
+ @page.item(:image_block1).src = '/path/to/image.png'
22
+ assert_equal '/path/to/image.png', @page.item(:image_block1).src
22
23
  end
23
- end
24
+ end
@@ -1,28 +1,31 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'test/unit/helper'
3
+ require 'test_helper'
4
+
5
+ class Thinreports::Core::Shape::ImageBlock::TestInternal < Minitest::Test
6
+ include Thinreports::TestHelper
7
+
8
+ ImageBlock = Thinreports::Core::Shape::ImageBlock
4
9
 
5
- class ThinReports::Core::Shape::ImageBlock::TestInternal < MiniTest::Unit::TestCase
6
- include ThinReports::TestHelpers
7
-
8
- ImageBlock = ThinReports::Core::Shape::ImageBlock
9
-
10
10
  def test_src_should_return_the_same_value_as_value_method
11
- internal = init_internal
11
+ internal = create_internal
12
12
  internal.write_value('/path/to/image.png')
13
-
13
+
14
14
  assert_same internal.src, internal.read_value
15
15
  end
16
-
16
+
17
17
  def test_type_of_asker_should_return_true_when_iblock_value_is_given
18
- assert_equal init_internal.type_of?(:iblock), true
18
+ assert_equal create_internal.type_of?(:iblock), true
19
19
  end
20
-
20
+
21
21
  def test_type_of_asker_should_return_true_when_block_value_is_given
22
- assert_equal init_internal.type_of?(:block), true
22
+ assert_equal create_internal.type_of?(:block), true
23
23
  end
24
-
25
- def init_internal
26
- ImageBlock::Internal.new(flexmock('parent'), ImageBlock::Format.new({}))
24
+
25
+ def create_internal
26
+ report = new_report 'layout_text1'
27
+ parent = report.start_new_page
28
+
29
+ ImageBlock::Internal.new parent, ImageBlock::Format.new({})
27
30
  end
28
- end
31
+ end
@@ -1,52 +1,69 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'test/unit/helper'
3
+ require 'test_helper'
4
+
5
+ class Thinreports::Core::Shape::List::TestConfiguration < Minitest::Test
6
+ include Thinreports::TestHelper
7
+
8
+ List = Thinreports::Core::Shape::List
4
9
 
5
- class ThinReports::Core::Shape::List::TestConfiguration < MiniTest::Unit::TestCase
6
- include ThinReports::TestHelpers
7
-
8
- List = ThinReports::Core::Shape::List
9
-
10
10
  def setup
11
- @events = flexmock('events')
12
- @store = flexmock('store')
11
+ @events = mock('events')
12
+ @store = mock('store')
13
13
  @config = List::Configuration.new
14
- end
15
-
14
+ end
15
+
16
16
  def test_use_stores
17
- flexmock(List::Store).should_receive(:init).with(::Hash).once
18
-
19
- @config.use_stores(:a => 0, :b => 0)
17
+ List::Store.expects(:init).once
18
+
19
+ @config.use_stores(a: 0, b: 0)
20
20
  end
21
-
21
+
22
+ def test_events
23
+ assert_instance_of List::Events, @config.events
24
+
25
+ out, err = capture_io do
26
+ @config.events
27
+ end
28
+ assert_includes err, '[DEPRECATION]'
29
+ end
30
+
31
+ def test_internal_events
32
+ assert_same @config.events, @config.internal_events
33
+ end
34
+
22
35
  def test_store
23
- flexmock(List::Store).should_receive(:init => @store)
24
-
25
- @config.use_stores(:a => 0, :b => 0)
36
+ List::Store.expects(:init).returns(@store)
37
+
38
+ @config.use_stores(a: 0, b: 0)
26
39
  assert_same @config.store, @store
27
40
  end
28
-
41
+
29
42
  def test_store_return_nil_when_uninitialized_yet
30
43
  assert_nil @config.store
31
44
  end
32
-
45
+
46
+ def test_type
47
+ assert_equal @config.type, List::TYPE_NAME
48
+ end
49
+
33
50
  def test_copy
34
- copied_store = flexmock('copied store')
35
-
36
- flexmock(@store, :copy => copied_store)
37
- flexmock(List::Store).should_receive(:init => @store)
38
-
39
- copied_events = flexmock('copied events')
40
-
41
- flexmock(@events, :copy => copied_events)
42
- flexmock(List::Events).should_receive(:new => @events)
43
-
51
+ copied_store = mock('copied store')
52
+
53
+ @store.stubs(copy: copied_store)
54
+ List::Store.expects(:init).returns(@store)
55
+
56
+ copied_events = mock('copied events')
57
+
58
+ @events.stubs(copy: copied_events)
59
+ List::Events.expects(:new).returns(@events)
60
+
44
61
  @config = List::Configuration.new
45
- @config.use_stores(:a => 1)
46
-
62
+ @config.use_stores(a: 1)
63
+
47
64
  copied_config = @config.copy
48
-
65
+
49
66
  assert_same copied_config.events, copied_events
50
67
  assert_same copied_config.store, copied_store
51
68
  end
52
- end
69
+ end
@@ -1,11 +1,11 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'test/unit/helper'
3
+ require 'test_helper'
4
4
 
5
- class ThinReports::Core::Shape::List::TestEvents < MiniTest::Unit::TestCase
6
- include ThinReports::TestHelpers
5
+ class Thinreports::Core::Shape::List::TestEvents < Minitest::Test
6
+ include Thinreports::TestHelper
7
7
 
8
- List = ThinReports::Core::Shape::List
8
+ List = Thinreports::Core::Shape::List
9
9
 
10
10
  def setup
11
11
  @events = List::Events.new
@@ -13,19 +13,19 @@ class ThinReports::Core::Shape::List::TestEvents < MiniTest::Unit::TestCase
13
13
 
14
14
  def test_page_footer_insert_event_should_be_able_to_be_used
15
15
  @events.send(:verify_event_type, :page_footer_insert)
16
- rescue ThinReports::Errors::UnknownEventType
16
+ rescue Thinreports::Errors::UnknownEventType
17
17
  flunk ':page_footer_insert cannot be used.'
18
18
  end
19
19
 
20
20
  def test_footer_insert_event_should_be_able_to_be_used
21
21
  @events.send(:verify_event_type, :footer_insert)
22
- rescue ThinReports::Errors::UnknownEventType
22
+ rescue Thinreports::Errors::UnknownEventType
23
23
  flunk ':footer_insert cannot be used.'
24
24
  end
25
25
 
26
26
  def test_page_finalize_event_should_be_able_to_be_used
27
27
  @events.send(:verify_event_type, :page_finalize)
28
- rescue ThinReports::Errors::UnknownEventType
28
+ rescue Thinreports::Errors::UnknownEventType
29
29
  flunk ':page_finalize cannot be used.'
30
30
  end
31
31
 
@@ -1,10 +1,10 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'test/unit/helper'
3
+ require 'test_helper'
4
+
5
+ class Thinreports::Core::Shape::List::TestFormat < Minitest::Test
6
+ include Thinreports::TestHelper
4
7
 
5
- class ThinReports::Core::Shape::List::TestFormat < MiniTest::Unit::TestCase
6
- include ThinReports::TestHelpers
7
-
8
8
  TEST_LIST_FORMAT = {
9
9
  "type" => "s-list",
10
10
  "id" => "List",
@@ -23,32 +23,30 @@ class ThinReports::Core::Shape::List::TestFormat < MiniTest::Unit::TestCase
23
23
  "attrs" => {}
24
24
  }
25
25
  }
26
-
27
- List = ThinReports::Core::Shape::List
28
-
26
+
27
+ List = Thinreports::Core::Shape::List
28
+
29
29
  def test_build_when_all_sections_enabled
30
- flexmock(List::SectionFormat).
31
- should_receive(:build).times(4).and_return({})
32
-
30
+ List::SectionFormat.expects(:build).returns({}).times(4)
31
+
33
32
  begin
34
33
  format = build_format
35
34
  rescue => e
36
35
  flunk exception_details(e, 'Building failed.')
37
36
  end
38
-
37
+
39
38
  assert_equal format.sections.size, 4
40
39
  [:detail, :header, :footer, :page_footer].each do |sec|
41
40
  assert_includes format.sections.keys, sec
42
41
  end
43
42
  end
44
-
43
+
45
44
  def test_build_when_page_footer_and_footer_disabled
46
- flexmock(List::SectionFormat).
47
- should_receive(:build).times(2).and_return({})
48
-
45
+ List::SectionFormat.expects(:build).returns({}).times(2)
46
+
49
47
  format = build_format('page-footer-enabled' => 'false',
50
48
  'footer-enabled' => 'false')
51
-
49
+
52
50
  assert_equal format.sections.size, 2
53
51
  [:detail, :header].each do |sec|
54
52
  assert_includes format.sections.keys, sec
@@ -57,14 +55,14 @@ class ThinReports::Core::Shape::List::TestFormat < MiniTest::Unit::TestCase
57
55
 
58
56
  def test_config_readers
59
57
  format = List::Format.new(TEST_LIST_FORMAT)
60
-
58
+
61
59
  assert_equal format.height, 255
62
60
  assert_equal format.auto_page_break?, true
63
61
  assert_equal format.has_header?, true
64
62
  assert_equal format.has_footer?, true
65
63
  assert_equal format.has_page_footer?, true
66
64
  end
67
-
65
+
68
66
  def build_format(data = {})
69
67
  List::Format.build(TEST_LIST_FORMAT.merge(data))
70
68
  end
@@ -1,15 +1,15 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'test/unit/helper'
3
+ require 'test_helper'
4
4
 
5
- class ThinReports::Core::Shape::List::TestManager < MiniTest::Unit::TestCase
6
- include ThinReports::TestHelpers
5
+ class Thinreports::Core::Shape::List::TestManager < Minitest::Test
6
+ include Thinreports::TestHelper
7
7
 
8
8
  # Alias
9
- List = ThinReports::Core::Shape::List
9
+ List = Thinreports::Core::Shape::List
10
10
 
11
11
  def create_report(&block)
12
- create_basic_report('basic_list_layout.tlf', &block)
12
+ new_report('layout_list.tlf', &block)
13
13
  end
14
14
 
15
15
  def list_manager
@@ -109,4 +109,14 @@ class ThinReports::Core::Shape::List::TestManager < MiniTest::Unit::TestCase
109
109
 
110
110
  assert_same list_used_in_event, current_list
111
111
  end
112
+
113
+ def test_page_count
114
+ report = create_report
115
+ assert_equal report.page_count, 0
116
+
117
+ report.list(:list).page_break
118
+ report.list(:list).page_break
119
+
120
+ assert_equal report.list(:list).manager.page_count, 2
121
+ end
112
122
  end