rbpdf 1.20.0 → 1.21.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 (51) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG +18 -0
  3. data/README.md +11 -1
  4. data/lib/rbpdf/version.rb +2 -2
  5. data/lib/rbpdf.rb +69 -46
  6. data/lib/unicode_data.rb +29 -0
  7. data/rbpdf.gemspec +8 -20
  8. metadata +28 -101
  9. data/test/err_font1.rb +0 -7
  10. data/test/err_font2.rb +0 -8
  11. data/test/input.jpg +0 -0
  12. data/test/json: +0 -0
  13. data/test/logo_rbpdf_8bit .png +0 -0
  14. data/test/logo_rbpdf_8bit+ .png +0 -0
  15. data/test/logo_rbpdf_8bit.gif +0 -0
  16. data/test/logo_rbpdf_8bit.jpg +0 -0
  17. data/test/logo_rbpdf_8bit.png +0 -0
  18. data/test/logo_rbpdf_8bit_alpha.gif +0 -0
  19. data/test/logo_rbpdf_mono_gray.jpg +0 -0
  20. data/test/logo_rbpdf_mono_gray.png +0 -0
  21. data/test/logo_rbpdf_mono_rgb.jpg +0 -0
  22. data/test/logo_rbpdf_mono_rgb.png +0 -0
  23. data/test/output.png +0 -0
  24. data/test/png_test_alpha.png +0 -0
  25. data/test/png_test_msk_alpha.png +0 -0
  26. data/test/png_test_non_alpha.png +0 -0
  27. data/test/rbpdf_bidi_test.rb +0 -453
  28. data/test/rbpdf_bookmark_test.rb +0 -66
  29. data/test/rbpdf_cell_test.rb +0 -231
  30. data/test/rbpdf_content_test.rb +0 -213
  31. data/test/rbpdf_css_test.rb +0 -640
  32. data/test/rbpdf_dom_test.rb +0 -272
  33. data/test/rbpdf_examples_test.rb +0 -83
  34. data/test/rbpdf_font_func_test.rb +0 -45
  35. data/test/rbpdf_font_style_test.rb +0 -37
  36. data/test/rbpdf_font_test.rb +0 -308
  37. data/test/rbpdf_format_test.rb +0 -30
  38. data/test/rbpdf_func_test.rb +0 -139
  39. data/test/rbpdf_html_anchor_test.rb +0 -105
  40. data/test/rbpdf_html_func_test.rb +0 -170
  41. data/test/rbpdf_html_test.rb +0 -658
  42. data/test/rbpdf_htmlcell_test.rb +0 -60
  43. data/test/rbpdf_http_test.rb +0 -76
  44. data/test/rbpdf_image_rmagick_test.rb +0 -170
  45. data/test/rbpdf_image_test.rb +0 -174
  46. data/test/rbpdf_test.rb +0 -375
  47. data/test/rbpdf_transaction_test.rb +0 -203
  48. data/test/rbpdf_viewerpreferences_test.rb +0 -41
  49. data/test/rbpdf_write_test.rb +0 -229
  50. data/test/test.rb +0 -22
  51. data/test/test_helper.rb +0 -9
