hikidoc 0.0.4 → 0.0.6
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.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/NEWS +30 -0
- data/NEWS.ja +30 -0
- data/README +1 -0
- data/README.ja +1 -0
- data/Rakefile +6 -82
- data/TextFormattingRules +4 -0
- data/TextFormattingRules.ja +4 -0
- data/hikidoc.gemspec +23 -0
- data/lib/hikidoc.rb +18 -7
- data/test/{test_hikidoc.rb → hikidoc_test.rb} +38 -3
- metadata +69 -57
- data/coverage/index.html +0 -100
- data/coverage/lib-hikidoc_rb.html +0 -1195
- data/test/run-test.rb +0 -13
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 27cec17d6692baec7703efada8f3797f70bcbf17
|
4
|
+
data.tar.gz: 032cab997e685c3330942506f263bc2e0616d49a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 824abf9b36727cefb838c1b29b5548b0c2d1f21d5e1823f6e9fa17e1bcc4c37489e6e72d5b91b32ff4d25c3dc1f3f32632374641f98adeade01d550b2cf5add1
|
7
|
+
data.tar.gz: 57aad57567d009f90f3dcc5e109a00436b608ddba285f9f63bb22f22ee4793081c6b8173d06dd74b9a0fd73dd10a06905af6183cb020e8c28f19a30bb594cf5f
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/NEWS
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
! NEWS
|
2
|
+
|
3
|
+
!! Changes 0.0.6 from 0.0.5: 2010-08-28
|
4
|
+
|
5
|
+
* fix missing NEWS.ja for packaging
|
6
|
+
|
7
|
+
!! Changes 0.0.5 from 0.0.4: 2010-08-26
|
8
|
+
|
9
|
+
* fix a bug: strings after non-WikiName expression are ignored
|
10
|
+
* new text decoration ``monospaced text``
|
11
|
+
* fix rake failure with Hoe 1.9.0 or later
|
12
|
+
* add syntax highlighting with google-code-prettify
|
13
|
+
|
14
|
+
!! Changes 0.0.4 from 0.0.3: 2009-08-17
|
15
|
+
|
16
|
+
* escape collectly in inline_plugin same as block_plugin does.
|
17
|
+
* fix a DoS vulnerability processing a plugin expression.
|
18
|
+
|
19
|
+
!! Changes 0.0.3 from 0.0.2: 2008-08-25
|
20
|
+
|
21
|
+
* fix warning message "Could not find main page README.txt" at installation via gem
|
22
|
+
|
23
|
+
!! Changes 0.0.2 from 0.0.1: 2008-08-11
|
24
|
+
|
25
|
+
* fix a bug: an inline that is inside of a modifier inline do not works
|
26
|
+
* add a option "--no-wikiname" to `hikidoc' command
|
27
|
+
* correct URI scheme behavior of InterWikiName
|
28
|
+
* add some tests
|
29
|
+
* add a Rake task "coverage" (requires rcov)
|
30
|
+
|
data/NEWS.ja
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
! NEWS.ja
|
2
|
+
|
3
|
+
!! 0.0.5����0.0.6���ѹ���: 2010-08-28
|
4
|
+
|
5
|
+
* �ѥå���������NEWS.ja��ϳ��Ƥ��ޤ��Τ���
|
6
|
+
|
7
|
+
!! 0.0.4����0.0.5���ѹ���: 2010-08-26
|
8
|
+
|
9
|
+
* Ʊ��Ԥ˴ޤޤ����WikiNameɽ���ʹߤ�ʸ�������Ϥ���ʤ��Х�����
|
10
|
+
* ������ʸ���ν���``����ɽ��``���ɲ�
|
11
|
+
* Hoe 1.9.0 �ޤ��Ϥ���ʹߤ�rake�����Ԥ����������
|
12
|
+
* google-code-prettify�ǤΥ��å����ϥ��饤�Ȥ��ɲ�
|
13
|
+
|
14
|
+
!! 0.0.3����0.0.4���ѹ���: 2009-08-17
|
15
|
+
|
16
|
+
* inline_plugin��block_pluginƱ�ͤ˥��������פ���褦�˽���
|
17
|
+
* �ץ饰����ɽ���β��ˤ�����DoS�ȼ������Ф��뽤��
|
18
|
+
|
19
|
+
!! 0.0.2����0.0.3���ѹ���: 2008-08-25
|
20
|
+
|
21
|
+
* gem����Υ��ȡ������"Could not find main page README.txt"�Ȥ����ٹ��å����������Ϥ����������
|
22
|
+
|
23
|
+
!! 0.0.1����0.0.2���ѹ���: 2008-08-11
|
24
|
+
|
25
|
+
* �����ϥ���饤����Υ���饤��ˡ��Ÿ������ʤ��Х�����
|
26
|
+
* hikidoc���ޥ�ɤ�--no-wikiname���ץ������ɲ�
|
27
|
+
* InterWikiName��URI scheme�Ȥ��ư�����Τ�http(s),file,ftp�˸��ꤹ��褦����
|
28
|
+
* �ƥ��Ȥ�
|
29
|
+
* Rake������coverage���ɲá���rcov��
|
30
|
+
|
data/README
CHANGED
@@ -51,6 +51,7 @@ The following softwares use the HikiDoc library or the HikiDoc format.
|
|
51
51
|
:[[lily|http://lily.sourceforge.jp/]]:a simple CMS
|
52
52
|
:[[Text::HikiDoc|http://search.cpan.org/perldoc?Text::HikiDoc]]:HikiDoc by Perl
|
53
53
|
:[[PikiDoc|http://github.com/moro/piki_doc/]]:a library that you can add plugin functions on HikiDoc
|
54
|
+
:[[mail2weblog|http://sourceforge.jp/projects/mail2weblog/wiki/FrontPage]]:a blog system via mobile phone email
|
54
55
|
|
55
56
|
!! License
|
56
57
|
|
data/README.ja
CHANGED
@@ -48,6 +48,7 @@ Subversion
|
|
48
48
|
:[[lily|http://lily.sourceforge.jp/]]:����ץ�� CMS (Web �����ȹ��ۥ����ƥ�)
|
49
49
|
:[[Text::HikiDoc|http://search.cpan.org/perldoc?Text::HikiDoc]]:Perl �ˤ�� HikiDoc �μ���
|
50
50
|
:[[PikiDoc|http://github.com/moro/piki_doc/]]:HikiDoc�Ρ֥ץ饰�����ǽ���ɲäǤ���饤�֥��Ǥ�
|
51
|
+
:[[mail2weblog|http://sourceforge.jp/projects/mail2weblog/wiki/FrontPage]]:�ⵡǽ�����Ʒ���֥���
|
51
52
|
|
52
53
|
!! �饤����
|
53
54
|
|
data/Rakefile
CHANGED
@@ -1,84 +1,8 @@
|
|
1
|
-
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
require 'rake/testtask'
|
2
3
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
base_dir = File.expand_path(File.dirname(__FILE__))
|
9
|
-
$LOAD_PATH.unshift(File.join(base_dir, 'lib'))
|
10
|
-
require 'hikidoc'
|
11
|
-
|
12
|
-
truncate_base_dir = Proc.new do |x|
|
13
|
-
x.gsub(/\A#{Regexp.escape(base_dir + File::SEPARATOR)}/, '')
|
14
|
-
end
|
15
|
-
|
16
|
-
manifest = File.join(base_dir, "Manifest.txt")
|
17
|
-
manifest_contents = []
|
18
|
-
base_dir_included_components = %w(COPYING README README.ja Rakefile
|
19
|
-
TextFormattingRules TextFormattingRules.ja
|
20
|
-
setup.rb)
|
21
|
-
excluded_components = %w(.svn doc log pkg)
|
22
|
-
Find.find(base_dir) do |target|
|
23
|
-
target = truncate_base_dir[target]
|
24
|
-
components = target.split(File::SEPARATOR)
|
25
|
-
if components.size == 1 and !File.directory?(target)
|
26
|
-
next unless base_dir_included_components.include?(components[0])
|
27
|
-
end
|
28
|
-
Find.prune if (excluded_components - components) != excluded_components
|
29
|
-
manifest_contents << target if File.file?(target)
|
30
|
-
end
|
31
|
-
|
32
|
-
File.open(manifest, "w") do |f|
|
33
|
-
f.puts manifest_contents.sort.join("\n")
|
34
|
-
end
|
35
|
-
at_exit do
|
36
|
-
FileUtils.rm_f(manifest)
|
37
|
-
end
|
38
|
-
|
39
|
-
ENV["VERSION"] ||= HikiDoc::VERSION
|
40
|
-
project = Hoe.new('hikidoc', HikiDoc::VERSION) do |project|
|
41
|
-
project.author = ['Kazuhiko']
|
42
|
-
project.email = ['kazuhiko@fdiary.net']
|
43
|
-
project.description = project.paragraphs_of('README', 2).join
|
44
|
-
project.summary = project.description.split(/(\.)/, 3)[0, 2].join
|
45
|
-
project.url = 'http://rubyforge.org/projects/hikidoc/'
|
46
|
-
project.test_globs = ['test/test_*.rb']
|
47
|
-
project.rdoc_pattern = /(?:^(?:lib|bin)|\AREADME\z)/
|
48
|
-
project.changes = File.read("NEWS").split(/^!! .*$/)[1].strip
|
49
|
-
end
|
50
|
-
|
51
|
-
desc 'Tag the repository for release.'
|
52
|
-
task :tag do
|
53
|
-
version = HikiDoc::VERSION
|
54
|
-
message = "Released HikiDoc #{version}!"
|
55
|
-
base = "svn+ssh://rubyforge.org/var/svn/hikidoc/"
|
56
|
-
sh 'svn', 'copy', '-m', message, "#{base}trunk", "#{base}tags/#{version}"
|
57
|
-
end
|
58
|
-
|
59
|
-
begin
|
60
|
-
require 'rcov/rcovtask'
|
61
|
-
|
62
|
-
desc "Analyze code coverage of the unit tests."
|
63
|
-
Rcov::RcovTask.new(:coverage) do |t|
|
64
|
-
t.test_files = FileList[project.test_globs]
|
65
|
-
t.verbose = true
|
66
|
-
t.rcov_opts << "--text-report"
|
67
|
-
begin
|
68
|
-
require "rubygems"
|
69
|
-
t.rcov_opts << "--exclude=^#{Regexp.escape(Gem.dir)}"
|
70
|
-
rescue LoadError
|
71
|
-
end
|
72
|
-
end
|
73
|
-
rescue LoadError
|
74
|
-
end
|
75
|
-
|
76
|
-
|
77
|
-
# Fix Hoe's uncustomizable options
|
78
|
-
rdoc_main = "lib/hikidoc.rb"
|
79
|
-
project.spec.rdoc_options.each do |option|
|
80
|
-
option.replace(rdoc_main) if option == "README.txt"
|
81
|
-
end
|
82
|
-
ObjectSpace.each_object(Rake::RDocTask) do |task|
|
83
|
-
task.main = rdoc_main if task.main == "README.txt"
|
4
|
+
Rake::TestTask.new do |t|
|
5
|
+
t.libs << "test"
|
6
|
+
t.test_files = FileList['test/**/*_test.rb']
|
7
|
+
t.verbose = true
|
84
8
|
end
|
data/TextFormattingRules
CHANGED
@@ -126,17 +126,21 @@ Text surrounded by sets of three single quotes (''') is strongly emphasised.
|
|
126
126
|
|
127
127
|
Text surrounded by sets of double equal signs (===) is struck out.
|
128
128
|
|
129
|
+
Text surrounded by sets of double backquotes (``) is inline literal.
|
130
|
+
|
129
131
|
*Example statement
|
130
132
|
|
131
133
|
If you write like this, it becomes ''emphasised''.
|
132
134
|
And if you write like this, it becomes '''strongly emphasised'''.
|
133
135
|
==This is dull, but== And struck-out text is supported, too!
|
136
|
+
If you write like this, it becomes ``monospaced text``.
|
134
137
|
|
135
138
|
*Example output
|
136
139
|
|
137
140
|
If you write like this, it becomes ''emphasised''.
|
138
141
|
And if you write like this, it becomes '''strongly emphasised'''.
|
139
142
|
==This is dull, but== And struck-out text is supported, too!
|
143
|
+
If you write like this, it becomes ``monospaced text``.
|
140
144
|
|
141
145
|
!Headings
|
142
146
|
|
data/TextFormattingRules.ja
CHANGED
@@ -126,17 +126,21 @@ http://jp.rubyist.net/theme/clover/clover_h1.png
|
|
126
126
|
|
127
127
|
��=��2�ĤǤϤ������ʬ�ϼ�����ˤʤ�ޤ���
|
128
128
|
|
129
|
+
��`��2�ĤǤϤ������ʬ������ɽ���ˤʤ�ޤ���
|
130
|
+
|
129
131
|
*������
|
130
132
|
|
131
133
|
���Τ褦�ˤ����''��Ĵ''�ˤʤ�ޤ���
|
132
134
|
�����ơ����Τ褦�ˤ����'''����˶�Ĵ'''����ޤ���
|
133
135
|
==���뤤����==����ˡ����ä����⥵�ݡ��Ȥ��Ƥ��ޤ���
|
136
|
+
�ޤ��ޤ������Τ褦�ˤ����''����ɽ��''�ˤʤ�ޤ���
|
134
137
|
|
135
138
|
*������
|
136
139
|
|
137
140
|
���Τ褦�ˤ����''��Ĵ''�ˤʤ�ޤ���
|
138
141
|
�����ơ����Τ褦�ˤ����'''����˶�Ĵ'''����ޤ���
|
139
142
|
==���뤤����==����ˡ����ä����⥵�ݡ��Ȥ��Ƥ��ޤ���
|
143
|
+
�ޤ��ޤ������Τ褦�ˤ����''����ɽ��''�ˤʤ�ޤ���
|
140
144
|
|
141
145
|
!����
|
142
146
|
|
data/hikidoc.gemspec
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'hikidoc'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "hikidoc"
|
8
|
+
spec.version = HikiDoc::VERSION
|
9
|
+
spec.authors = ['Kazuhiko', "SHIBATA Hiroshi"]
|
10
|
+
spec.email = ['kazuhiko@fdiary.net', "shibata.hiroshi@gmail.com"]
|
11
|
+
spec.description = %q{'HikiDoc' is a text-to-HTML conversion tool for web writers.}
|
12
|
+
spec.summary = %q{'HikiDoc' is a text-to-HTML conversion tool for web writers. HikiDoc allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid HTML (or XHTML).}
|
13
|
+
spec.homepage = "https://github.com/hiki/hikidoc"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler"
|
22
|
+
spec.add_development_dependency "rake"
|
23
|
+
end
|
data/lib/hikidoc.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# -*- coding: utf-8
|
1
|
+
# -*- coding: utf-8 -*-
|
2
2
|
# Copyright (c) 2005, Kazuhiko <kazuhiko@fdiary.net>
|
3
3
|
# Copyright (c) 2007 Minero Aoki
|
4
4
|
# All rights reserved.
|
@@ -38,7 +38,7 @@ rescue LoadError
|
|
38
38
|
end
|
39
39
|
|
40
40
|
class HikiDoc
|
41
|
-
VERSION = "0.0.
|
41
|
+
VERSION = "0.0.6" # FIXME
|
42
42
|
|
43
43
|
class Error < StandardError
|
44
44
|
end
|
@@ -408,7 +408,7 @@ class HikiDoc
|
|
408
408
|
|
409
409
|
link, uri, mod, wiki_name = m[1, 4]
|
410
410
|
if wiki_name and wiki_name[0, 1] == "^"
|
411
|
-
pending_str = m.pre_match + wiki_name[1..-1]
|
411
|
+
pending_str = m.pre_match + wiki_name[1..-1] + str
|
412
412
|
next
|
413
413
|
end
|
414
414
|
|
@@ -437,7 +437,7 @@ class HikiDoc
|
|
437
437
|
end
|
438
438
|
|
439
439
|
def compile_bracket_link(link)
|
440
|
-
if m = /\A(
|
440
|
+
if m = /\A(.*)\|/.match(link)
|
441
441
|
title = m[0].chop
|
442
442
|
uri = m.post_match
|
443
443
|
fixed_uri = fix_uri(uri)
|
@@ -479,23 +479,26 @@ class HikiDoc
|
|
479
479
|
IMAGE_EXTS = %w(.jpg .jpeg .gif .png)
|
480
480
|
|
481
481
|
def image?(uri)
|
482
|
-
IMAGE_EXTS.include?(
|
482
|
+
IMAGE_EXTS.include?(uri[/\.[^.]+\z/].to_s.downcase)
|
483
483
|
end
|
484
484
|
|
485
485
|
STRONG = "'''"
|
486
486
|
EM = "''"
|
487
487
|
DEL = "=="
|
488
|
+
TT = "``"
|
488
489
|
|
489
490
|
STRONG_RE = /'''.+?'''/
|
490
491
|
EM_RE = /''.+?''/
|
491
492
|
DEL_RE = /==.+?==/
|
493
|
+
TT_RE = /``.+?``/
|
492
494
|
|
493
|
-
MODIFIER_RE = Regexp.union(STRONG_RE, EM_RE, DEL_RE)
|
495
|
+
MODIFIER_RE = Regexp.union(STRONG_RE, EM_RE, DEL_RE, TT_RE)
|
494
496
|
|
495
497
|
MODTAG = {
|
496
498
|
STRONG => "strong",
|
497
499
|
EM => "em",
|
498
|
-
DEL => "del"
|
500
|
+
DEL => "del",
|
501
|
+
TT => 'tt'
|
499
502
|
}
|
500
503
|
|
501
504
|
def compile_modifier(str)
|
@@ -525,6 +528,8 @@ class HikiDoc
|
|
525
528
|
return str[0, 2], str[2...-2]
|
526
529
|
when /\A==/
|
527
530
|
return str[0, 2], str[2...-2]
|
531
|
+
when /\A``/
|
532
|
+
return str[0, 2], str[2...-2]
|
528
533
|
else
|
529
534
|
raise UnexpectedError, "must not happen: #{str.inspect}"
|
530
535
|
end
|
@@ -673,6 +678,8 @@ class HikiDoc
|
|
673
678
|
@f.puts convertor.convert(str)
|
674
679
|
return
|
675
680
|
rescue NameError, RuntimeError
|
681
|
+
@f.puts %Q|<pre class="prettyprint">#{text(str)}</pre>|
|
682
|
+
return
|
676
683
|
end
|
677
684
|
end
|
678
685
|
preformatted(text(str))
|
@@ -722,6 +729,10 @@ class HikiDoc
|
|
722
729
|
"<del>#{item}</del>"
|
723
730
|
end
|
724
731
|
|
732
|
+
def tt(item)
|
733
|
+
"<tt>#{item}</tt>"
|
734
|
+
end
|
735
|
+
|
725
736
|
def text(str)
|
726
737
|
escape_html(str)
|
727
738
|
end
|
@@ -226,6 +226,8 @@ TEST}}
|
|
226
226
|
"[[Hiki|http:hikiwiki.html]]")
|
227
227
|
assert_convert(%Q|<p><img src="http://hikiwiki.org/img.png" alt="img.png" /></p>\n|,
|
228
228
|
"http://hikiwiki.org/img.png")
|
229
|
+
assert_convert(%Q|<p><img src="http://hikiwiki.org:80/img.png" alt="img.png" /></p>\n|,
|
230
|
+
"http://hikiwiki.org:80/img.png")
|
229
231
|
assert_convert(%Q|<p><a href="http://hikiwiki.org/ja/?c=edit;p=Test">| +
|
230
232
|
%Q|http://hikiwiki.org/ja/?c=edit;p=Test</a></p>\n|,
|
231
233
|
"http://hikiwiki.org/ja/?c=edit;p=Test")
|
@@ -246,6 +248,8 @@ TEST}}
|
|
246
248
|
"[[&]]")
|
247
249
|
assert_convert(%Q|<p><a href="aa">aa</a>bb<a href="cc">cc</a></p>\n|,
|
248
250
|
"[[aa]]bb[[cc]]")
|
251
|
+
assert_convert(%Q!<p><a href="aa">a|a</a></p>\n!,
|
252
|
+
"[[a|a|aa]]")
|
249
253
|
end
|
250
254
|
|
251
255
|
def test_inter_wiki_name
|
@@ -295,6 +299,8 @@ TEST}}
|
|
295
299
|
"^WikiName",
|
296
300
|
:use_wiki_name => false,
|
297
301
|
:use_not_wiki_name => false)
|
302
|
+
assert_convert("<p>foo WikiName bar</p>\n",
|
303
|
+
"foo ^WikiName bar")
|
298
304
|
end
|
299
305
|
|
300
306
|
def test_use_wiki_name_option
|
@@ -359,6 +365,9 @@ TEST}}
|
|
359
365
|
assert_convert("<dl>\n<dt>foo</dt>\n" +
|
360
366
|
"<dd><strong>bar</strong></dd>\n</dl>\n",
|
361
367
|
":foo:'''bar'''")
|
368
|
+
assert_convert("<dl>\n<dt>foo</dt>\n" +
|
369
|
+
"<dd><tt>bar</tt></dd>\n</dl>\n",
|
370
|
+
":foo:``bar``")
|
362
371
|
end
|
363
372
|
|
364
373
|
def test_definition_with_modifier_link
|
@@ -370,6 +379,10 @@ TEST}}
|
|
370
379
|
"<strong><a href=\"http://hikiwiki.org/\">Hiki</a></strong>" +
|
371
380
|
"</dd>\n</dl>\n",
|
372
381
|
":Website:'''[[Hiki|http://hikiwiki.org/]]'''")
|
382
|
+
assert_convert("<dl>\n<dt>Website</dt>\n<dd>" +
|
383
|
+
"<tt><a href=\"http://hikiwiki.org/\">Hiki</a></tt>" +
|
384
|
+
"</dd>\n</dl>\n",
|
385
|
+
":Website:``[[Hiki|http://hikiwiki.org/]]``")
|
373
386
|
end
|
374
387
|
|
375
388
|
def test_table
|
@@ -409,6 +422,10 @@ TEST}}
|
|
409
422
|
"'''foo''' and '''bar'''")
|
410
423
|
assert_convert("<p><em>foo</em> and <em>bar</em></p>\n",
|
411
424
|
"''foo'' and ''bar''")
|
425
|
+
assert_convert("<p><tt>foo</tt></p>\n",
|
426
|
+
"``foo``")
|
427
|
+
assert_convert("<p><tt>foo==bar</tt>baz==</p>\n",
|
428
|
+
"``foo==bar``baz==")
|
412
429
|
end
|
413
430
|
|
414
431
|
def test_nested_modifier
|
@@ -423,6 +440,8 @@ TEST}}
|
|
423
440
|
"[['''Hiki'''|http://hikiwiki.org/]]")
|
424
441
|
assert_convert("<p><strong><a href=\"http://hikiwiki.org/\">Hiki</a></strong></p>\n",
|
425
442
|
"'''[[Hiki|http://hikiwiki.org/]]'''")
|
443
|
+
assert_convert("<p><tt><a href=\"http://hikiwiki.org/\">Hiki</a></tt></p>\n",
|
444
|
+
"``[[Hiki|http://hikiwiki.org/]]``")
|
426
445
|
end
|
427
446
|
|
428
447
|
def test_pre_and_plugin
|
@@ -437,18 +456,34 @@ TEST}}
|
|
437
456
|
def test_plugin_in_modifier
|
438
457
|
assert_convert("<p><strong><span class=\"plugin\">{{foo}}</span></strong></p>\n",
|
439
458
|
"'''{{foo}}'''")
|
459
|
+
assert_convert("<p><tt><span class=\"plugin\">{{foo}}</span></tt></p>\n",
|
460
|
+
"``{{foo}}``")
|
440
461
|
end
|
441
462
|
|
442
|
-
|
443
|
-
|
444
|
-
def test_syntax_ruby
|
463
|
+
def test_syntax_ruby
|
464
|
+
if Object.const_defined?(:Syntax)
|
445
465
|
assert_convert("<pre><span class=\"keyword\">class </span><span class=\"class\">A</span>\n <span class=\"keyword\">def </span><span class=\"method\">foo</span><span class=\"punct\">(</span><span class=\"ident\">bar</span><span class=\"punct\">)</span>\n <span class=\"keyword\">end</span>\n<span class=\"keyword\">end</span></pre>\n",
|
446
466
|
"<<< ruby\nclass A\n def foo(bar)\n end\nend\n>>>")
|
447
467
|
assert_convert("<pre><span class=\"keyword\">class </span><span class=\"class\">A</span>\n <span class=\"keyword\">def </span><span class=\"method\">foo</span><span class=\"punct\">(</span><span class=\"ident\">bar</span><span class=\"punct\">)</span>\n <span class=\"keyword\">end</span>\n<span class=\"keyword\">end</span></pre>\n",
|
448
468
|
"<<< Ruby\nclass A\n def foo(bar)\n end\nend\n>>>")
|
449
469
|
assert_convert("<pre><span class=\"punct\">'</span><span class=\"string\">a<">b</span><span class=\"punct\">'</span></pre>\n",
|
450
470
|
"<<< ruby\n'a<\">b'\n>>>")
|
471
|
+
|
472
|
+
# redefine method for below tests
|
473
|
+
class << Syntax::Convertors::HTML
|
474
|
+
def for_syntax(syntax)
|
475
|
+
raise
|
476
|
+
end
|
477
|
+
end
|
451
478
|
end
|
479
|
+
|
480
|
+
# use google-code-prettify
|
481
|
+
assert_convert("<pre class=\"prettyprint\">class A\n def foo(bar)\n end\nend</pre>\n",
|
482
|
+
"<<< ruby\nclass A\n def foo(bar)\n end\nend\n>>>")
|
483
|
+
assert_convert("<pre class=\"prettyprint\">class A\n def foo(bar)\n end\nend</pre>\n",
|
484
|
+
"<<< Ruby\nclass A\n def foo(bar)\n end\nend\n>>>")
|
485
|
+
assert_convert("<pre class=\"prettyprint\">'a<\">b'</pre>\n",
|
486
|
+
"<<< ruby\n'a<\">b'\n>>>")
|
452
487
|
end
|
453
488
|
|
454
489
|
def test_plugin_in_pre_with_header
|