langhelp 0.9.8
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.
- data/Changes +2530 -0
- data/bin/mklanghelp +50 -0
- data/data/langhelp/config.sample +889 -0
- data/files +39 -0
- data/graphviz-dot.jpg +0 -0
- data/langhelp.en.html +409 -0
- data/langhelp.en.rd +390 -0
- data/langhelp.ja.html +524 -0
- data/langhelp.ja.rd +487 -0
- data/lib/el4r/emacsruby/autoload/50langhelp.rb +2 -0
- data/lib/el4r/emacsruby/langhelp.rb +864 -0
- data/lib/el4r/emacsruby/test-langhelp.rb +300 -0
- data/lib/langhelp/langhelp-base.rb +649 -0
- data/lib/langhelp/langhelp-sub.rb +1023 -0
- data/lib/langhelp/lh_lua.rb +25 -0
- data/lib/langhelp/lh_perl.rb +112 -0
- data/lib/langhelp/lh_php.rb +34 -0
- data/lib/langhelp/lh_python.rb +31 -0
- data/lib/langhelp/lh_ruby.rb +400 -0
- data/lib/langhelp/mklanghelp.rb +140 -0
- data/lib/langhelp/parse-info.rb +145 -0
- data/ri.jpg +0 -0
- data/setup.rb +1551 -0
- data/test/a_classes.lst +2 -0
- data/test/a_methods.lst +2 -0
- data/test/b_classes.lst +2 -0
- data/test/b_methods.lst +2 -0
- data/test/c_methods.lst +4 -0
- data/test/common.rb +15 -0
- data/test/d_methods.lst +4 -0
- data/test/langhelp.e +566 -0
- data/test/ruby.e +3 -0
- data/test/tagify01-before.html +11 -0
- data/test/tagify02-before.html +11 -0
- data/test/test-base.rb +538 -0
- data/test/test-command.rb +92 -0
- data/test/test-parse-info.rb +175 -0
- data/test/test-ruby.rb +242 -0
- data/test/testdoc.rd +6 -0
- metadata +84 -0
data/test/ruby.e
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
<html>
|
2
|
+
<head><link rel="next" href="tagify02.html"><title>Test & HTML</title><meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"></head>
|
3
|
+
<body>
|
4
|
+
blah blah blah
|
5
|
+
<h1>HeadLine1</h1>
|
6
|
+
<h2>HeadLine2</h2>
|
7
|
+
<dl>
|
8
|
+
<dt>DescListItem</dt>
|
9
|
+
<dd>DescListDesc</dd>
|
10
|
+
</dl>
|
11
|
+
</body></html>
|
data/test/test-base.rb
ADDED
@@ -0,0 +1,538 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'test/unit'
|
3
|
+
require 'langhelp/langhelp-base'
|
4
|
+
require 'stringio'
|
5
|
+
require 'fileutils'
|
6
|
+
require 'tmpdir'
|
7
|
+
require 'test/common'
|
8
|
+
require 'langhelp/langhelp-sub'
|
9
|
+
|
10
|
+
class TestGrepIndex < Test::Unit::TestCase
|
11
|
+
include CheckLink
|
12
|
+
def setup
|
13
|
+
@path = "/tmp/test0.rd"
|
14
|
+
open(@path, "w") {|f| f.write(<<EOT) }
|
15
|
+
--- index1
|
16
|
+
body1
|
17
|
+
--- index2
|
18
|
+
body2
|
19
|
+
EOT
|
20
|
+
end
|
21
|
+
|
22
|
+
def teardown
|
23
|
+
File.unlink @path
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_grep_old
|
27
|
+
@x = Grep.new(:Grep=> /^\s*---/, :src=>@path)
|
28
|
+
check_link <<EOT
|
29
|
+
# (lh-view " --- index1"\t"/tmp/test0.rd")
|
30
|
+
# (lh-view "--- index2"\t"/tmp/test0.rd")
|
31
|
+
EOT
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_grep_new
|
35
|
+
@x = Grep.new(:Grep=> @path, :regexp=>/^\s*---/)
|
36
|
+
check_link <<EOT
|
37
|
+
# (lh-view " --- index1"\t"/tmp/test0.rd")
|
38
|
+
# (lh-view "--- index2"\t"/tmp/test0.rd")
|
39
|
+
EOT
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_grep__exclude
|
43
|
+
@x = Grep.new(:Grep=> /^\s*---/, :src=>@path, :exclude=>[" --- index1"])
|
44
|
+
check_link <<EOT
|
45
|
+
# (lh-view "--- index2"\t"/tmp/test0.rd")
|
46
|
+
EOT
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_grep__exclude
|
50
|
+
@x = Grep.new(:Grep=> /^\s*---/, :src=>@path, :exclude=> /index1/)
|
51
|
+
check_link <<EOT
|
52
|
+
# (lh-view "--- index2"\t"/tmp/test0.rd")
|
53
|
+
EOT
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
class TestGrepEncoding < Test::Unit::TestCase
|
59
|
+
include CheckLink
|
60
|
+
|
61
|
+
def path
|
62
|
+
scriptdir = Dir.scriptdir
|
63
|
+
"#{scriptdir}/tagify-japanese-before.html"
|
64
|
+
end
|
65
|
+
|
66
|
+
def result
|
67
|
+
<<EOT
|
68
|
+
# (lh-view "<h1>�縫�Ф�</h1>"\t"#{path}")
|
69
|
+
# (lh-view "<h2>�渫�Ф�</h2>"\t"#{path}")
|
70
|
+
EOT
|
71
|
+
end
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
def test_grep__encoding
|
76
|
+
@x = Grep.new(:Grep=> /^<h[12]>/, :src=>path, :conf=>{:ENCODING=>:utf8})
|
77
|
+
check_link(result.toutf8)
|
78
|
+
|
79
|
+
@x = Grep.new(:Grep=> /^<h[12]>/, :src=>path, :conf=>{:ENCODING=>:euc_jp})
|
80
|
+
check_link(result.toeuc)
|
81
|
+
|
82
|
+
@x = Grep.new(:Grep=> /^<h[12]>/, :src=>path, :conf=>{:ENCODING=>:sjis})
|
83
|
+
check_link(result.tosjis)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
class TestLink < Test::Unit::TestCase
|
90
|
+
include CheckLink
|
91
|
+
|
92
|
+
def test_w3mlink_with_label
|
93
|
+
@x = W3MLink.new :W3MLink=>"/usr/bin/ruby", :label=>"ruby executable"
|
94
|
+
check_link %Q!# ruby executable\t(lh-w3m nil "/usr/bin/ruby")\n!
|
95
|
+
end
|
96
|
+
|
97
|
+
def test_viewlink_with_label
|
98
|
+
@x = ViewLink.new :ViewLink=>"/usr/bin/ruby", :label=>"ruby executable"
|
99
|
+
check_link %Q!# ruby executable\t(lh-view nil "/usr/bin/ruby")\n!
|
100
|
+
end
|
101
|
+
|
102
|
+
def test_w3mlink_without_label
|
103
|
+
@x = W3MLink.new :W3MLink=>"/usr/bin/ruby"
|
104
|
+
check_link %Q!# (lh-w3m nil "/usr/bin/ruby")\n!
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
108
|
+
|
109
|
+
class TestManpage < Test::Unit::TestCase
|
110
|
+
include CheckLink
|
111
|
+
|
112
|
+
def test_manpages
|
113
|
+
@x = Manpage.new :Manpage=>[1], :manpath=>["/usr/share/man"], :glob=>"ls.1.gz"
|
114
|
+
check_link %Q!# (lh-man "1 ls")\n!
|
115
|
+
end
|
116
|
+
|
117
|
+
def test_a_manpage
|
118
|
+
ENV['LC_ALL']='C'
|
119
|
+
ENV['LANG']='C'
|
120
|
+
@x = Manpage.new :Manpage=>"ls", :section=>1
|
121
|
+
check_link_include? %Q!# (lh-man* "NAME"\t"1 ls")!
|
122
|
+
check_link_include? %Q!# (lh-man* "SYNOPSIS"\t"1 ls")!
|
123
|
+
check_link_include? %Q!# (lh-man* " -l use a long listing format"\t"1 ls")!
|
124
|
+
end
|
125
|
+
|
126
|
+
|
127
|
+
end
|
128
|
+
|
129
|
+
class TestW3MExtractLinks < Test::Unit::TestCase
|
130
|
+
include CheckLink
|
131
|
+
def setup
|
132
|
+
@tmpdir=Dir.tmpdir
|
133
|
+
@html=File.join @tmpdir, "index.html"
|
134
|
+
@src = <<XXX
|
135
|
+
<html><body>
|
136
|
+
<a href="foo.html">Foo</a><br>
|
137
|
+
<a href='bar.html'>Bar<img src="a.jpg"></a><br>
|
138
|
+
<a href=baz.html><em>Baz</em></a><br>
|
139
|
+
<A href=0.html onclick="">0</a><br>
|
140
|
+
<a name="x" href=1.html>1</a><br>
|
141
|
+
<a href=/usr/doc/foo/README><a document></a><br>
|
142
|
+
<a href="img.html">[<img SRC="dot.jpg"><IMG src="img.jpg" alt="img"><img src="dot.jpg">]</a><br>
|
143
|
+
</body></html>
|
144
|
+
XXX
|
145
|
+
open(@html,"w"){|f| f.write @src}
|
146
|
+
end
|
147
|
+
|
148
|
+
def teardown
|
149
|
+
$langhelp_home = nil
|
150
|
+
FileUtils.rm_f @html
|
151
|
+
end
|
152
|
+
|
153
|
+
def test_w3mextractlinks
|
154
|
+
@x = W3MExtractLinks.new :W3MExtractLinks=>@html
|
155
|
+
|
156
|
+
check_link <<XXX
|
157
|
+
# Foo\t(lh-w3m nil "#{@tmpdir}/foo.html")
|
158
|
+
# Bar\t(lh-w3m nil "#{@tmpdir}/bar.html")
|
159
|
+
# Baz\t(lh-w3m nil "#{@tmpdir}/baz.html")
|
160
|
+
# 0\t(lh-w3m nil "#{@tmpdir}/0.html")
|
161
|
+
# 1\t(lh-w3m nil "#{@tmpdir}/1.html")
|
162
|
+
# <a document>\t(lh-w3m nil "/usr/doc/foo/README")
|
163
|
+
# [img]\t(lh-w3m nil "#{@tmpdir}/img.html")
|
164
|
+
XXX
|
165
|
+
end
|
166
|
+
|
167
|
+
def test_w3mextractlinks__langhelp_home
|
168
|
+
@x = W3MExtractLinks.new :W3MExtractLinks=>@html
|
169
|
+
$langhelp_home = @tmpdir # GLOBAL
|
170
|
+
|
171
|
+
check_link <<XXX
|
172
|
+
# Foo\t(lh-w3m nil "foo.html")
|
173
|
+
# Bar\t(lh-w3m nil "bar.html")
|
174
|
+
# Baz\t(lh-w3m nil "baz.html")
|
175
|
+
# 0\t(lh-w3m nil "0.html")
|
176
|
+
# 1\t(lh-w3m nil "1.html")
|
177
|
+
# <a document>\t(lh-w3m nil "/usr/doc/foo/README")
|
178
|
+
# [img]\t(lh-w3m nil "img.html")
|
179
|
+
XXX
|
180
|
+
end
|
181
|
+
|
182
|
+
|
183
|
+
def test_w3mextractlinks_exclude_label__regexp
|
184
|
+
@x = W3MExtractLinks.new :W3MExtractLinks=>@html, :exclude_label => /Foo/
|
185
|
+
|
186
|
+
check_link <<XXX
|
187
|
+
# Bar\t(lh-w3m nil "#{@tmpdir}/bar.html")
|
188
|
+
# Baz\t(lh-w3m nil "#{@tmpdir}/baz.html")
|
189
|
+
# 0\t(lh-w3m nil "#{@tmpdir}/0.html")
|
190
|
+
# 1\t(lh-w3m nil "#{@tmpdir}/1.html")
|
191
|
+
# <a document>\t(lh-w3m nil "/usr/doc/foo/README")
|
192
|
+
# [img]\t(lh-w3m nil "#{@tmpdir}/img.html")
|
193
|
+
XXX
|
194
|
+
end
|
195
|
+
|
196
|
+
def test_w3mextractlinks_exclude_label__regexps
|
197
|
+
@x = W3MExtractLinks.new :W3MExtractLinks=>@html, :exclude_label => [/Foo/, /Bar/]
|
198
|
+
|
199
|
+
check_link <<XXX
|
200
|
+
# Baz\t(lh-w3m nil "#{@tmpdir}/baz.html")
|
201
|
+
# 0\t(lh-w3m nil "#{@tmpdir}/0.html")
|
202
|
+
# 1\t(lh-w3m nil "#{@tmpdir}/1.html")
|
203
|
+
# <a document>\t(lh-w3m nil "/usr/doc/foo/README")
|
204
|
+
# [img]\t(lh-w3m nil "#{@tmpdir}/img.html")
|
205
|
+
XXX
|
206
|
+
end
|
207
|
+
|
208
|
+
def test_w3mextractlinks_exclude_label__string
|
209
|
+
@x = W3MExtractLinks.new :W3MExtractLinks=>@html, :exclude_label => ["Foo", "Bar"]
|
210
|
+
|
211
|
+
check_link <<XXX
|
212
|
+
# Baz\t(lh-w3m nil "#{@tmpdir}/baz.html")
|
213
|
+
# 0\t(lh-w3m nil "#{@tmpdir}/0.html")
|
214
|
+
# 1\t(lh-w3m nil "#{@tmpdir}/1.html")
|
215
|
+
# <a document>\t(lh-w3m nil "/usr/doc/foo/README")
|
216
|
+
# [img]\t(lh-w3m nil "#{@tmpdir}/img.html")
|
217
|
+
XXX
|
218
|
+
end
|
219
|
+
|
220
|
+
def test_w3mextractlinks_exclude_url__regexp
|
221
|
+
@x = W3MExtractLinks.new :W3MExtractLinks=>@html, :exclude_url => /\d.html/
|
222
|
+
|
223
|
+
check_link <<XXX
|
224
|
+
# Foo\t(lh-w3m nil "#{@tmpdir}/foo.html")
|
225
|
+
# Bar\t(lh-w3m nil "#{@tmpdir}/bar.html")
|
226
|
+
# Baz\t(lh-w3m nil "#{@tmpdir}/baz.html")
|
227
|
+
# <a document>\t(lh-w3m nil "/usr/doc/foo/README")
|
228
|
+
# [img]\t(lh-w3m nil "#{@tmpdir}/img.html")
|
229
|
+
XXX
|
230
|
+
end
|
231
|
+
|
232
|
+
def test_w3mextractlinks_exclude_both
|
233
|
+
@x = W3MExtractLinks.new :W3MExtractLinks=>@html, :exclude_url => /\d.html/, :exclude_label => ["Foo", "Bar"]
|
234
|
+
|
235
|
+
check_link <<XXX
|
236
|
+
# Baz\t(lh-w3m nil "#{@tmpdir}/baz.html")
|
237
|
+
# <a document>\t(lh-w3m nil "/usr/doc/foo/README")
|
238
|
+
# [img]\t(lh-w3m nil "#{@tmpdir}/img.html")
|
239
|
+
XXX
|
240
|
+
end
|
241
|
+
|
242
|
+
|
243
|
+
end
|
244
|
+
|
245
|
+
class TestW3MExtractLinksMultipleLines < Test::Unit::TestCase
|
246
|
+
include CheckLink
|
247
|
+
def setup
|
248
|
+
@tmpdir=Dir.tmpdir
|
249
|
+
@html=File.join @tmpdir, "index.html"
|
250
|
+
@base = "/usr/share/doc/stl-manual/html/index.html"
|
251
|
+
@src = <<XXX
|
252
|
+
<html><body>
|
253
|
+
<A href="http://www.sgi.com/"><IMG SRC="surf.gif" HEIGHT="54" WIDTH="54"
|
254
|
+
ALT="[Silicon Surf]"></A>
|
255
|
+
<A HREF="index.html"><IMG SRC="stl_home.gif"
|
256
|
+
HEIGHT="54" WIDTH="54" ALT="[STL Home]"></A>
|
257
|
+
<BR>
|
258
|
+
<FONT SIZE="-2">
|
259
|
+
<A href="http://www.sgi.com/Misc/sgi_info.html" TARGET="_top">Copyright ©
|
260
|
+
1999 Silicon Graphics, Inc.</A> All Rights Reserved.</FONT>
|
261
|
+
<FONT SIZE="-3"><a href="http://www.sgi.com/Misc/external.list.html" TARGET="_top">TrademarkInformation</A>
|
262
|
+
</FONT>
|
263
|
+
</body></html>
|
264
|
+
XXX
|
265
|
+
open(@html,"w"){|f| f.write @src}
|
266
|
+
end
|
267
|
+
|
268
|
+
def teardown
|
269
|
+
FileUtils.rm_f @html
|
270
|
+
end
|
271
|
+
|
272
|
+
def test_w3mextractlinks
|
273
|
+
@x = W3MExtractLinks.new :W3MExtractLinks=>@html, :base=>@base
|
274
|
+
|
275
|
+
check_link <<XXX
|
276
|
+
# [Silicon Surf]\t(lh-w3m nil "http://www.sgi.com/")
|
277
|
+
# [STL Home]\t(lh-w3m nil "/usr/share/doc/stl-manual/html/index.html")
|
278
|
+
# Copyright © 1999 Silicon Graphics, Inc.\t(lh-w3m nil "http://www.sgi.com/Misc/sgi_info.html")
|
279
|
+
# TrademarkInformation\t(lh-w3m nil "http://www.sgi.com/Misc/external.list.html")
|
280
|
+
XXX
|
281
|
+
end
|
282
|
+
|
283
|
+
def test_w3mextractlinks__exclude
|
284
|
+
@x = W3MExtractLinks.new :W3MExtractLinks=>@html, :base=>@base, :exclude_url => /sgi.com/
|
285
|
+
|
286
|
+
check_link <<XXX
|
287
|
+
# [STL Home]\t(lh-w3m nil "/usr/share/doc/stl-manual/html/index.html")
|
288
|
+
XXX
|
289
|
+
end
|
290
|
+
|
291
|
+
def test_w3mextractlinks__exclude_url
|
292
|
+
@x = W3MExtractLinks.new :W3MExtractLinks=>@html, :base=>@base, :exclude_url=>[ "http://www.sgi.com/", "http://www.sgi.com/Misc/sgi_info.html", /external.list/]
|
293
|
+
|
294
|
+
check_link <<XXX
|
295
|
+
# [STL Home]\t(lh-w3m nil "/usr/share/doc/stl-manual/html/index.html")
|
296
|
+
XXX
|
297
|
+
end
|
298
|
+
|
299
|
+
def test_w3mextractlinks__exclude_file
|
300
|
+
@x = W3MExtractLinks.new :W3MExtractLinks=>@html, :base=>@base, :exclude_url=>[ "index.html" ]
|
301
|
+
|
302
|
+
check_link <<XXX
|
303
|
+
# [Silicon Surf]\t(lh-w3m nil "http://www.sgi.com/")
|
304
|
+
# Copyright © 1999 Silicon Graphics, Inc.\t(lh-w3m nil "http://www.sgi.com/Misc/sgi_info.html")
|
305
|
+
# TrademarkInformation\t(lh-w3m nil "http://www.sgi.com/Misc/external.list.html")
|
306
|
+
XXX
|
307
|
+
|
308
|
+
end
|
309
|
+
|
310
|
+
|
311
|
+
end
|
312
|
+
|
313
|
+
class TestHTML < Test::Unit::TestCase
|
314
|
+
include CheckLink
|
315
|
+
|
316
|
+
def teardown
|
317
|
+
$langhelp_home = nil
|
318
|
+
end
|
319
|
+
|
320
|
+
def test_html__writable_01
|
321
|
+
# (find-filez "tagify01-before.html tagify01.html")
|
322
|
+
scriptdir = Dir.scriptdir
|
323
|
+
@before_html = "#{scriptdir}/tagify01-before.html"
|
324
|
+
@tagify_html = "#{scriptdir}/tagify01.html"
|
325
|
+
FileUtils.cp @before_html, @tagify_html # because @x overwrites HTML file
|
326
|
+
@x = HTML.new(:HTML=>@tagify_html, :title=>"HTML document")
|
327
|
+
|
328
|
+
# implies `@x.tagify'
|
329
|
+
check_link <<XXX
|
330
|
+
# Title: Test & HTML\t(lh-w3m nil "file://#{@tagify_html}")
|
331
|
+
# = HeadLine1\t(lh-w3m nil "file://#{@tagify_html}#0001")
|
332
|
+
# == HeadLine2\t(lh-w3m nil "file://#{@tagify_html}#0002")
|
333
|
+
# : DescListItem\t(lh-w3m nil "file://#{@tagify_html}#0003")
|
334
|
+
XXX
|
335
|
+
|
336
|
+
htmlsrc = File.read @tagify_html
|
337
|
+
assert htmlsrc =~ /<!-- Tagified by langhelp -->/
|
338
|
+
assert htmlsrc !~ /meta.+charset/i
|
339
|
+
assert htmlsrc =~ %r!<h1><a name="0001"></a>HeadLine1</h1>!
|
340
|
+
assert htmlsrc =~ %r!<h2><a name="0002"></a>HeadLine2</h2>!
|
341
|
+
assert htmlsrc =~ %r!<dt><a name="0003"></a>DescListItem</dt>!
|
342
|
+
end
|
343
|
+
|
344
|
+
def test_html__writable_01__basedir
|
345
|
+
# (find-filez "tagify01-before.html tagify01.html")
|
346
|
+
scriptdir = Dir.scriptdir
|
347
|
+
@before_html = "#{scriptdir}/tagify01-before.html"
|
348
|
+
@tagify_html = "#{scriptdir}/tagify01.html"
|
349
|
+
FileUtils.cp @before_html, @tagify_html # because @x overwrites HTML file
|
350
|
+
@x = HTML.new(:HTML=>File.basename(@tagify_html), :title=>"HTML document", :basedir=>scriptdir)
|
351
|
+
|
352
|
+
# implies `@x.tagify'
|
353
|
+
check_link <<XXX
|
354
|
+
# Title: Test & HTML\t(lh-w3m nil "file://#{@tagify_html}")
|
355
|
+
# = HeadLine1\t(lh-w3m nil "file://#{@tagify_html}#0001")
|
356
|
+
# == HeadLine2\t(lh-w3m nil "file://#{@tagify_html}#0002")
|
357
|
+
# : DescListItem\t(lh-w3m nil "file://#{@tagify_html}#0003")
|
358
|
+
XXX
|
359
|
+
|
360
|
+
htmlsrc = File.read @tagify_html
|
361
|
+
assert htmlsrc =~ /<!-- Tagified by langhelp -->/
|
362
|
+
assert htmlsrc !~ /meta.+charset/i
|
363
|
+
assert htmlsrc =~ %r!<h1><a name="0001"></a>HeadLine1</h1>!
|
364
|
+
assert htmlsrc =~ %r!<h2><a name="0002"></a>HeadLine2</h2>!
|
365
|
+
assert htmlsrc =~ %r!<dt><a name="0003"></a>DescListItem</dt>!
|
366
|
+
end
|
367
|
+
|
368
|
+
def test_html__writable_01__noconv
|
369
|
+
# (find-filez "tagify01-before.html tagify01-noconv.html")
|
370
|
+
scriptdir = Dir.scriptdir
|
371
|
+
@before_html = "#{scriptdir}/tagify01-before.html"
|
372
|
+
@tagify_html = "#{scriptdir}/tagify01-noconv.html"
|
373
|
+
FileUtils.cp @before_html, @tagify_html # because @x overwrites HTML file
|
374
|
+
@x = HTML.new(:HTML=>@tagify_html, :title=>"HTML document", :noconv=>true)
|
375
|
+
|
376
|
+
# implies `@x.tagify'
|
377
|
+
check_link <<XXX
|
378
|
+
# Title: Test & HTML\t(lh-w3m nil "file://#{@tagify_html}")
|
379
|
+
# = HeadLine1\t(lh-w3m nil "file://#{@tagify_html}#0001")
|
380
|
+
# == HeadLine2\t(lh-w3m nil "file://#{@tagify_html}#0002")
|
381
|
+
# : DescListItem\t(lh-w3m nil "file://#{@tagify_html}#0003")
|
382
|
+
XXX
|
383
|
+
|
384
|
+
htmlsrc = File.read @tagify_html
|
385
|
+
assert htmlsrc =~ /<!-- Tagified by langhelp -->/
|
386
|
+
assert htmlsrc =~ /meta.+charset/i
|
387
|
+
assert htmlsrc =~ %r!<h1><a name="0001"></a>HeadLine1</h1>!
|
388
|
+
assert htmlsrc =~ %r!<h2><a name="0002"></a>HeadLine2</h2>!
|
389
|
+
assert htmlsrc =~ %r!<dt><a name="0003"></a>DescListItem</dt>!
|
390
|
+
end
|
391
|
+
|
392
|
+
|
393
|
+
def test_html__writable_01_already_tagified
|
394
|
+
# (find-filez "tagify01-before.html tagify01.html")
|
395
|
+
scriptdir = Dir.scriptdir
|
396
|
+
@before_html = "#{scriptdir}/tagify01-before.html"
|
397
|
+
@tagify_html = "#{scriptdir}/tagify01.html"
|
398
|
+
FileUtils.cp @before_html, @tagify_html # because @x overwrites HTML file
|
399
|
+
@x = HTML.new(:HTML=>@tagify_html, :title=>"HTML document")
|
400
|
+
@x.tagify
|
401
|
+
# re-tagify
|
402
|
+
@x = HTML.new(:HTML=>@tagify_html, :title=>"HTML document")
|
403
|
+
@x.tagify
|
404
|
+
|
405
|
+
htmlsrc = File.read @tagify_html
|
406
|
+
assert htmlsrc =~ /<!-- Tagified by langhelp -->/
|
407
|
+
assert htmlsrc =~ %r!<h1><a name="0001"></a>HeadLine1</h1>!
|
408
|
+
assert htmlsrc =~ %r!<h2><a name="0002"></a>HeadLine2</h2>!
|
409
|
+
assert htmlsrc =~ %r!<dt><a name="0003"></a>DescListItem</dt>!
|
410
|
+
end
|
411
|
+
|
412
|
+
|
413
|
+
def test_html__writable_02
|
414
|
+
# (find-filez "tagify02-before.html tagify02.html")
|
415
|
+
scriptdir = Dir.scriptdir
|
416
|
+
@before_html = "#{scriptdir}/tagify02-before.html"
|
417
|
+
@tagify_html = "#{scriptdir}/tagify02.html"
|
418
|
+
FileUtils.cp @before_html, @tagify_html # because @x overwrites HTML file
|
419
|
+
@x = HTML.new(:HTML=>@tagify_html, :title=>"HTML document")
|
420
|
+
|
421
|
+
# implies `@x.tagify'
|
422
|
+
check_link <<XXX
|
423
|
+
# = HeadLine1 (with new line) \t(lh-w3m nil "file://#{@tagify_html}#0001")
|
424
|
+
# == HeadLine2\t(lh-w3m nil "file://#{@tagify_html}#0002")
|
425
|
+
# : DescListItem\t(lh-w3m nil "file://#{@tagify_html}#0003")
|
426
|
+
XXX
|
427
|
+
end
|
428
|
+
|
429
|
+
|
430
|
+
|
431
|
+
def test_html__not_writable
|
432
|
+
# (find-filez "tagify01-before.html")
|
433
|
+
$langhelp_home = Dir.tmpdir # GLOBAL
|
434
|
+
scriptdir = Dir.scriptdir
|
435
|
+
@before_html = "#{scriptdir}/tagify01-before.html"
|
436
|
+
@tagify_html = "#{scriptdir}/tagify01-not-writable.html"
|
437
|
+
@output_html = "#{$langhelp_home}#{scriptdir}/tagify01-not-writable.html"
|
438
|
+
FileUtils.rm_f @tagify_html
|
439
|
+
FileUtils.cp @before_html, @tagify_html # because @x overwrites HTML file
|
440
|
+
FileUtils.chmod 0400, @tagify_html # not writable
|
441
|
+
@x = HTML.new(:HTML=>@tagify_html, :title=>"HTML document")
|
442
|
+
|
443
|
+
# implies `@x.tagify'
|
444
|
+
check_link <<XXX
|
445
|
+
# Title: Test & HTML\t(lh-w3m nil "file://#{@output_html}")
|
446
|
+
# = HeadLine1\t(lh-w3m nil "file://#{@output_html}#0001")
|
447
|
+
# == HeadLine2\t(lh-w3m nil "file://#{@output_html}#0002")
|
448
|
+
# : DescListItem\t(lh-w3m nil "file://#{@output_html}#0003")
|
449
|
+
XXX
|
450
|
+
|
451
|
+
htmlsrc = File.read @output_html
|
452
|
+
assert htmlsrc =~ /<!-- Tagified by langhelp -->/
|
453
|
+
assert htmlsrc !~ /meta.+charset/i
|
454
|
+
assert htmlsrc =~ %r!<h1><a name="0001"></a>HeadLine1</h1>!
|
455
|
+
assert htmlsrc =~ %r!<h2><a name="0002"></a>HeadLine2</h2>!
|
456
|
+
assert htmlsrc =~ %r!<dt><a name="0003"></a>DescListItem</dt>!
|
457
|
+
end
|
458
|
+
|
459
|
+
def test_html__writable_multiple
|
460
|
+
# (find-filez "tagify01-before.html tagify01.html")
|
461
|
+
scriptdir = Dir.scriptdir
|
462
|
+
@before_html = "#{scriptdir}/tagify01-before.html"
|
463
|
+
@tagify_html = "#{scriptdir}/tagify01.html"
|
464
|
+
FileUtils.cp @before_html, @tagify_html # because @x overwrites HTML file
|
465
|
+
@before_html = "#{scriptdir}/tagify02-before.html"
|
466
|
+
@tagify_html = "#{scriptdir}/tagify02.html"
|
467
|
+
FileUtils.cp @before_html, @tagify_html # because @x overwrites HTML file
|
468
|
+
|
469
|
+
@x = HTML.new(:HTML=>[["#{scriptdir}/tagify01.ht*"],"#{scriptdir}/tagify02.html"], :title=>"HTML document")
|
470
|
+
@x.tagify
|
471
|
+
|
472
|
+
htmlsrc = File.read "#{scriptdir}/tagify01.html"
|
473
|
+
assert htmlsrc =~ /<!-- Tagified by langhelp -->/
|
474
|
+
|
475
|
+
htmlsrc = File.read "#{scriptdir}/tagify02.html"
|
476
|
+
assert htmlsrc =~ /<!-- Tagified by langhelp -->/
|
477
|
+
|
478
|
+
end
|
479
|
+
|
480
|
+
|
481
|
+
def test_html__writable_next
|
482
|
+
# (find-filez "tagify01-before.html tagify01.html")
|
483
|
+
# (find-filez "tagify02-before.html tagify02.html")
|
484
|
+
scriptdir = Dir.scriptdir
|
485
|
+
@before_html = "#{scriptdir}/tagify01-before.html"
|
486
|
+
@tagify_html = html01 = "#{scriptdir}/tagify01.html"
|
487
|
+
FileUtils.cp @before_html, @tagify_html # because @x overwrites HTML file
|
488
|
+
@before_html = "#{scriptdir}/tagify02-before.html"
|
489
|
+
@tagify_html = html02 = "#{scriptdir}/tagify02.html"
|
490
|
+
FileUtils.cp @before_html, @tagify_html # because @x overwrites HTML file
|
491
|
+
|
492
|
+
@x = HTML.new(:HTML=>"#{scriptdir}/tagify01.html", :title=>"HTML document", :recursive=>:next)
|
493
|
+
check_link <<XXX
|
494
|
+
# Title: Test & HTML\t(lh-w3m nil "file://#{html01}")
|
495
|
+
# = HeadLine1\t(lh-w3m nil "file://#{html01}#0001")
|
496
|
+
# == HeadLine2\t(lh-w3m nil "file://#{html01}#0002")
|
497
|
+
# : DescListItem\t(lh-w3m nil "file://#{html01}#0003")
|
498
|
+
# = HeadLine1 (with new line) \t(lh-w3m nil "file://#{html02}#0001")
|
499
|
+
# == HeadLine2\t(lh-w3m nil "file://#{html02}#0002")
|
500
|
+
# : DescListItem\t(lh-w3m nil "file://#{html02}#0003")
|
501
|
+
XXX
|
502
|
+
|
503
|
+
htmlsrc = File.read "#{scriptdir}/tagify01.html"
|
504
|
+
assert htmlsrc =~ /<!-- Tagified by langhelp -->/
|
505
|
+
|
506
|
+
htmlsrc = File.read "#{scriptdir}/tagify02.html"
|
507
|
+
assert htmlsrc =~ /<!-- Tagified by langhelp -->/
|
508
|
+
|
509
|
+
end
|
510
|
+
|
511
|
+
def test_html__japanese
|
512
|
+
# (find-filez "tagify-japanese-before.html tagify-japanese.html")
|
513
|
+
scriptdir = Dir.scriptdir
|
514
|
+
@before_html = "#{scriptdir}/tagify-japanese-before.html"
|
515
|
+
@tagify_html = "#{scriptdir}/tagify-japanese.html"
|
516
|
+
|
517
|
+
FileUtils.cp @before_html, @tagify_html # because @x overwrites HTML file
|
518
|
+
@x = HTML.new(:HTML=>@tagify_html, :title=>"HTML document", :conf=>{:ENCODING=>:euc_jp})
|
519
|
+
|
520
|
+
# implies `@x.tagify'
|
521
|
+
check_link <<XXX
|
522
|
+
# Title: Test & HTML\t(lh-w3m nil "file://#{@tagify_html}")
|
523
|
+
# = �縫�Ф�\t(lh-w3m nil "file://#{@tagify_html}#0001")
|
524
|
+
# == �渫�Ф�\t(lh-w3m nil "file://#{@tagify_html}#0002")
|
525
|
+
# : �Ѹ�\t(lh-w3m nil "file://#{@tagify_html}#0003")
|
526
|
+
XXX
|
527
|
+
|
528
|
+
htmlsrc = File.read @tagify_html
|
529
|
+
assert htmlsrc =~ /<!-- Tagified by langhelp -->/
|
530
|
+
assert htmlsrc !~ /meta.+charset/i
|
531
|
+
assert htmlsrc =~ %r!<h1><a name="0001"></a>�縫�Ф�</h1>!
|
532
|
+
assert htmlsrc =~ %r!<h2><a name="0002"></a>�渫�Ф�</h2>!
|
533
|
+
assert htmlsrc =~ %r!<dt><a name="0003"></a>�Ѹ�</dt>!
|
534
|
+
end
|
535
|
+
|
536
|
+
|
537
|
+
|
538
|
+
end
|