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,92 +1,47 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'test/unit/helper'
3
+ require 'test_helper'
4
+
5
+ class Thinreports::Layout::TestBase < Minitest::Test
6
+ include Thinreports::TestHelper
7
+
8
+ Layout = Thinreports::Layout
4
9
 
5
- class ThinReports::Layout::TestBase < MiniTest::Unit::TestCase
6
- include ThinReports::TestHelpers
7
-
8
- # Alias
9
- Layout = ThinReports::Layout::Base
10
-
11
- def test_load_format_raise_error_when_file_not_found
12
- assert_raises ThinReports::Errors::LayoutFileNotFound do
13
- Layout.load_format('dummy.tlf')
14
- end
15
- end
16
-
17
10
  def test_load_format
18
- flexmock(File).should_receive(:exists? => true).once
19
- flexmock(ThinReports::Layout::Format).should_receive(:build).once
20
-
21
- Layout.load_format('sample.tlf')
22
- end
23
-
24
- def test_load_format_when_omit_the_file_extension
25
- specified_name = 'sample'
26
- resolved_name = 'sample.tlf'
27
-
28
- flexmock(File).
29
- should_receive(:exists?).with(resolved_name).and_return(true).once
30
- flexmock(ThinReports::Layout::Format).should_receive(:build).once
31
-
32
- Layout.load_format(specified_name)
33
- end
34
-
35
- def test_Page_when_not_defined_PageHelpers
36
- assert_same Layout.Page, ThinReports::Core::Page
37
- end
38
-
39
- def test_Page_when_defined_PageHelpers
40
- Layout.send(:PageHelpers, &proc{})
41
-
42
- refute_same Layout.Page, ThinReports::Core::Page
43
-
44
- # Teardown
45
- ThinReports::Layout::Base.send(:remove_const, :Page)
46
- end
47
-
48
- def test_PageHelpers
49
- Layout.send(:PageHelpers) do
50
- def foo
51
- 'foo'
52
- end
11
+ assert_instance_of Layout::Format,
12
+ Layout::Base.load_format(data_file('layout_text1.tlf'))
13
+ assert_instance_of Layout::Format,
14
+ Layout::Base.load_format(data_file('layout_text1'))
15
+
16
+ assert_raises Thinreports::Errors::LayoutFileNotFound do
17
+ Layout::Base.load_format 'unknown.tlf'
53
18
  end
54
-
55
- assert_same Layout::Page.superclass, ThinReports::Core::Page
56
- assert Layout::Page.method_defined?(:foo)
57
-
58
- # Teardown
59
- ThinReports::Layout::Base.send(:remove_const, :Page)
60
19
  end
61
-
62
- def test_initialize_with_specified_id
63
- layout = init_layout(:id => :foo)
64
- assert_equal layout.id, :foo
20
+
21
+ def test_new
22
+ layout = create_layout id: 'foo'
23
+
24
+ assert_equal 'foo', layout.id
25
+ assert_equal data_file('layout_text1.tlf'), layout.filename
65
26
  end
66
-
27
+
67
28
  def test_default?
68
- assert_equal init_layout.default?, true
69
- assert_equal init_layout(:id => :foo).default?, false
29
+ assert_equal false, create_layout(id: 'foo').default?
30
+ assert_equal true, create_layout.default?
70
31
  end
71
-
32
+
72
33
  def test_config
73
- layout = init_layout
74
- assert_instance_of ThinReports::Layout::Configuration, layout.config
34
+ assert_instance_of Thinreports::Layout::Configuration,
35
+ create_layout.config
75
36
  end
76
-
77
- def test_init_new_page
78
- parent = flexmock('parent')
79
- layout = init_layout
80
-
81
- # Should call ThinReports::Core::Page#new with parent and layout.
82
- flexmock(ThinReports::Core::Page).
83
- should_receive(:new).with(parent, layout).once
84
-
85
- layout.init_new_page(parent)
37
+
38
+ def test_new_page
39
+ report = new_report 'layout_text1'
40
+ assert_instance_of Thinreports::Report::Page,
41
+ create_layout.new_page(report)
86
42
  end
