thinreports 0.10.2 → 0.10.3

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 (154) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +22 -6
  4. data/CHANGELOG.md +6 -0
  5. data/Gemfile +1 -1
  6. data/README.md +5 -6
  7. data/Rakefile +11 -25
  8. data/lib/thinreports/generator/pdf/document/draw_shape.rb +1 -1
  9. data/lib/thinreports/generator/pdf/document/draw_template_items.rb +1 -1
  10. data/lib/thinreports/layout/legacy_schema.rb +1 -0
  11. data/lib/thinreports/version.rb +1 -1
  12. data/test/features/dynamic_style/expect.pdf +3714 -0
  13. data/{examples → test/features}/dynamic_style/image.png +0 -0
  14. data/{examples/dynamic_style/dynamic_style.tlf → test/features/dynamic_style/templates/styles.tlf} +0 -0
  15. data/{examples/dynamic_style/dynamic_style_in_list.tlf → test/features/dynamic_style/templates/styles_in_list.tlf} +0 -0
  16. data/test/features/dynamic_style/test_dynamic_style.rb +152 -0
  17. data/{examples → test/features}/eudc/eudc.ttf +0 -0
  18. data/test/features/eudc/expect.pdf +0 -0
  19. data/{examples/eudc/eudc.tlf → test/features/eudc/template.tlf} +0 -0
  20. data/test/features/eudc/test_eudc.rb +27 -0
  21. data/test/features/feature_test.rb +58 -0
  22. data/test/features/graphics/expect.pdf +475 -0
  23. data/test/features/graphics/template.tlf +309 -0
  24. data/test/features/graphics/test_graphics.rb +12 -0
  25. data/test/features/hidden_item/expect.pdf +0 -0
  26. data/{examples/hidden_shapes/hidden_shapes.tlf → test/features/hidden_item/template.tlf} +0 -0
  27. data/test/features/hidden_item/test_hidden_item.rb +12 -0
  28. data/test/features/image_block/expect.pdf +0 -0
  29. data/{examples/dynamic_image → test/features/image_block}/img200x100.png +0 -0
  30. data/{examples/dynamic_image → test/features/image_block}/img50x50.png +0 -0
  31. data/{examples/dynamic_image/dynamic_image.tlf → test/features/image_block/template.tlf} +0 -0
  32. data/test/features/image_block/test_image_block.rb +35 -0
  33. data/test/features/list_events/expect.pdf +659 -0
  34. data/{examples/list_events/list_events.tlf → test/features/list_events/template.tlf} +0 -0
  35. data/{examples/list_events/list_events.rb → test/features/list_events/test_list_events.rb} +7 -3
  36. data/test/features/list_manually/expect.pdf +599 -0
  37. data/{examples/list_manual_generation/list_manual_generation.tlf → test/features/list_manually/template.tlf} +0 -0
  38. data/test/features/list_manually/test_list_manually.rb +25 -0
  39. data/test/features/page_number/expect.pdf +400 -0
  40. data/{examples/page_number/page_number.tlf → test/features/page_number/template.tlf} +0 -0
  41. data/test/features/page_number/test_page_number.rb +24 -0
  42. data/test/features/page_number_with_list/expect.pdf +721 -0
  43. data/{examples/list_page_number/list_page_number.tlf → test/features/page_number_with_list/template.tlf} +0 -0
  44. data/test/features/page_number_with_list/test_page_number_with_list.rb +21 -0
  45. data/test/features/palleted_png/expect.pdf +0 -0
  46. data/{examples → test/features}/palleted_png/palleted_png.png +0 -0
  47. data/{examples/palleted_png/palleted_png.tlf → test/features/palleted_png/template.tlf} +0 -0
  48. data/test/features/palleted_png/test_palleted_png.rb +14 -0
  49. data/test/features/report_callbacks/expect.pdf +169 -0
  50. data/{examples/report_callbacks/report_callbacks.tlf → test/features/report_callbacks/template.tlf} +0 -0
  51. data/test/features/report_callbacks/test_report_callbacks.rb +18 -0
  52. data/test/features/text_align/expect.pdf +0 -0
  53. data/{examples/text_align/text_align.tlf → test/features/text_align/template.tlf} +0 -0
  54. data/test/features/text_align/test_text_align.rb +12 -0
  55. data/test/features/text_block_overflow/expect.pdf +0 -0
  56. data/{examples/tblock_overflow/tblock_overflow.tlf → test/features/text_block_overflow/template.tlf} +0 -0
  57. data/test/features/text_block_overflow/test_text_block_overflow.rb +25 -0
  58. data/test/features/text_block_singleline/expect.pdf +0 -0
  59. data/{examples/single_line_tblock/single_line_tblock.tlf → test/features/text_block_singleline/template.tlf} +0 -0
  60. data/test/features/text_block_singleline/test_text_block_singleline.rb +15 -0
  61. data/test/features/text_block_style/expect.pdf +1390 -1
  62. data/{examples/tblock_styles/tblock_styles.tlf → test/features/text_block_style/templates/basic_styles.tlf} +0 -0
  63. data/{examples/tblock_styles → test/features/text_block_style/templates}/font_size.tlf +0 -0
  64. data/{examples/tblock_styles/tblock_styles.rb → test/features/text_block_style/test_text_block_style.rb} +9 -5
  65. data/test/features/text_character_spacing/expect.pdf +0 -0
  66. data/{examples/character_spacing/character_spacing.tlf → test/features/text_character_spacing/template.tlf} +0 -0
  67. data/test/features/text_character_spacing/test_text_character_spacing.rb +12 -0
  68. data/test/features/text_word_wrap/expect.pdf +0 -0
  69. data/{examples/word_wrap/word_wrap.tlf → test/features/text_word_wrap/template.tlf} +0 -0
  70. data/test/features/text_word_wrap/test_text_word_wrap.rb +30 -0
  71. data/test/test_helper.rb +1 -10
  72. data/test/{unit → units}/core/format/test_base.rb +0 -0
  73. data/test/{unit → units}/core/shape/base/test_internal.rb +0 -0
  74. data/test/{unit → units}/core/shape/basic/test_block_format.rb +0 -0
  75. data/test/{unit → units}/core/shape/basic/test_block_interface.rb +0 -0
  76. data/test/{unit → units}/core/shape/basic/test_block_internal.rb +0 -0
  77. data/test/{unit → units}/core/shape/basic/test_format.rb +0 -0
  78. data/test/{unit → units}/core/shape/basic/test_interface.rb +0 -0
  79. data/test/{unit → units}/core/shape/basic/test_internal.rb +0 -0
  80. data/test/{unit → units}/core/shape/image_block/test_interface.rb +0 -0
  81. data/test/{unit → units}/core/shape/image_block/test_internal.rb +0 -0
  82. data/test/{unit → units}/core/shape/list/test_format.rb +0 -0
  83. data/test/{unit → units}/core/shape/list/test_manager.rb +0 -0
  84. data/test/{unit → units}/core/shape/list/test_page.rb +0 -0
  85. data/test/{unit → units}/core/shape/list/test_page_state.rb +0 -0
  86. data/test/{unit → units}/core/shape/list/test_section_format.rb +0 -0
  87. data/test/{unit → units}/core/shape/list/test_section_interface.rb +0 -0
  88. data/test/{unit → units}/core/shape/list/test_section_internal.rb +0 -0
  89. data/test/{unit → units}/core/shape/manager/test_format.rb +0 -0
  90. data/test/{unit → units}/core/shape/manager/test_internal.rb +0 -0
  91. data/test/{unit → units}/core/shape/manager/test_target.rb +0 -0
  92. data/test/{unit → units}/core/shape/page_number/test_format.rb +0 -0
  93. data/test/{unit → units}/core/shape/page_number/test_interface.rb +0 -0
  94. data/test/{unit → units}/core/shape/page_number/test_internal.rb +0 -0
  95. data/test/{unit → units}/core/shape/styles/test_base.rb +0 -0
  96. data/test/{unit → units}/core/shape/styles/test_basic.rb +0 -0
  97. data/test/{unit → units}/core/shape/styles/test_graphic.rb +0 -0
  98. data/test/{unit → units}/core/shape/styles/test_text.rb +0 -0
  99. data/test/{unit → units}/core/shape/text/test_format.rb +0 -0
  100. data/test/{unit → units}/core/shape/text/test_internal.rb +0 -0
  101. data/test/{unit → units}/core/shape/text_block/formatter/test_basic.rb +0 -0
  102. data/test/{unit → units}/core/shape/text_block/formatter/test_datetime.rb +0 -0
  103. data/test/{unit → units}/core/shape/text_block/formatter/test_number.rb +0 -0
  104. data/test/{unit → units}/core/shape/text_block/formatter/test_padding.rb +0 -0
  105. data/test/{unit → units}/core/shape/text_block/test_format.rb +0 -0
  106. data/test/{unit → units}/core/shape/text_block/test_formatter.rb +0 -0
  107. data/test/{unit → units}/core/shape/text_block/test_interface.rb +0 -0
  108. data/test/{unit → units}/core/shape/text_block/test_internal.rb +0 -0
  109. data/test/{unit → units}/core/test_shape.rb +0 -0
  110. data/test/{unit → units}/core/test_utils.rb +0 -0
  111. data/test/{unit → units}/generator/pdf/document/graphics/test_attributes.rb +0 -0
  112. data/test/{unit → units}/generator/pdf/document/graphics/test_basic.rb +0 -0
  113. data/test/{unit → units}/generator/pdf/document/graphics/test_image.rb +0 -0
  114. data/test/{unit → units}/generator/pdf/document/graphics/test_text.rb +0 -0
  115. data/test/{unit → units}/generator/pdf/document/test_font.rb +0 -0
  116. data/test/{unit → units}/generator/pdf/document/test_graphics.rb +0 -0
  117. data/test/{unit → units}/generator/pdf/document/test_page.rb +0 -0
  118. data/test/{unit → units}/generator/pdf/document/test_parse_color.rb +0 -0
  119. data/test/{unit → units}/generator/pdf/prawn_ext/test_calc_image_dimensions.rb +0 -0
  120. data/test/{unit → units}/generator/pdf/prawn_ext/test_width_of.rb +0 -0
  121. data/test/{unit → units}/generator/pdf/test_document.rb +0 -0
  122. data/test/{unit → units}/generator/test_pdf.rb +0 -0
  123. data/test/{unit → units}/layout/test_base.rb +0 -0
  124. data/test/{unit → units}/layout/test_format.rb +0 -0
  125. data/test/{unit → units}/layout/test_legacy_schema.rb +3 -1
  126. data/test/{unit → units}/layout/test_version.rb +0 -0
  127. data/test/{unit → units}/report/test_base.rb +0 -0
  128. data/test/{unit → units}/report/test_internal.rb +0 -0
  129. data/test/{unit → units}/test_config.rb +0 -0
  130. data/test/{unit → units}/test_layout.rb +0 -0
  131. data/test/{unit → units}/test_report.rb +0 -0
  132. data/thinreports.gemspec +0 -1
  133. metadata +122 -123
  134. data/examples/character_spacing/character_spacing.rb +0 -8
  135. data/examples/dynamic_image/dynamic_image.rb +0 -31
  136. data/examples/dynamic_style/dynamic_style.rb +0 -150
  137. data/examples/eudc/eudc.rb +0 -20
  138. data/examples/helper.rb +0 -50
  139. data/examples/hidden_shapes/hidden_shapes.rb +0 -9
  140. data/examples/list_manual_generation/list_manual_generation.rb +0 -22
  141. data/examples/list_page_number/list_page_number.rb +0 -17
  142. data/examples/page_number/page_number.rb +0 -33
  143. data/examples/palleted_png/palleted_png.rb +0 -9
  144. data/examples/password_setting/password_setting.rb +0 -10
  145. data/examples/password_setting/password_setting.tlf +0 -45
  146. data/examples/report_callbacks/report_callbacks.rb +0 -14
  147. data/examples/single_line_tblock/single_line_tblock.rb +0 -13
  148. data/examples/tblock_overflow/tblock_overflow.rb +0 -20
  149. data/examples/text_align/text_align.rb +0 -8
  150. data/examples/typeB_page_size/B4_ISO.tlf +0 -45
  151. data/examples/typeB_page_size/B4_JIS.tlf +0 -45
  152. data/examples/typeB_page_size/typeB_page_size.rb +0 -17
  153. data/examples/word_wrap/word_wrap.rb +0 -26
  154. data/test/tmp/.gitkeep +0 -0
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'feature_test'
4
+
5
+ class TestListManually < FeatureTest
6
+ feature :list_manually do
7
+ report = Thinreports::Report.new layout: template_path
8
+ report.list.header do |h|
9
+ h.item(:header).value(report.page.no)
10
+ end
11
+
12
+ 25.times do |row_index|
13
+ if report.list.overflow?
14
+ report.start_new_page
15
+ report.list.header header: report.page.no
16
+ end
17
+
18
+ report.list.page_break if row_index == 15
19
+
20
+ report.list.add_row detail: row_index
21
+ end
22
+
23
+ assert_pdf report.generate
24
+ end
25
+ end
@@ -0,0 +1,400 @@
1
+ %PDF-1.3
2
+ %����
3
+ 1 0 obj
4
+ << /CreationDate (D:20181106102142+09'00')
5
+ /Creator <feff005400680069006e007200650070006f007200740073002000470065006e0065007200610074006f007200200066006f00720020005200750062007900200030002e00310030002e0032>
6
+ /Title <feff>
7
+ /Producer <feff0050007200610077006e>
8
+ >>
9
+ endobj
10
+ 2 0 obj
11
+ << /Type /Catalog
12
+ /Pages 3 0 R
13
+ >>
14
+ endobj
15
+ 3 0 obj
16
+ << /Type /Pages
17
+ /Count 4
18
+ /Kids [7 0 R 11 0 R 14 0 R 16 0 R]
19
+ >>
20
+ endobj
21
+ 4 0 obj
22
+ << /Length 8
23
+ >>
24
+ stream
25
+ q
26
+ 0.9 w
27
+
28
+ endstream
29
+ endobj
30
+ 5 0 obj
31
+ << /Type /Page
32
+ /Parent 3 0 R
33
+ /MediaBox [0 0 612.0 792.0]
34
+ /CropBox [0 0 612.0 792.0]
35
+ /BleedBox [0 0 612.0 792.0]
36
+ /TrimBox [0 0 612.0 792.0]
37
+ /ArtBox [0 0 612.0 792.0]
38
+ /Contents 4 0 R
39
+ /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
40
+ >>
41
+ >>
42
+ endobj
43
+ 6 0 obj
44
+ << /Length 284
45
+ >>
46
+ stream
47
+ q
48
+ 0.9 w
49
+ /Stamp1 Do
50
+ q
51
+ /DeviceRGB cs
52
+ 0.0 0.0 0.0 scn
53
+
54
+ BT
55
+ 110.046 715.966 Td
56
+ /F1.0 18 Tf
57
+ [<31>] TJ
58
+ ET
59
+
60
+ Q
61
+ q
62
+ /DeviceRGB cs
63
+ 0.0 0.0 0.0 scn
64
+
65
+ 10.0 Tc
66
+
67
+ BT
68
+ 50.0 744.966 Td
69
+ /F1.0 18 Tf
70
+ [<31>] TJ
71
+ ET
72
+
73
+
74
+ 0.0 Tc
75
+ Q
76
+ q
77
+ /DeviceRGB cs
78
+ 0.0 0.0 0.0 scn
79
+
80
+ BT
81
+ 170.092 688.966 Td
82
+ /F1.0 18 Tf
83
+ [<31>] TJ
84
+ ET
85
+
86
+ Q
87
+ Q
88
+
89
+ endstream
90
+ endobj
91
+ 7 0 obj
92
+ << /Type /Page
93
+ /Parent 3 0 R
94
+ /MediaBox [0 0 595.28 841.89]
95
+ /CropBox [0 0 595.28 841.89]
96
+ /BleedBox [0 0 595.28 841.89]
97
+ /TrimBox [0 0 595.28 841.89]
98
+ /ArtBox [0 0 595.28 841.89]
99
+ /Contents 6 0 R
100
+ /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
101
+ /XObject << /Stamp1 8 0 R
102
+ >>
103
+ /Font << /F1.0 9 0 R
104
+ >>
105
+ >>
106
+ >>
107
+ endobj
108
+ 8 0 obj
109
+ << /Type /XObject
110
+ /Subtype /Form
111
+ /BBox [0 0 595.28 841.89]
112
+ /Resources << /Font << /F1.0 9 0 R
113
+ >>
114
+ >>
115
+ /Length 493
116
+ >>
117
+ stream
118
+ q
119
+ /DeviceRGB cs
120
+ 0.0 0.0 0.0 scn
121
+ /DeviceRGB CS
122
+ 0.0 0.0 0.0 SCN
123
+ 0.9 w
124
+ 0 J
125
+ 0 j
126
+ [] 0 d
127
+ q
128
+ /DeviceRGB cs
129
+ 0.0 0.0 0.0 scn
130
+
131
+ BT
132
+ 20.0 782.966 Td
133
+ /F1.0 18 Tf
134
+ [<4261736973>] TJ
135
+ ET
136
+
137
+ Q
138
+ q
139
+ /DeviceRGB cs
140
+ 0.0 0.0 0.0 scn
141
+
142
+ BT
143
+ 195.0 717.838 Td
144
+ /F1.0 14 Tf
145
+ [<2843656e746572a0416c69676e6d656e7429>] TJ
146
+ ET
147
+
148
+ Q
149
+ q
150
+ /DeviceRGB cs
151
+ 0.0 0.0 0.0 scn
152
+
153
+ BT
154
+ 195.0 688.838 Td
155
+ /F1.0 14 Tf
156
+ [<285269676874a0416c69676e6d656e7429>] TJ
157
+ ET
158
+
159
+ Q
160
+ q
161
+ /DeviceRGB cs
162
+ 0.0 0.0 0.0 scn
163
+
164
+ BT
165
+ 20.0 648.966 Td
166
+ /F1.0 18 Tf
167
+ [<57697468a04944>] TJ
168
+ ET
169
+
170
+ Q
171
+ Q
172
+
173
+ endstream
174
+ endobj
175
+ 9 0 obj
176
+ << /Type /Font
177
+ /Subtype /Type1
178
+ /BaseFont /Helvetica
179
+ /Encoding /WinAnsiEncoding
180
+ >>
181
+ endobj
182
+ 10 0 obj
183
+ << /Length 453
184
+ >>
185
+ stream
186
+ q
187
+ 0.9 w
188
+ /Stamp1 Do
189
+ q
190
+ /DeviceRGB cs
191
+ 1.0 0.0 0.0 scn
192
+
193
+ BT
194
+ 102.036 623.966 Td
195
+ /F2.0 18 Tf
196
+ [<32a02fa033>] TJ
197
+ ET
198
+
199
+ 102.036 622.716 m
200
+ 137.064 622.716 l
201
+ S
202
+ 102.036 627.8432 m
203
+ 137.064 627.8432 l
204
+ S
205
+ Q
206
+ q
207
+ /DeviceRGB cs
208
+ 0.0 0.0 0.0 scn
209
+
210
+ BT
211
+ 110.046 715.966 Td
212
+ /F1.0 18 Tf
213
+ [<32>] TJ
214
+ ET
215
+
216
+ Q
217
+ q
218
+ /DeviceRGB cs
219
+ 0.0 0.0 0.0 scn
220
+
221
+ 10.0 Tc
222
+
223
+ BT
224
+ 50.0 744.966 Td
225
+ /F1.0 18 Tf
226
+ [<32>] TJ
227
+ ET
228
+
229
+
230
+ 0.0 Tc
231
+ Q
232
+ q
233
+ /DeviceRGB cs
234
+ 0.0 0.0 0.0 scn
235
+
236
+ BT
237
+ 170.092 688.966 Td
238
+ /F1.0 18 Tf
239
+ [<32>] TJ
240
+ ET
241
+
242
+ Q
243
+ Q
244
+
245
+ endstream
246
+ endobj
247
+ 11 0 obj
248
+ << /Type /Page
249
+ /Parent 3 0 R
250
+ /MediaBox [0 0 595.28 841.89]
251
+ /CropBox [0 0 595.28 841.89]
252
+ /BleedBox [0 0 595.28 841.89]
253
+ /TrimBox [0 0 595.28 841.89]
254
+ /ArtBox [0 0 595.28 841.89]
255
+ /Contents 10 0 R
256
+ /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
257
+ /XObject << /Stamp1 8 0 R
258
+ >>
259
+ /Font << /F2.0 12 0 R
260
+ /F1.0 9 0 R
261
+ >>
262
+ >>
263
+ >>
264
+ endobj
265
+ 12 0 obj
266
+ << /Type /Font
267
+ /Subtype /Type1
268
+ /BaseFont /Helvetica-Bold
269
+ /Encoding /WinAnsiEncoding
270
+ >>
271
+ endobj
272
+ 13 0 obj
273
+ << /Length 21
274
+ >>
275
+ stream
276
+ q
277
+ 0.9 w
278
+ /Stamp1 Do
279
+ Q
280
+
281
+ endstream
282
+ endobj
283
+ 14 0 obj
284
+ << /Type /Page
285
+ /Parent 3 0 R
286
+ /MediaBox [0 0 595.28 841.89]
287
+ /CropBox [0 0 595.28 841.89]
288
+ /BleedBox [0 0 595.28 841.89]
289
+ /TrimBox [0 0 595.28 841.89]
290
+ /ArtBox [0 0 595.28 841.89]
291
+ /Contents 13 0 R
292
+ /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
293
+ /XObject << /Stamp1 8 0 R
294
+ >>
295
+ >>
296
+ >>
297
+ endobj
298
+ 15 0 obj
299
+ << /Length 375
300
+ >>
301
+ stream
302
+ q
303
+ 0.9 w
304
+ /Stamp1 Do
305
+ q
306
+ /DeviceRGB cs
307
+ 0.0 0.0 0.0 scn
308
+
309
+ BT
310
+ 102.036 623.966 Td
311
+ /F1.0 18 Tf
312
+ [<33a02fa033>] TJ
313
+ ET
314
+
315
+ Q
316
+ q
317
+ /DeviceRGB cs
318
+ 0.0 0.0 0.0 scn
319
+
320
+ BT
321
+ 110.046 715.966 Td
322
+ /F1.0 18 Tf
323
+ [<33>] TJ
324
+ ET
325
+
326
+ Q
327
+ q
328
+ /DeviceRGB cs
329
+ 0.0 0.0 0.0 scn
330
+
331
+ 10.0 Tc
332
+
333
+ BT
334
+ 50.0 744.966 Td
335
+ /F1.0 18 Tf
336
+ [<33>] TJ
337
+ ET
338
+
339
+
340
+ 0.0 Tc
341
+ Q
342
+ q
343
+ /DeviceRGB cs
344
+ 0.0 0.0 0.0 scn
345
+
346
+ BT
347
+ 170.092 688.966 Td
348
+ /F1.0 18 Tf
349
+ [<33>] TJ
350
+ ET
351
+
352
+ Q
353
+ Q
354
+
355
+ endstream
356
+ endobj
357
+ 16 0 obj
358
+ << /Type /Page
359
+ /Parent 3 0 R
360
+ /MediaBox [0 0 595.28 841.89]
361
+ /CropBox [0 0 595.28 841.89]
362
+ /BleedBox [0 0 595.28 841.89]
363
+ /TrimBox [0 0 595.28 841.89]
364
+ /ArtBox [0 0 595.28 841.89]
365
+ /Contents 15 0 R
366
+ /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
367
+ /XObject << /Stamp1 8 0 R
368
+ >>
369
+ /Font << /F1.0 9 0 R
370
+ >>
371
+ >>
372
+ >>
373
+ endobj
374
+ xref
375
+ 0 17
376
+ 0000000000 65535 f
377
+ 0000000015 00000 n
378
+ 0000000291 00000 n
379
+ 0000000340 00000 n
380
+ 0000000418 00000 n
381
+ 0000000475 00000 n
382
+ 0000000737 00000 n
383
+ 0000001072 00000 n
384
+ 0000001397 00000 n
385
+ 0000002038 00000 n
386
+ 0000002135 00000 n
387
+ 0000002640 00000 n
388
+ 0000002980 00000 n
389
+ 0000003083 00000 n
390
+ 0000003155 00000 n
391
+ 0000003458 00000 n
392
+ 0000003885 00000 n
393
+ trailer
394
+ << /Size 17
395
+ /Root 2 0 R
396
+ /Info 1 0 R
397
+ >>
398
+ startxref
399
+ 4212
400
+ %%EOF
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'feature_test'
4
+
5
+ class TestPageNumber < FeatureTest
6
+ feature :page_number do
7
+ report = Thinreports::Report.new layout: template_path
8
+
9
+ report.start_new_page do |page|
10
+ page.item(:pageno).hide
11
+ end
12
+ report.start_new_page do |page|
13
+ page.item(:pageno).styles(color: 'red',
14
+ bold: true,
15
+ underline: true,
16
+ linethrough: true)
17
+ end
18
+
19
+ report.start_new_page count: false
20
+ report.start_new_page count: true
21
+
22
+ assert_pdf report.generate
23
+ end
24
+ end