@@ -1,170 +0,0 @@
1
- # Copyright (c) 2011-2017 NAITOH Jun
2
- # Released under the MIT license
3
- # http://www.opensource.org/licenses/MIT
4
-
5
- require 'test_helper'
6
-
7
- class RbpdfTest < Test::Unit::TestCase
8
- class MYPDF < RBPDF
9
- def addHTMLVertSpace(hbz, hb, cell, firstorlast)
10
- super
11
- end
12
- def sanitize_html(html)
13
- super
14
- end
15
- end
16
-
17
- test "html func addHTMLVertSpace empty lines test" do
18
- pdf = MYPDF.new
19
- pdf.add_page()
20
-
21
- # same line, start position
22
- x1 = pdf.get_x
23
- pdf.set_x(x1 + 10)
24
- y1 = pdf.get_y
25
- pdf.addHTMLVertSpace(1, 0, false, true)
26
- x2 = pdf.get_x
27
- y2 = pdf.get_y
28
- assert_equal x1, x2
29
- assert_equal y1, y2
30
-
31
- # same line, @c_margin position
32
- margins = pdf.get_margins
33
-
34
- x1 = pdf.get_x
35
- y1 = pdf.get_y
36
- pdf.addHTMLVertSpace(1, 0, true, true)
37
- x2 = pdf.get_x
38
- y2 = pdf.get_y
39
- assert_equal x1 + margins['cell'], x2
40
- assert_equal y1, y2
41
- end
42
-
43
- test "html func addHTMLVertSpace add line test" do
44
- pdf = MYPDF.new
45
- pdf.add_page()
46
-
47
- # next line, start position
48
- x1 = pdf.get_x
49
- pdf.set_x(x1 + 10)
50
- y1 = pdf.get_y
51
- pdf.addHTMLVertSpace(5, 0, false, false)
52
- x2 = pdf.get_x
53
- y2 = pdf.get_y
54
- assert_equal x1, x2
55
- assert_equal y1 + 5, y2
56
-
57
- # next line, @c_margin position
58
- margins = pdf.get_margins
59
-
60
- x1 = pdf.get_x
61
- y1 = pdf.get_y
62
- pdf.addHTMLVertSpace(5, 0, true, false)
63
- x2 = pdf.get_x
64
- y2 = pdf.get_y
65
- assert_equal x1 + margins['cell'], x2
66
- assert_equal y1 + 5, y2
67
- end
68
-
69
- test "html func addHTMLVertSpace height of the break test 1" do
70
- pdf = MYPDF.new
71
- pdf.add_page()
72
-
73
- margins = pdf.get_margins
74
- x1 = pdf.get_x
75
- y1 = pdf.get_y
76
- pdf.addHTMLVertSpace(0, 5, true, false) # height of the break : 5
77
- x2 = pdf.get_x
78
- y2 = pdf.get_y
79
- assert_equal x1 + margins['cell'], x2
80
- assert_equal y1 + 5, y2
81
-
82
- pdf.addHTMLVertSpace(0, 5, true, false) # height of the break : 5
83
- x3 = pdf.get_x
84
- y3 = pdf.get_y
85
- assert_equal x2, x3
86
- assert_equal y2, y3
87
-
88
- pdf.addHTMLVertSpace(0, 5 + 2, true, false) # height of the break : 7
89
- x4 = pdf.get_x
90
- y4 = pdf.get_y
91
- assert_equal x3, x4
92
- assert_equal y3 + 2, y4
93
-
94
- pdf.addHTMLVertSpace(0, 5, true, false) # height of the break : 7
95
- x5 = pdf.get_x
96
- y5 = pdf.get_y
97
- assert_equal x4, x5
98
- assert_equal y4, y5
99
-
100
- pdf.addHTMLVertSpace(0, 5 + 2 + 1, true, false) # height of the break : 8
101
- x6 = pdf.get_x
102
- y6 = pdf.get_y
103
- assert_equal x5, x6
104
- assert_equal y5 + 1, y6
105
-
106
- pdf.addHTMLVertSpace(0, 10, true, true) # height of the break : 0 (reset)
107
- x7 = pdf.get_x
108
- y7 = pdf.get_y
109
- assert_equal x6, x7
110
- assert_equal y6, y7
111
-
112
- pdf.addHTMLVertSpace(0, 2, true, false) # height of the break : 2
113
- x8 = pdf.get_x
114
- y8 = pdf.get_y
115
- assert_equal x7, x8
116
- assert_equal y7 + 2, y8
117
- end
118
-
119
- test "html func addHTMLVertSpace height of the break test 2" do
120
- pdf = MYPDF.new
121
- pdf.add_page()
122
-
123
- x1 = pdf.get_x
124
- y1 = pdf.get_y
125
- pdf.addHTMLVertSpace(10, 5, false, false) # height of the break : 5
126
- x2 = pdf.get_x
127
- y2 = pdf.get_y
128
- assert_equal x1, x2
129
- assert_equal y1 + 10 + 5, y2
130
-
131
- pdf.addHTMLVertSpace(10, 5, false, false) # height of the break : 5
132
- x3 = pdf.get_x
133
- y3 = pdf.get_y
134
- assert_equal x2, x3
135
- assert_equal y2 + 10, y3
136
-
137
- pdf.addHTMLVertSpace(10, 5 + 2, false, false) # height of the break : 7
138
- x4 = pdf.get_x
139
- y4 = pdf.get_y
140
- assert_equal x3, x4
141
- assert_equal y3 + 10 + 2, y4
142
- end
143
-
144
- test "html func sanitize test 1" do
145
- pdf = MYPDF.new
146
- pdf.add_page()
147
- html = '<table border="1"><thead><tr><td>ABCD</td><td>EFGH</td><td>IJKL</td></tr></thead><tr><td>abcd</td><td>efgh</td><td>ijkl</td></tr><tr><td>' + 'ABC' + '</td></tr></table>'
148
- html = pdf.sanitize_html(html).gsub(/[\r\n]/,'')
149
-
150
- assert_equal %{<table border="1"><thead><tr><td>ABCD</td><td>EFGH</td><td>IJKL</td></tr></thead><tr><td>abcd</td><td>efgh</td><td>ijkl</td></tr><tr><td>ABC</td></tr></table>}, html
151
- end
152
-
153
- test "html func sanitize test 2" do
154
- pdf = MYPDF.new
155
- pdf.add_page()
156
-
157
- htmlcontent = '1<br><br><br><br><br><br><br><br><br><br> 2<br><br><br><br><br><br><br><br><br><br> 3<br><br><br><br><br><br><br><br><br><br> 4<br><br><br><br><br><br><br><br><br><br> 5<br><br><br><br><br><br><br><br><br><br> 6<br><br><br><br><br><br><br><br><br><br> 7<br><br><br><br><br><br><br><br><br><br> 8<br><br><br><br><br><br><br><br><br><br> 9<br><br><br><br><br><br><br><br><br><br> 10<br><br><br><br><br><br><br><br><br><br> 11<br><br><br><br><br><br><br><br><br><br>'
158
- html = '<table cellpadding="1"><thead><tr><td>ABCD</td><td>EFGH</td><td>IJKL</td></tr></thead><tr><td>abcd</td><td>efgh</td><td>ijkl</td></tr><tr><td>' + htmlcontent + '</td></tr></table>'
159
- html = pdf.sanitize_html(html).gsub(/[\r\n]/,'')
160
- assert_equal %{<table cellpadding="1"><thead><tr><td>ABCD</td><td>EFGH</td><td>IJKL</td></tr></thead><tr><td>abcd</td><td>efgh</td><td>ijkl</td></tr><tr><td>1<br><br><br><br><br><br><br><br><br><br> 2<br><br><br><br><br><br><br><br><br><br> 3<br><br><br><br><br><br><br><br><br><br> 4<br><br><br><br><br><br><br><br><br><br> 5<br><br><br><br><br><br><br><br><br><br> 6<br><br><br><br><br><br><br><br><br><br> 7<br><br><br><br><br><br><br><br><br><br> 8<br><br><br><br><br><br><br><br><br><br> 9<br><br><br><br><br><br><br><br><br><br> 10<br><br><br><br><br><br><br><br><br><br> 11<br><br><br><br><br><br><br><br><br><br></td></tr></table>}, html
161
- end
162
-
163
- test "html func sanitize open angled bracket '<' test" do
164
- pdf = MYPDF.new
165
- pdf.add_page()
166
- html = "<p>AAA '<'-BBB << <<< '</' '<//' '<///' <</ <<// CCC.</p>"
167
- html = pdf.sanitize_html(html).gsub(/[\r\n]/,'')
168
- assert_equal %{<p>AAA '&lt;'-BBB &lt;&lt; &lt;&lt;&lt; '&lt;/' '&lt;//' '&lt;///' &lt;&lt;/ &lt;&lt;// CCC.</p>}, html
169
- end
170
- end