87
-
88
- def init_layout(options = {})
89
- flexmock(Layout).should_receive(:load_format => flexmock('format'))
90
- Layout.new('dummy.tlf', options)
43
+
44
+ def create_layout(options = {})
45
+ Layout::Base.new data_file('layout_text1.tlf'), options
91
46
  end
92
- end
47
+ end
@@ -1,46 +1,21 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'test/unit/helper'
3
+ require 'test_helper'
4
+
5
+ class Thinreports::Layout::TestConfiguration < Minitest::Test
6
+ include Thinreports::TestHelper
4
7
 
5
- class ThinReports::Layout::TestConfiguration < MiniTest::Unit::TestCase
6
- include ThinReports::TestHelpers
7
-
8
8
  # Alias
9
- Configuration = ThinReports::Layout::Configuration
10
-
9
+ Configuration = Thinreports::Layout::Configuration
10
+
11
11
  def setup
12
- layout = flexmock('layout')
13
- flexmock(layout).should_receive(:format => flexmock('layout_format'))
14
-
12
+ layout = Thinreports::Layout.new data_file('layout_text1.tlf')
15
13
  @config = Configuration.new(layout)
16
14
  end
17
-
18
- def test_undef_items_method
19
- refute_respond_to @config, :items
20
- end
21
-
22
- def test_undef_values_method
23
- refute_respond_to @config, :values
24
- end
25
-
26
- def test_properly_set_init_item_handler
27
- list_format = flexmock('list_format').should_receive(:type => 's-list').once.mock
28
- list_config = flexmock('list_config').should_receive(:new).once.mock
29
-
30
- flexmock(ThinReports::Core::Shape).
31
- should_receive(:Configuration).with('s-list').and_return(list_config).once
32
-
33
- @config.manager.init_item(list_format)
34
- end
35
-
36
- def test_activate
37
- list_config = flexmock('list_config').should_receive(:copy).once.mock
38
- @config.manager.shapes[:foo] = list_config
39
15
 
40
- @config.activate(:foo)
41
- end
42
-
43
- def test_activate_return_nil_when_unknown_shape_id
44
- assert_nil @config.activate(:unknown)
16
+ def test_disable_methods
17
+ assert_raises NoMethodError do
18
+ @config.values
19
+ end
45
20
  end
46
- end
21
+ end
@@ -1,10 +1,10 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'test/unit/helper'
3
+ require 'test_helper'
4
+
5
+ class Thinreports::Layout::TestFormat < Minitest::Test
6
+ include Thinreports::TestHelper
4
7
 
5
- class ThinReports::Layout::TestFormat < MiniTest::Unit::TestCase
6
- include ThinReports::TestHelpers
7
-
8
8
  TEST_SIMPLE_FORMAT = <<-'EOF'
9
9
  {
10
10
  "version":"%s",
@@ -32,92 +32,89 @@ class ThinReports::Layout::TestFormat < MiniTest::Unit::TestCase
32
32
  }
33
33
  }
34
34
  EOF
35
-
35
+
36
36
  # Alias
37
- Shape = ThinReports::Core::Shape
38
- Layout = ThinReports::Layout
39
-
37
+ Shape = Thinreports::Core::Shape
38
+ Layout = Thinreports::Layout
39
+
40
40
  def test_report_title_should_return_the_value_of_config_title_key
41
41
  format = Layout::Format.new('config' => {'title' => 'Title'})
42
42
  assert_equal format.report_title, 'Title'
43
43
  end
44
-
44
+
45
45
  def test_user_paper_type_asker_should_return_true_when_paper_type_is_user
46
46
  format = Layout::Format.new('config' => {'page' => {'paper-type' => 'user'}})
47
47
  assert_equal format.user_paper_type?, true
48
48
  end
49
-
49
+
50
50
  def test_user_paper_type_asker_should_return_false_when_paper_type_is_not_user
51
51
  format = Layout::Format.new('config' => {'page' => {'paper-type' => 'A4'}})
52
52
  assert_equal format.user_paper_type?, false
53
53
  end
54
-
54
+
55
55
  def test_last_version_should_return_the_value_of_version_key
56
56
  format = Layout::Format.new('version' => '1.0')
