rbpdf 1.19.0 → 1.19.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +10 -0
- data/Gemfile +4 -0
- data/MIT-LICENSE +20 -0
- data/README.md +16 -0
- data/Rakefile +4 -0
- data/lib/core/rmagick.rb +1 -1
- data/lib/rbpdf.rb +82 -47
- data/lib/rbpdf/version.rb +5 -1
- data/lib/rbpdf_encode_ok.rb +15170 -0
- data/lib/rbpdf_encode_ok2.rb +15178 -0
- data/lib/unicode_data.rb +18 -1
- data/rbpdf.gemspec +21 -5
- data/test/_rbpdf_image_test.rb_ +161 -0
- data/test/err_font1.rb +4 -0
- data/test/err_font2.rb +4 -0
- data/test/logo_rbpdf_8bit .png +0 -0
- data/test/logo_rbpdf_8bit+ .png +0 -0
- data/test/logo_rbpdf_8bit_/343/201/202/343/201/204/343/201/206/343/201/210/343/201/212.png +0 -0
- data/test/rbpdf_bidi_test.rb +76 -71
- data/test/rbpdf_bookmark_test.rb +38 -28
- data/test/rbpdf_cell_test.rb +120 -40
- data/test/rbpdf_content_test.rb +62 -45
- data/test/rbpdf_css_test.rb +275 -271
- data/test/rbpdf_dom_test.rb +123 -113
- data/test/rbpdf_font_func_test.rb +6 -2
- data/test/rbpdf_font_style_test.rb +7 -3
- data/test/rbpdf_font_test.rb +44 -27
- data/test/rbpdf_format_test.rb +15 -11
- data/test/rbpdf_func_test.rb +26 -22
- data/test/rbpdf_html_anchor_test.rb +11 -13
- data/test/rbpdf_html_func_test.rb +34 -30
- data/test/rbpdf_html_test.rb +58 -5
- data/test/rbpdf_htmlcell_test.rb +10 -6
- data/test/rbpdf_http_test.rb +67 -0
- data/test/rbpdf_image_rmagick_test.rb +70 -87
- data/test/rbpdf_image_test.rb +86 -22
- data/test/rbpdf_test.rb +88 -90
- data/test/rbpdf_transaction_test.rb +4 -0
- data/test/rbpdf_viewerpreferences_test.rb +5 -1
- data/test/rbpdf_write_test.rb +49 -45
- data/test/test_helper.rb +5 -0
- data/test_unicode.rbpdf +4 -0
- metadata +22 -9
data/test/rbpdf_dom_test.rb
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
# Copyright (c) 2011-2017 NAITOH Jun
|
2
|
+
# Released under the MIT license
|
3
|
+
# http://www.opensource.org/licenses/MIT
|
4
|
+
|
1
5
|
require 'test_helper'
|
2
6
|
|
3
7
|
class RbpdfTest < Test::Unit::TestCase
|
@@ -18,104 +22,110 @@ class RbpdfTest < Test::Unit::TestCase
|
|
18
22
|
|
19
23
|
# Simple Text
|
20
24
|
dom = pdf.getHtmlDomArray('abc')
|
21
|
-
assert_equal 0,
|
25
|
+
assert_equal 0, dom[0]['parent'] # Root
|
22
26
|
assert_equal false, dom[0]['tag']
|
23
27
|
assert_equal({'tag'=>false, 'value'=>'abc', 'elkey'=>0, 'parent'=>0, 'block'=>false}, dom[1])
|
24
28
|
|
29
|
+
# Back Slash Text
|
30
|
+
dom = pdf.getHtmlDomArray("a\\bc")
|
31
|
+
assert_equal 0, dom[0]['parent'] # Root
|
32
|
+
assert_equal false, dom[0]['tag']
|
33
|
+
assert_equal({'tag'=>false, 'value'=>"a\\bc", 'elkey'=>0, 'parent'=>0, 'block'=>false}, dom[1])
|
34
|
+
|
25
35
|
# Simple Tag
|
26
36
|
dom = pdf.getHtmlDomArray('<b>abc</b>')
|
27
|
-
assert_equal dom.length
|
37
|
+
assert_equal 4, dom.length
|
28
38
|
|
29
|
-
assert_equal 0,
|
39
|
+
assert_equal 0, dom[0]['parent'] # Root
|
30
40
|
assert_equal false, dom[0]['tag']
|
31
|
-
assert_equal({},
|
41
|
+
assert_equal({}, dom[0]['attribute'])
|
32
42
|
|
33
|
-
assert_equal dom[1]['parent']
|
34
|
-
assert_equal dom[1]['elkey']
|
35
|
-
assert_equal dom[1]['tag']
|
36
|
-
assert_equal dom[1]['opening']
|
37
|
-
assert_equal dom[1]['value']
|
38
|
-
assert_equal
|
43
|
+
assert_equal 0, dom[1]['parent'] # parent -> parent tag key
|
44
|
+
assert_equal 0, dom[1]['elkey']
|
45
|
+
assert_equal true, dom[1]['tag']
|
46
|
+
assert_equal true, dom[1]['opening']
|
47
|
+
assert_equal 'b', dom[1]['value']
|
48
|
+
assert_equal({}, dom[1]['attribute'])
|
39
49
|
|
40
50
|
assert_equal({'tag' => false, 'value'=>'abc', 'elkey'=>1, 'parent'=>1, 'block'=>false}, dom[2]) # parent -> open tag key
|
41
51
|
|
42
|
-
assert_equal dom[3]['parent']
|
43
|
-
assert_equal dom[3]['elkey']
|
44
|
-
assert_equal dom[3]['tag']
|
45
|
-
assert_equal dom[3]['opening']
|
46
|
-
assert_equal dom[3]['value']
|
52
|
+
assert_equal 1, dom[3]['parent'] # parent -> open tag key
|
53
|
+
assert_equal 2, dom[3]['elkey']
|
54
|
+
assert_equal true, dom[3]['tag']
|
55
|
+
assert_equal false, dom[3]['opening']
|
56
|
+
assert_equal 'b', dom[3]['value']
|
47
57
|
|
48
58
|
# Error Tag (doble colse tag)
|
49
59
|
dom = pdf.getHtmlDomArray('</ul></div>')
|
50
60
|
|
51
|
-
assert_equal 0,
|
61
|
+
assert_equal 0, dom[0]['parent'] # Root
|
52
62
|
assert_equal false, dom[0]['tag']
|
53
|
-
assert_equal({},
|
63
|
+
assert_equal({}, dom[0]['attribute'])
|
54
64
|
|
55
65
|
if dom.length == 3 # for Rails 3.x/4.0/4.1 (no use Rails 4.2 later)
|
56
|
-
assert_equal dom[1]['parent']
|
57
|
-
assert_equal dom[1]['elkey']
|
58
|
-
assert_equal dom[1]['tag']
|
59
|
-
assert_equal dom[1]['opening']
|
60
|
-
assert_equal dom[1]['value']
|
61
|
-
|
62
|
-
assert_equal dom[2]['parent']
|
63
|
-
assert_equal dom[2]['elkey']
|
64
|
-
assert_equal dom[2]['tag']
|
65
|
-
assert_equal dom[2]['opening']
|
66
|
-
assert_equal dom[2]['value']
|
66
|
+
assert_equal 0, dom[1]['parent'] # parent -> Root key
|
67
|
+
assert_equal 0, dom[1]['elkey']
|
68
|
+
assert_equal true, dom[1]['tag']
|
69
|
+
assert_equal false, dom[1]['opening']
|
70
|
+
assert_equal 'ul', dom[1]['value']
|
71
|
+
|
72
|
+
assert_equal 0, dom[2]['parent'] # parent -> Root key
|
73
|
+
assert_equal 1, dom[2]['elkey']
|
74
|
+
assert_equal true, dom[2]['tag']
|
75
|
+
assert_equal false, dom[2]['opening']
|
76
|
+
assert_equal 'div', dom[2]['value']
|
67
77
|
end
|
68
78
|
|
69
79
|
# Attribute
|
70
80
|
dom = pdf.getHtmlDomArray('<p style="text-align:justify">abc</p>')
|
71
|
-
assert_equal dom.length
|
81
|
+
assert_equal 4, dom.length
|
72
82
|
|
73
|
-
assert_equal 0,
|
83
|
+
assert_equal 0, dom[0]['parent'] # Root
|
74
84
|
assert_equal false, dom[0]['tag']
|
75
|
-
assert_equal({},
|
85
|
+
assert_equal({}, dom[0]['attribute'])
|
76
86
|
|
77
|
-
assert_equal dom[1]['parent']
|
78
|
-
assert_equal dom[1]['elkey']
|
79
|
-
assert_equal dom[1]['tag']
|
80
|
-
assert_equal dom[1]['opening']
|
81
|
-
assert_equal dom[1]['value']
|
87
|
+
assert_equal 0, dom[1]['parent'] # parent -> parent tag key
|
88
|
+
assert_equal 0, dom[1]['elkey']
|
89
|
+
assert_equal true, dom[1]['tag']
|
90
|
+
assert_equal true, dom[1]['opening']
|
91
|
+
assert_equal 'p', dom[1]['value']
|
82
92
|
assert_not_nil dom[1]['attribute']
|
83
|
-
assert_equal dom[1]['attribute']['style'].gsub(' ', '')
|
84
|
-
assert_equal dom[1]['align']
|
93
|
+
assert_equal 'text-align:justify;', dom[1]['attribute']['style'].gsub(' ', '')
|
94
|
+
assert_equal 'J', dom[1]['align']
|
85
95
|
|
86
96
|
# Table border
|
87
97
|
dom = pdf.getHtmlDomArray('<table border="1"><tr><td>abc</td></tr></table>')
|
88
98
|
## added marker tag (by getHtmlDomArray()) ##
|
89
99
|
# '<table border="1"><tr><td>abc<marker style="font-size:0"/></td></tr></table>'
|
90
|
-
assert_equal dom.length
|
100
|
+
assert_equal 9, dom.length
|
91
101
|
|
92
|
-
assert_equal dom[1]['parent']
|
93
|
-
assert_equal dom[1]['elkey']
|
94
|
-
assert_equal dom[1]['tag']
|
95
|
-
assert_equal dom[1]['opening']
|
96
|
-
assert_equal dom[1]['value']
|
97
|
-
assert_equal dom[1]['attribute']['border']
|
102
|
+
assert_equal 0, dom[1]['parent'] # parent -> parent tag key
|
103
|
+
assert_equal 0, dom[1]['elkey']
|
104
|
+
assert_equal true, dom[1]['tag']
|
105
|
+
assert_equal true, dom[1]['opening']
|
106
|
+
assert_equal 'table', dom[1]['value']
|
107
|
+
assert_equal '1', dom[1]['attribute']['border']
|
98
108
|
|
99
109
|
## marker tag (by getHtmlDomArray())
|
100
|
-
assert_equal dom[5]['parent']
|
101
|
-
assert_equal dom[5]['elkey']
|
102
|
-
assert_equal dom[5]['tag']
|
103
|
-
assert_equal dom[5]['opening']
|
104
|
-
assert_equal dom[5]['value']
|
105
|
-
assert_equal dom[5]['attribute']['style']
|
110
|
+
assert_equal 3, dom[5]['parent'] # parent -> parent tag key
|
111
|
+
assert_equal 4, dom[5]['elkey']
|
112
|
+
assert_equal true, dom[5]['tag']
|
113
|
+
assert_equal true, dom[5]['opening']
|
114
|
+
assert_equal 'marker', dom[5]['value']
|
115
|
+
assert_equal 'font-size:0', dom[5]['attribute']['style']
|
106
116
|
|
107
117
|
# Table td Width
|
108
118
|
dom = pdf.getHtmlDomArray('<table><tr><td width="10">abc</td></tr></table>')
|
109
119
|
## added marker tag (by getHtmlDomArray()) ##
|
110
120
|
# '<table><tr><td width="10">abc<marker style="font-size:0"/></td></tr></table>'
|
111
|
-
assert_equal dom.length
|
112
|
-
|
113
|
-
assert_equal dom[3]['parent']
|
114
|
-
assert_equal dom[3]['elkey']
|
115
|
-
assert_equal dom[3]['tag']
|
116
|
-
assert_equal dom[3]['opening']
|
117
|
-
assert_equal dom[3]['value']
|
118
|
-
assert_equal dom[3]['width']
|
121
|
+
assert_equal 9, dom.length
|
122
|
+
|
123
|
+
assert_equal 2, dom[3]['parent'] # parent -> parent tag key
|
124
|
+
assert_equal 2, dom[3]['elkey']
|
125
|
+
assert_equal true, dom[3]['tag']
|
126
|
+
assert_equal true, dom[3]['opening']
|
127
|
+
assert_equal 'td', dom[3]['value']
|
128
|
+
assert_equal '10', dom[3]['width']
|
119
129
|
end
|
120
130
|
|
121
131
|
test "Dom self close tag test" do
|
@@ -123,40 +133,40 @@ class RbpdfTest < Test::Unit::TestCase
|
|
123
133
|
|
124
134
|
# Simple Tag
|
125
135
|
dom = pdf.getHtmlDomArray('<b>ab<br>c</b>')
|
126
|
-
assert_equal dom.length
|
136
|
+
assert_equal 6, dom.length
|
127
137
|
|
128
|
-
assert_equal 0,
|
138
|
+
assert_equal 0, dom[0]['parent'] # Root
|
129
139
|
assert_equal false, dom[0]['tag']
|
130
|
-
assert_equal({},
|
140
|
+
assert_equal({}, dom[0]['attribute'])
|
131
141
|
|
132
142
|
# <b>
|
133
|
-
assert_equal dom[1]['parent']
|
134
|
-
assert_equal dom[1]['elkey']
|
135
|
-
assert_equal dom[1]['tag']
|
136
|
-
assert_equal dom[1]['opening']
|
137
|
-
assert_equal dom[1]['value']
|
138
|
-
assert_equal
|
143
|
+
assert_equal 0, dom[1]['parent'] # parent -> parent tag key
|
144
|
+
assert_equal 0, dom[1]['elkey']
|
145
|
+
assert_equal true, dom[1]['tag']
|
146
|
+
assert_equal true, dom[1]['opening']
|
147
|
+
assert_equal 'b', dom[1]['value']
|
148
|
+
assert_equal({}, dom[1]['attribute'])
|
139
149
|
|
140
150
|
# ab
|
141
151
|
assert_equal({'tag' => false, 'value'=>'ab', 'elkey'=>1, 'parent'=>1, 'block'=>false}, dom[2]) # parent -> open tag key
|
142
152
|
|
143
153
|
# <br>
|
144
|
-
assert_equal dom[3]['parent']
|
145
|
-
assert_equal dom[3]['elkey']
|
146
|
-
assert_equal dom[3]['tag']
|
147
|
-
assert_equal dom[3]['opening']
|
148
|
-
assert_equal dom[3]['value']
|
149
|
-
assert_equal
|
154
|
+
assert_equal 1, dom[3]['parent'] # parent -> open tag key
|
155
|
+
assert_equal 2, dom[3]['elkey']
|
156
|
+
assert_equal true, dom[3]['tag']
|
157
|
+
assert_equal true, dom[3]['opening']
|
158
|
+
assert_equal 'br', dom[3]['value']
|
159
|
+
assert_equal({}, dom[3]['attribute'])
|
150
160
|
|
151
161
|
# c
|
152
162
|
assert_equal({'tag' => false, 'value'=>'c', 'elkey'=>3, 'parent'=>1, 'block'=>false}, dom[4]) # parent -> open tag key
|
153
163
|
|
154
164
|
# </b>
|
155
|
-
assert_equal dom[5]['parent']
|
156
|
-
assert_equal dom[5]['elkey']
|
157
|
-
assert_equal dom[5]['tag']
|
158
|
-
assert_equal dom[5]['opening']
|
159
|
-
assert_equal dom[5]['value']
|
165
|
+
assert_equal 1, dom[5]['parent'] # parent -> open tag key
|
166
|
+
assert_equal 4, dom[5]['elkey']
|
167
|
+
assert_equal true, dom[5]['tag']
|
168
|
+
assert_equal false, dom[5]['opening']
|
169
|
+
assert_equal 'b', dom[5]['value']
|
160
170
|
|
161
171
|
dom2 = pdf.getHtmlDomArray('<b>ab<br/>c</b>')
|
162
172
|
assert_equal dom, dom2
|
@@ -187,83 +197,83 @@ class RbpdfTest < Test::Unit::TestCase
|
|
187
197
|
pdf = MYPDF.new
|
188
198
|
pdf.add_page
|
189
199
|
temprtl = pdf.get_temp_rtl
|
190
|
-
assert_equal
|
200
|
+
assert_equal false, temprtl
|
191
201
|
|
192
202
|
# LTR, ltr
|
193
203
|
htmlcontent = '<p dir="ltr">HTML Example</p>'
|
194
204
|
dom = pdf.getHtmlDomArray(htmlcontent)
|
195
205
|
dom = pdf.openHTMLTagHandler(dom, 1, false)
|
196
206
|
|
197
|
-
assert_equal dom[1]['tag']
|
198
|
-
assert_equal dom[1]['opening']
|
199
|
-
assert_equal dom[1]['value']
|
200
|
-
assert_equal dom[1]['attribute']['dir']
|
207
|
+
assert_equal true, dom[1]['tag']
|
208
|
+
assert_equal true, dom[1]['opening']
|
209
|
+
assert_equal 'p', dom[1]['value']
|
210
|
+
assert_equal 'ltr', dom[1]['attribute']['dir']
|
201
211
|
|
202
212
|
temprtl = pdf.get_temp_rtl
|
203
|
-
assert_equal
|
213
|
+
assert_equal false, temprtl
|
204
214
|
|
205
215
|
# LTR, rtl
|
206
216
|
htmlcontent = '<p dir="rtl">HTML Example</p>'
|
207
217
|
dom = pdf.getHtmlDomArray(htmlcontent)
|
208
218
|
dom = pdf.openHTMLTagHandler(dom, 1, false)
|
209
|
-
assert_equal dom.length
|
219
|
+
assert_equal 4, dom.length
|
210
220
|
|
211
|
-
assert_equal dom[1]['tag']
|
212
|
-
assert_equal dom[1]['opening']
|
213
|
-
assert_equal dom[1]['value']
|
214
|
-
assert_equal dom[1]['attribute']['dir']
|
221
|
+
assert_equal true, dom[1]['tag']
|
222
|
+
assert_equal true, dom[1]['opening']
|
223
|
+
assert_equal 'p', dom[1]['value']
|
224
|
+
assert_equal 'rtl', dom[1]['attribute']['dir']
|
215
225
|
|
216
226
|
temprtl = pdf.get_temp_rtl
|
217
|
-
assert_equal
|
227
|
+
assert_equal 'R', temprtl
|
218
228
|
|
219
229
|
# LTR, ltr
|
220
230
|
htmlcontent = '<p dir="ltr">HTML Example</p>'
|
221
231
|
dom = pdf.getHtmlDomArray(htmlcontent)
|
222
232
|
dom = pdf.openHTMLTagHandler(dom, 1, false)
|
223
233
|
|
224
|
-
assert_equal dom[1]['tag']
|
225
|
-
assert_equal dom[1]['opening']
|
226
|
-
assert_equal dom[1]['value']
|
227
|
-
assert_equal dom[1]['attribute']['dir']
|
234
|
+
assert_equal true, dom[1]['tag']
|
235
|
+
assert_equal true, dom[1]['opening']
|
236
|
+
assert_equal 'p', dom[1]['value']
|
237
|
+
assert_equal 'ltr', dom[1]['attribute']['dir']
|
228
238
|
|
229
239
|
temprtl = pdf.get_temp_rtl
|
230
|
-
assert_equal
|
240
|
+
assert_equal false, temprtl
|
231
241
|
end
|
232
242
|
|
233
243
|
test "Dom HTMLTagHandler DIR LTR test" do
|
234
244
|
pdf = MYPDF.new
|
235
245
|
pdf.add_page
|
236
246
|
temprtl = pdf.get_temp_rtl
|
237
|
-
assert_equal
|
247
|
+
assert_equal false, temprtl
|
238
248
|
pdf.set_rtl(true)
|
239
249
|
|
240
250
|
# RTL, ltr
|
241
251
|
htmlcontent = '<p dir="ltr">HTML Example</p>'
|
242
252
|
dom = pdf.getHtmlDomArray(htmlcontent)
|
243
253
|
dom = pdf.openHTMLTagHandler(dom, 1, false)
|
244
|
-
assert_equal dom.length
|
254
|
+
assert_equal 4, dom.length
|
245
255
|
|
246
|
-
assert_equal dom[1]['tag']
|
247
|
-
assert_equal dom[1]['opening']
|
248
|
-
assert_equal dom[1]['value']
|
249
|
-
assert_equal dom[1]['attribute']['dir']
|
256
|
+
assert_equal true, dom[1]['tag']
|
257
|
+
assert_equal true, dom[1]['opening']
|
258
|
+
assert_equal 'p', dom[1]['value']
|
259
|
+
assert_equal 'ltr', dom[1]['attribute']['dir']
|
250
260
|
|
251
261
|
temprtl = pdf.get_temp_rtl
|
252
|
-
assert_equal
|
262
|
+
assert_equal 'L', temprtl
|
253
263
|
|
254
264
|
# RTL, rtl
|
255
265
|
htmlcontent = '<p dir="rtl">HTML Example</p>'
|
256
266
|
dom = pdf.getHtmlDomArray(htmlcontent)
|
257
267
|
dom = pdf.openHTMLTagHandler(dom, 1, false)
|
258
|
-
assert_equal dom.length
|
268
|
+
assert_equal 4, dom.length
|
259
269
|
|
260
|
-
assert_equal dom[1]['tag']
|
261
|
-
assert_equal dom[1]['opening']
|
262
|
-
assert_equal dom[1]['value']
|
263
|
-
assert_equal dom[1]['attribute']['dir']
|
270
|
+
assert_equal true, dom[1]['tag']
|
271
|
+
assert_equal true, dom[1]['opening']
|
272
|
+
assert_equal 'p', dom[1]['value']
|
273
|
+
assert_equal 'rtl', dom[1]['attribute']['dir']
|
264
274
|
|
265
275
|
temprtl = pdf.get_temp_rtl
|
266
|
-
assert_equal
|
276
|
+
assert_equal false, temprtl
|
267
277
|
end
|
268
278
|
|
269
279
|
test "Dom HTMLTagHandler img y position with height attribute test" do
|
@@ -273,7 +283,7 @@ class RbpdfTest < Test::Unit::TestCase
|
|
273
283
|
# Image Error HTML
|
274
284
|
htmlcontent = '<img src="/public/ng.png" alt="test alt attribute" width="30" height="30" border="0"/>'
|
275
285
|
dom1 = pdf.getHtmlDomArray(htmlcontent)
|
276
|
-
y1 = pdf.get_y
|
286
|
+
#y1 = pdf.get_y
|
277
287
|
|
278
288
|
dom2 = pdf.openHTMLTagHandler(dom1, 1, false)
|
279
289
|
y2 = pdf.get_y
|
@@ -302,7 +312,7 @@ class RbpdfTest < Test::Unit::TestCase
|
|
302
312
|
|
303
313
|
htmlcontent = "<p>AAA '<'-BBB << <<< '</' '<//' '<///' CCC.</p>"
|
304
314
|
dom = pdf.getHtmlDomArray(htmlcontent)
|
305
|
-
assert_equal dom.length
|
315
|
+
assert_equal 4, dom.length
|
306
316
|
|
307
317
|
assert_equal 0, dom[0]['parent'] # Root
|
308
318
|
assert_equal false, dom[0]['tag']
|
@@ -332,7 +342,7 @@ class RbpdfTest < Test::Unit::TestCase
|
|
332
342
|
|
333
343
|
pdf = MYPDF.new('P', 'mm', 'A4', true, "UTF-8", true)
|
334
344
|
htmlcontent = 'test'.force_encoding('ASCII-8BIT')
|
335
|
-
|
336
|
-
assert_equal htmlcontent.encoding.to_s
|
345
|
+
pdf.getHtmlDomArray(htmlcontent)
|
346
|
+
assert_equal 'ASCII-8BIT', htmlcontent.encoding.to_s
|
337
347
|
end
|
338
348
|
end
|
@@ -1,3 +1,7 @@
|
|
1
|
+
# Copyright (c) 2011-2017 NAITOH Jun
|
2
|
+
# Released under the MIT license
|
3
|
+
# http://www.opensource.org/licenses/MIT
|
4
|
+
|
1
5
|
require 'test_helper'
|
2
6
|
|
3
7
|
class RbpdfFontFuncTest < Test::Unit::TestCase
|
@@ -34,8 +38,8 @@ class RbpdfFontFuncTest < Test::Unit::TestCase
|
|
34
38
|
pdf = MYPDF.new
|
35
39
|
|
36
40
|
apxo_obj_id = pdf.putAPXObject
|
37
|
-
assert_equal
|
41
|
+
assert_equal 400001, apxo_obj_id
|
38
42
|
apxo_obj_id = pdf.putAPXObject
|
39
|
-
assert_equal
|
43
|
+
assert_equal 400002, apxo_obj_id
|
40
44
|
end
|
41
45
|
end
|
@@ -1,3 +1,7 @@
|
|
1
|
+
# Copyright (c) 2011-2017 NAITOH Jun
|
2
|
+
# Released under the MIT license
|
3
|
+
# http://www.opensource.org/licenses/MIT
|
4
|
+
|
1
5
|
require 'test_helper'
|
2
6
|
|
3
7
|
class RbpdfFontStyleTest < Test::Unit::TestCase
|
@@ -16,18 +20,18 @@ class RbpdfFontStyleTest < Test::Unit::TestCase
|
|
16
20
|
test "Font dounderline function test 1" do
|
17
21
|
pdf = MYPDF.new
|
18
22
|
line = pdf.dounderline(10, 10, "test")
|
19
|
-
assert_equal
|
23
|
+
assert_equal '28.35 812.94 19.34 -0.60 re f', line
|
20
24
|
end
|
21
25
|
|
22
26
|
test "Font dolinethrough function test 1" do
|
23
27
|
pdf = MYPDF.new
|
24
28
|
line = pdf.dolinethrough(10, 10, "test")
|
25
|
-
assert_equal
|
29
|
+
assert_equal '28.35 816.94 19.34 -0.60 re f', line
|
26
30
|
end
|
27
31
|
|
28
32
|
test "Font dooverline function test 1" do
|
29
33
|
pdf = MYPDF.new
|
30
34
|
line = pdf.dooverline(10, 10, "test")
|
31
|
-
assert_equal
|
35
|
+
assert_equal '28.35 824.34 19.34 -0.60 re f', line
|
32
36
|
end
|
33
37
|
end
|
data/test/rbpdf_font_test.rb
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
# Copyright (c) 2011-2017 NAITOH Jun
|
2
|
+
# Released under the MIT license
|
3
|
+
# http://www.opensource.org/licenses/MIT
|
4
|
+
|
1
5
|
require 'test_helper'
|
2
6
|
|
3
7
|
class RbpdfFontTest < Test::Unit::TestCase
|
@@ -49,17 +53,17 @@ class RbpdfFontTest < Test::Unit::TestCase
|
|
49
53
|
pdf.set_font('helvetica', 'BI', 18)
|
50
54
|
|
51
55
|
font = pdf.getFontBuffer('helvetica')
|
52
|
-
assert_equal font['name']
|
53
|
-
assert_equal font['dw']
|
56
|
+
assert_equal 'Helvetica', font['name']
|
57
|
+
assert_equal 556, font['dw']
|
54
58
|
font = pdf.getFontBuffer('helveticaB')
|
55
|
-
assert_equal font['name']
|
56
|
-
assert_equal font['dw']
|
59
|
+
assert_equal 'Helvetica-Bold', font['name']
|
60
|
+
assert_equal 556, font['dw']
|
57
61
|
font = pdf.getFontBuffer('helveticaI')
|
58
|
-
assert_equal font['name']
|
59
|
-
assert_equal font['dw']
|
62
|
+
assert_equal 'Helvetica-Oblique', font['name']
|
63
|
+
assert_equal 556, font['dw']
|
60
64
|
font = pdf.getFontBuffer('helveticaBI')
|
61
|
-
assert_equal font['name']
|
62
|
-
assert_equal font['dw']
|
65
|
+
assert_equal 'Helvetica-BoldOblique', font['name']
|
66
|
+
assert_equal 556, font['dw']
|
63
67
|
|
64
68
|
pdf.set_font('times', '', 18)
|
65
69
|
pdf.set_font('times', 'B', 18)
|
@@ -67,13 +71,13 @@ class RbpdfFontTest < Test::Unit::TestCase
|
|
67
71
|
pdf.set_font('times', 'BI', 18)
|
68
72
|
|
69
73
|
font = pdf.getFontBuffer('times')
|
70
|
-
assert_equal font['name']
|
74
|
+
assert_equal 'Times-Roman', font['name']
|
71
75
|
font = pdf.getFontBuffer('timesB')
|
72
|
-
assert_equal font['name']
|
76
|
+
assert_equal 'Times-Bold', font['name']
|
73
77
|
font = pdf.getFontBuffer('timesI')
|
74
|
-
assert_equal font['name']
|
78
|
+
assert_equal 'Times-Italic', font['name']
|
75
79
|
font = pdf.getFontBuffer('timesBI')
|
76
|
-
assert_equal font['name']
|
80
|
+
assert_equal 'Times-BoldItalic', font['name']
|
77
81
|
|
78
82
|
pdf.set_font('courier', '', 18)
|
79
83
|
pdf.set_font('courier', 'B', 18)
|
@@ -81,21 +85,21 @@ class RbpdfFontTest < Test::Unit::TestCase
|
|
81
85
|
pdf.set_font('courier', 'BI', 18)
|
82
86
|
|
83
87
|
font = pdf.getFontBuffer('courier')
|
84
|
-
assert_equal font['name']
|
88
|
+
assert_equal 'Courier', font['name']
|
85
89
|
font = pdf.getFontBuffer('courierB')
|
86
|
-
assert_equal font['name']
|
90
|
+
assert_equal 'Courier-Bold', font['name']
|
87
91
|
font = pdf.getFontBuffer('courierI')
|
88
|
-
assert_equal font['name']
|
92
|
+
assert_equal 'Courier-Oblique', font['name']
|
89
93
|
font = pdf.getFontBuffer('courierBI')
|
90
|
-
assert_equal font['name']
|
94
|
+
assert_equal 'Courier-BoldOblique', font['name']
|
91
95
|
|
92
96
|
pdf.set_font('symbol', '', 18)
|
93
97
|
font = pdf.getFontBuffer('symbol')
|
94
|
-
assert_equal font['name']
|
98
|
+
assert_equal 'Symbol', font['name']
|
95
99
|
|
96
100
|
pdf.set_font('zapfdingbats', '', 18)
|
97
101
|
font = pdf.getFontBuffer('zapfdingbats')
|
98
|
-
assert_equal font['name']
|
102
|
+
assert_equal 'ZapfDingbats', font['name']
|
99
103
|
|
100
104
|
pdf.putfonts()
|
101
105
|
end
|
@@ -227,20 +231,24 @@ class RbpdfFontTest < Test::Unit::TestCase
|
|
227
231
|
pdf.set_font('kozgopromedium', 'BI', 18)
|
228
232
|
|
229
233
|
font = pdf.getFontBuffer('kozgopromedium')
|
230
|
-
assert_equal font['desc']['StemV']
|
231
|
-
assert_equal font['desc']['ItalicAngle']
|
234
|
+
assert_equal 99, font['desc']['StemV']
|
235
|
+
assert_equal 0, font['desc']['ItalicAngle']
|
236
|
+
assert_equal 'KozGoPro-Medium-Acro', font['name']
|
232
237
|
|
233
238
|
font = pdf.getFontBuffer('kozgopromediumB')
|
234
|
-
assert_equal font['desc']['StemV']
|
235
|
-
assert_equal font['desc']['ItalicAngle']
|
239
|
+
assert_equal 99 * 2, font['desc']['StemV']
|
240
|
+
assert_equal 0, font['desc']['ItalicAngle']
|
241
|
+
assert_equal 'KozGoPro-Medium-Acro,Bold', font['name']
|
236
242
|
|
237
243
|
font = pdf.getFontBuffer('kozgopromediumI')
|
238
|
-
assert_equal font['desc']['StemV']
|
239
|
-
assert_equal
|
244
|
+
assert_equal 99, font['desc']['StemV']
|
245
|
+
assert_equal(-11, font['desc']['ItalicAngle'])
|
246
|
+
assert_equal 'KozGoPro-Medium-Acro,Italic', font['name']
|
240
247
|
|
241
248
|
font = pdf.getFontBuffer('kozgopromediumBI')
|
242
|
-
assert_equal font['desc']['StemV']
|
243
|
-
assert_equal
|
249
|
+
assert_equal 99 * 2, font['desc']['StemV']
|
250
|
+
assert_equal(-11, font['desc']['ItalicAngle'])
|
251
|
+
assert_equal 'KozGoPro-Medium-Acro,BoldItalic', font['name']
|
244
252
|
|
245
253
|
pdf.set_font('kozminproregular', '', 18)
|
246
254
|
pdf.set_font('kozminproregular', 'B', 18)
|
@@ -265,6 +273,15 @@ class RbpdfFontTest < Test::Unit::TestCase
|
|
265
273
|
pdf.putfonts()
|
266
274
|
end
|
267
275
|
|
276
|
+
test "Set Font fontname test" do
|
277
|
+
pdf = MYPDF.new
|
278
|
+
pdf.set_font('helvetica', '', 18, pdf.send(:getfontpath, 'helvetica.rb'))
|
279
|
+
pdf.set_font('helvetica', 'B', 18, pdf.send(:getfontpath, 'helveticab.rb'))
|
280
|
+
pdf.set_font('helvetica', 'I', 18, pdf.send(:getfontpath, 'helveticai.rb'))
|
281
|
+
pdf.set_font('helvetica', 'BI', 18, pdf.send(:getfontpath, 'helveticabi.rb'))
|
282
|
+
pdf.putfonts()
|
283
|
+
end
|
284
|
+
|
268
285
|
test "Font Error test" do
|
269
286
|
pdf = RBPDF.new
|
270
287
|
RBPDF.k_path_fonts = File.join File.dirname(__FILE__)
|
@@ -277,7 +294,7 @@ class RbpdfFontTest < Test::Unit::TestCase
|
|
277
294
|
err = assert_raises(RuntimeError) {
|
278
295
|
pdf.set_font('err_font1', '', 18)
|
279
296
|
}
|
280
|
-
assert_match
|
297
|
+
assert_match(/RBPDF error: The font definition file has a bad format: .*err_font1.rb/, err.message)
|
281
298
|
|
282
299
|
err = assert_raises(RuntimeError) {
|
283
300
|
pdf.set_font('err_font2', '', 18)
|