57
57
  assert_equal format.last_version, '1.0'
58
58
  end
59
-
59
+
60
60
  def test_build_should_properly_build_layout_format
61
- build_format(:force => true)
61
+ build_format(force: true)
62
62
  rescue => e
63
63
  flunk exception_details(e, 'Faile to build.')
64
64
  end
65
-
65
+
66
66
  def test_build_should_properly_set_built_shapes_to_shapes_attributes_of_format
67
67
  assert_equal build_format.shapes.size, 4
68
68
  end
69
-
69
+
70
70
  def test_config_attributes_of_built_format_should_not_have_unnecessary_attributes
71
- format = build_format(:force => true)
71
+ format = build_format(force: true)
72
72
  config = format.instance_variable_get(:@config)
73
-
73
+
74
74
  refute %w( version finger-print state).any? {|a| config.key?(a)},
75
75
  'A config attributes of built format have unnecessary attributes.'
76
76
  end
77
-
77
+
78
78
  def test_identifier_should_return_the_digest_value_of_the_raw_layout_using_sha1
79
79
  format = build_format
80
80
  expect = Digest::SHA1.hexdigest(create_raw_format)
81
-
81
+
82
82
  assert_equal format.identifier, expect.to_sym
83
83
  ensure
84
- clear_building_cache
84
+ clear_cache_for_building
85
85
  end
86
-
86
+
87
87
  def test_build_should_always_return_the_same_result_in_cache_mode
88
88
  result1 = build_format
89
89
  result2 = build_format
90
-
90
+
91
91
  assert_same result1, result2
92
92
  ensure
93
- clear_building_cache
93
+ clear_cache_for_building
94
94
  end
95
-
95
+
96
96
  def test_build_should_raise_when_layout_file_is_incompatible
97
97
  original_rules = Layout::Version::REQUIRED_RULES.dup
98
98
  Layout::Version::REQUIRED_RULES.replace(['>= 0.6.0.pre3', '< 0.8.0'])
99
-
100
- assert_raises ThinReports::Errors::IncompatibleLayoutFormat do
101
- build_format(:version => '0.6.0.pre2')
99
+
100
+ assert_raises Thinreports::Errors::IncompatibleLayoutFormat do
101
+ build_format(version: '0.6.0.pre2')
102
102
  end
103
103
  ensure
104
104
  Layout::Version::REQUIRED_RULES.replace(original_rules)
105
- clear_building_cache
105
+ clear_cache_for_building
106
106
  end
107
-
107
+
108
108
  def create_raw_format(version = nil)
109
- clean_whitespaces(TEST_SIMPLE_FORMAT) % (version || ThinReports::VERSION)
109
+ clean_whitespaces(TEST_SIMPLE_FORMAT) % (version || Thinreports::VERSION)
110
110
  end
111
-
111
+
112
112
  def build_format(options = {})
113
- flexmock(Layout::Format).
114
- should_receive(:read_format_file).
115
- and_return(create_raw_format(options[:version]))
116
-
117
- Layout::Format.build('dummy.tlf', :force => options[:force])
113
+ Layout::Format.stubs(read_format_file: create_raw_format(options[:version]))
114
+ Layout::Format.build('dummy.tlf', force: options[:force])
118
115
  end
119
-
120
- def clear_building_cache
116
+
117
+ def clear_cache_for_building
121
118
  Layout::Format.send(:built_format_registry).clear
122
119
  end
123
- end
120
+ end
@@ -1,12 +1,12 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'test/unit/helper'
3
+ require 'test_helper'
4
4
 
5
- class ThinReports::Layout::TestVersion < MiniTest::Unit::TestCase
6
- include ThinReports::TestHelpers
5
+ class Thinreports::Layout::TestVersion < Minitest::Test
6
+ include Thinreports::TestHelper
7
7
 
8
8
  # Alias
9
- Version = ThinReports::Layout::Version
9
+ Version = Thinreports::Layout::Version
10
10
 
11
11
  def test_comparable_version_should_add_99_when_the_given_version_is_not_PRE
12
12
  assert_equal Version.comparable_version('0.7.0'), '0.7.0.99'