tdiary 3.2.2.20130518 → 3.2.2.20130527

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +17 -11
  4. data/Rakefile +2 -0
  5. data/config.ru +2 -1
  6. data/tdiary.gemspec +7 -0
  7. data/tdiary.rb +6 -2
  8. data/tdiary/cli.rb +27 -1
  9. data/tdiary/environment.rb +0 -1
  10. data/tdiary/tasks/release.rake +7 -1
  11. data/tdiary/version.rb +1 -1
  12. metadata +87 -132
  13. data/vendor/hikidoc-0.0.6/COPYING +0 -28
  14. data/vendor/hikidoc-0.0.6/NEWS +0 -30
  15. data/vendor/hikidoc-0.0.6/NEWS.ja +0 -30
  16. data/vendor/hikidoc-0.0.6/README +0 -86
  17. data/vendor/hikidoc-0.0.6/README.ja +0 -83
  18. data/vendor/hikidoc-0.0.6/Rakefile +0 -68
  19. data/vendor/hikidoc-0.0.6/TextFormattingRules +0 -320
  20. data/vendor/hikidoc-0.0.6/TextFormattingRules.ja +0 -318
  21. data/vendor/hikidoc-0.0.6/bin/hikidoc +0 -66
  22. data/vendor/hikidoc-0.0.6/lib/hikidoc.rb +0 -914
  23. data/vendor/hikidoc-0.0.6/setup.rb +0 -1360
  24. data/vendor/hikidoc-0.0.6/test/run-test.rb +0 -13
  25. data/vendor/hikidoc-0.0.6/test/test_hikidoc.rb +0 -506
  26. data/vendor/imagesize-0.1.1/Manifest.txt +0 -19
  27. data/vendor/imagesize-0.1.1/README.txt +0 -49
  28. data/vendor/imagesize-0.1.1/lib/image_size.rb +0 -305
  29. data/vendor/imagesize-0.1.1/lib/image_size/version.rb +0 -9
  30. data/vendor/imagesize-0.1.1/setup.rb +0 -1585
  31. data/vendor/imagesize-0.1.1/test/2-4-7.png +0 -0
  32. data/vendor/imagesize-0.1.1/test/4_1_2.gif +0 -0
  33. data/vendor/imagesize-0.1.1/test/bmp.bmp +0 -0
  34. data/vendor/imagesize-0.1.1/test/cursor.xbm +0 -6
  35. data/vendor/imagesize-0.1.1/test/detect.swf +0 -0
  36. data/vendor/imagesize-0.1.1/test/pbm.pbm +0 -0
  37. data/vendor/imagesize-0.1.1/test/pcx.pcx +0 -0
  38. data/vendor/imagesize-0.1.1/test/pgm.pgm +0 -5
  39. data/vendor/imagesize-0.1.1/test/test.xpm +0 -38
  40. data/vendor/imagesize-0.1.1/test/test_helper.rb +0 -2
  41. data/vendor/imagesize-0.1.1/test/test_image_size.rb +0 -71
  42. data/vendor/imagesize-0.1.1/test/tiff.tiff +0 -0
  43. data/vendor/imagesize-0.1.1/test/tokyo_tower.jpg +0 -0
  44. data/vendor/imagesize-0.1.1/test/tower_e.gif.psd +0 -0
  45. data/vendor/rdtool-0.6.38/COPYING.txt +0 -339
  46. data/vendor/rdtool-0.6.38/Gemfile +0 -3
  47. data/vendor/rdtool-0.6.38/HISTORY +0 -318
  48. data/vendor/rdtool-0.6.38/LGPL-2.1 +0 -502
  49. data/vendor/rdtool-0.6.38/LICENSE.txt +0 -58
  50. data/vendor/rdtool-0.6.38/README.html +0 -66
  51. data/vendor/rdtool-0.6.38/README.ja.html +0 -73
  52. data/vendor/rdtool-0.6.38/README.rd +0 -76
  53. data/vendor/rdtool-0.6.38/README.rd.ja +0 -85
  54. data/vendor/rdtool-0.6.38/Rakefile +0 -152
  55. data/vendor/rdtool-0.6.38/TODO +0 -22
  56. data/vendor/rdtool-0.6.38/bin/rd2 +0 -283
  57. data/vendor/rdtool-0.6.38/bin/rdswap.rb +0 -207
  58. data/vendor/rdtool-0.6.38/doc/rd-draft.html +0 -456
  59. data/vendor/rdtool-0.6.38/doc/rd-draft.ja.html +0 -466
  60. data/vendor/rdtool-0.6.38/doc/rd-draft.rd +0 -479
  61. data/vendor/rdtool-0.6.38/doc/rd-draft.rd.ja +0 -487
  62. data/vendor/rdtool-0.6.38/lib/rd/block-element.rb +0 -114
  63. data/vendor/rdtool-0.6.38/lib/rd/complex-list-item.rb +0 -65
  64. data/vendor/rdtool-0.6.38/lib/rd/desclist.rb +0 -55
  65. data/vendor/rdtool-0.6.38/lib/rd/document-struct.rb +0 -46
  66. data/vendor/rdtool-0.6.38/lib/rd/dot.rd2rc +0 -18
  67. data/vendor/rdtool-0.6.38/lib/rd/element.rb +0 -160
  68. data/vendor/rdtool-0.6.38/lib/rd/filter.rb +0 -255
  69. data/vendor/rdtool-0.6.38/lib/rd/head-filter.rb +0 -14
  70. data/vendor/rdtool-0.6.38/lib/rd/inline-element.rb +0 -233
  71. data/vendor/rdtool-0.6.38/lib/rd/labeled-element.rb +0 -14
  72. data/vendor/rdtool-0.6.38/lib/rd/list.rb +0 -57
  73. data/vendor/rdtool-0.6.38/lib/rd/loose-struct.rb +0 -11
  74. data/vendor/rdtool-0.6.38/lib/rd/methodlist.rb +0 -57
  75. data/vendor/rdtool-0.6.38/lib/rd/output-format-visitor.rb +0 -30
  76. data/vendor/rdtool-0.6.38/lib/rd/package.rb +0 -4
  77. data/vendor/rdtool-0.6.38/lib/rd/parser-util.rb +0 -14
  78. data/vendor/rdtool-0.6.38/lib/rd/post-install +0 -1
  79. data/vendor/rdtool-0.6.38/lib/rd/pre-setup.rb +0 -18
  80. data/vendor/rdtool-0.6.38/lib/rd/rbl-file.rb +0 -69
  81. data/vendor/rdtool-0.6.38/lib/rd/rbl-suite.rb +0 -37
  82. data/vendor/rdtool-0.6.38/lib/rd/rd-struct.rb +0 -86
  83. data/vendor/rdtool-0.6.38/lib/rd/rd2html-ext-lib.rb +0 -266
  84. data/vendor/rdtool-0.6.38/lib/rd/rd2html-ext-opt.rb +0 -34
  85. data/vendor/rdtool-0.6.38/lib/rd/rd2html-lib.rb +0 -490
  86. data/vendor/rdtool-0.6.38/lib/rd/rd2html-opt.rb +0 -67
  87. data/vendor/rdtool-0.6.38/lib/rd/rd2man-lib.rb +0 -251
  88. data/vendor/rdtool-0.6.38/lib/rd/rd2rdo-lib.rb +0 -19
  89. data/vendor/rdtool-0.6.38/lib/rd/rd2rmi-lib.rb +0 -32
  90. data/vendor/rdtool-0.6.38/lib/rd/rdblockparser.ry +0 -518
  91. data/vendor/rdtool-0.6.38/lib/rd/rdblockparser.tab.rb +0 -1061
  92. data/vendor/rdtool-0.6.38/lib/rd/rdfmt.rb +0 -15
  93. data/vendor/rdtool-0.6.38/lib/rd/rdinlineparser.ry +0 -503
  94. data/vendor/rdtool-0.6.38/lib/rd/rdinlineparser.tab.rb +0 -1243
  95. data/vendor/rdtool-0.6.38/lib/rd/rdvisitor.rb +0 -214
  96. data/vendor/rdtool-0.6.38/lib/rd/reference-resolver.rb +0 -114
  97. data/vendor/rdtool-0.6.38/lib/rd/search-file.rb +0 -14
  98. data/vendor/rdtool-0.6.38/lib/rd/tree.rb +0 -103
  99. data/vendor/rdtool-0.6.38/lib/rd/version.rb +0 -41
  100. data/vendor/rdtool-0.6.38/lib/rd/visitor.rb +0 -86
  101. data/vendor/rdtool-0.6.38/rdtool.gemspec +0 -125
  102. data/vendor/rdtool-0.6.38/setup.rb +0 -1596
  103. data/vendor/rdtool-0.6.38/test/data/includee1.html +0 -1
  104. data/vendor/rdtool-0.6.38/test/data/includee2.html +0 -1
  105. data/vendor/rdtool-0.6.38/test/data/includee3.nothtml +0 -1
  106. data/vendor/rdtool-0.6.38/test/data/includee4.xhtml +0 -0
  107. data/vendor/rdtool-0.6.38/test/data/label.rbl +0 -2
  108. data/vendor/rdtool-0.6.38/test/data/label2.rbl +0 -2
  109. data/vendor/rdtool-0.6.38/test/data/sub/includee2.html +0 -1
  110. data/vendor/rdtool-0.6.38/test/data/sub/includee4.html +0 -0
  111. data/vendor/rdtool-0.6.38/test/dummy-observer.rb +0 -6
  112. data/vendor/rdtool-0.6.38/test/dummy.rb +0 -33
  113. data/vendor/rdtool-0.6.38/test/temp-dir.rb +0 -19
  114. data/vendor/rdtool-0.6.38/test/test-block-parser.rb +0 -46
  115. data/vendor/rdtool-0.6.38/test/test-desclist-item.rb +0 -219
  116. data/vendor/rdtool-0.6.38/test/test-document-element.rb +0 -46
  117. data/vendor/rdtool-0.6.38/test/test-document-struct.rb +0 -66
  118. data/vendor/rdtool-0.6.38/test/test-element.rb +0 -46
  119. data/vendor/rdtool-0.6.38/test/test-headline.rb +0 -80
  120. data/vendor/rdtool-0.6.38/test/test-inline-parser.rb +0 -46
  121. data/vendor/rdtool-0.6.38/test/test-list-item.rb +0 -54
  122. data/vendor/rdtool-0.6.38/test/test-list.rb +0 -53
  123. data/vendor/rdtool-0.6.38/test/test-methodlist-item.rb +0 -73
  124. data/vendor/rdtool-0.6.38/test/test-nonterminal-element.rb +0 -170
  125. data/vendor/rdtool-0.6.38/test/test-nonterminal-inline.rb +0 -33
  126. data/vendor/rdtool-0.6.38/test/test-output-format-visitor.rb +0 -48
  127. data/vendor/rdtool-0.6.38/test/test-parser-util.rb +0 -41
  128. data/vendor/rdtool-0.6.38/test/test-rbl-file.rb +0 -156
  129. data/vendor/rdtool-0.6.38/test/test-rbl-suite.rb +0 -43
  130. data/vendor/rdtool-0.6.38/test/test-rd2html-lib.rb +0 -496
  131. data/vendor/rdtool-0.6.38/test/test-rdtree.rb +0 -17
  132. data/vendor/rdtool-0.6.38/test/test-rdvisitor.rb +0 -29
  133. data/vendor/rdtool-0.6.38/test/test-reference-resolver.rb +0 -202
  134. data/vendor/rdtool-0.6.38/test/test-reference.rb +0 -132
  135. data/vendor/rdtool-0.6.38/test/test-search-file.rb +0 -22
  136. data/vendor/rdtool-0.6.38/test/test-terminal-inline.rb +0 -41
  137. data/vendor/rdtool-0.6.38/test/test-textblock.rb +0 -44
  138. data/vendor/rdtool-0.6.38/test/test-tree.rb +0 -82
  139. data/vendor/rdtool-0.6.38/test/test-version.rb +0 -57
  140. data/vendor/rdtool-0.6.38/test/test-visitor.rb +0 -230
  141. data/vendor/rdtool-0.6.38/utils/rd-mode.el +0 -464
@@ -1,33 +0,0 @@
1
- require 'test/unit'
2
-
3
- require 'rd/inline-element'
4
- require 'rd/document-struct'
5
- require 'dummy'
6
-
7
- include RD
8
-
9
- DummyStruct.define_relationship(NonterminalInline, DummyElement)
10
-
11
- class TestNonterminalInline < Test::Unit::TestCase
12
- def test_children
13
- el = NonterminalInline.new
14
- assert_equal([], el.children)
15
- el.children.push 1
16
- assert_equal([1], el.children)
17
- end
18
-
19
- def test_to_label
20
- one = NonterminalInline.new
21
- one.add_child_under_document_struct(DummyElement.new, DummyStruct)
22
- assert_equal("label", one.to_label)
23
-
24
- two = NonterminalInline.new
25
- two.add_child_under_document_struct(DummyElement.new, DummyStruct)
26
- two.add_child_under_document_struct(DummyElement.new, DummyStruct)
27
- assert_equal("label label", two.to_label)
28
-
29
- zero = NonterminalInline.new
30
- assert_equal("", zero.to_label)
31
- end
32
- end
33
-
@@ -1,48 +0,0 @@
1
- require 'test/unit'
2
-
3
- require 'temp-dir'
4
-
5
- require 'rd/output-format-visitor'
6
- require 'rd/tree'
7
- require 'rd/element'
8
- require 'rd/block-element'
9
- require 'rd/inline-element'
10
- require 'rd/rd-struct'
11
-
12
- include RD
13
-
14
- class TestOFVisitor < Test::Unit::TestCase
15
- def setup
16
- end
17
-
18
- def test_initialize
19
- vis = OutputFormatVisitor.new
20
- assert_equal([], vis.include_suffix)
21
- vis = SampleVisitor.new
22
- assert_equal(["html"], vis.include_suffix)
23
- end
24
-
25
- def test_apply_to_include
26
- tree = Tree.new_with_document_struct(DocumentStructure::RD,
27
- ["test/data/sub", "test/data/"])
28
- de = DocumentElement.new
29
- # test/data/includee1.html
30
- inc1 = Include.new("includee1")
31
- # test/data/includee2.html, test/data/sub/includee2.html
32
- inc2 = Include.new("includee2")
33
- # test/data/includee3.nothtml
34
- inc3 = Include.new("includee3")
35
- tree.root = de
36
- de.add_child(inc1)
37
- de.add_child(inc2)
38
- de.add_child(inc3)
39
- vis = SampleVisitor.new
40
- assert_equal("includee1.html", vis.apply_to_Include(inc1))
41
- assert_equal("sub/includee2.html", vis.apply_to_Include(inc2))
42
- assert_equal(nil, vis.apply_to_Include(inc3))
43
- end
44
- end
45
-
46
- class SampleVisitor < OutputFormatVisitor
47
- INCLUDE_SUFFIX = ["html"]
48
- end
@@ -1,41 +0,0 @@
1
- require 'test/unit'
2
-
3
- require 'rd/rdblockparser.tab'
4
- require 'rd/rd-struct'
5
-
6
- include RD
7
-
8
- class TestParserUtil < Test::Unit::TestCase
9
- def setup
10
- @p = RDParser.new
11
- @tree = tree = Tree.new_with_document_struct(DocumentStructure::RD)
12
- @p.instance_eval do
13
- @tree = tree
14
- end
15
- end
16
-
17
- def test_tree
18
- obj = Object.new
19
- obj.extend(ParserUtility)
20
-
21
- assert_raises(NotImplementedError) do
22
- obj.tree
23
- end
24
- end
25
-
26
- def test_add_children_to_element
27
- headline = Headline.new(1)
28
- string_element = StringElement.new "string"
29
- emphasis = Emphasis.new
30
- @p.add_children_to_element(headline, string_element, emphasis)
31
- assert_equal([string_element, emphasis], headline.children)
32
-
33
- textblock = TextBlock.new
34
- @p.add_children_to_element(textblock, emphasis, string_element)
35
- assert_equal([emphasis, string_element], textblock.children)
36
-
37
- textblock_empty = TextBlock.new
38
- @p.add_children_to_element(textblock_empty)
39
- assert_equal([], textblock_empty.children)
40
- end
41
- end
@@ -1,156 +0,0 @@
1
- require 'test/unit'
2
-
3
- require 'temp-dir'
4
-
5
- require 'rd/rbl-file'
6
- require 'rd/block-element'
7
- require 'rd/inline-element'
8
- require 'rd/rd-struct'
9
- require 'rd/reference-resolver'
10
-
11
- include RD
12
-
13
- class TestRBLFile < Test::Unit::TestCase
14
-
15
- def setup
16
- tr_head2 = Tree.new_with_document_struct(DocumentStructure::RD)
17
- de_head2 = DocumentElement.new
18
- tr_head2.root = de_head2
19
- hl1_head2, hl2_head2 = nil
20
-
21
- de_head2.build do
22
- hl1_head2 = new Headline, 1 do
23
- new StringElement, "label1"
24
- end
25
- new TextBlock
26
- hl2_head2 = new Headline, 2 do
27
- new StringElement, "label2"
28
- end
29
- end
30
-
31
- @resolv_head2 = ReferenceResolver.new(tr_head2, "label:")
32
-
33
- tr_desc = Tree.new_with_document_struct(DocumentStructure::RD)
34
- de_desc = DocumentElement.new
35
- tr_desc.root = de_desc
36
- hl1_desc, dt1_desc = nil
37
- de_desc.build do
38
- hl1_desc = new(Headline, 1) do
39
- new StringElement, "label1"
40
- end
41
- new DescList do
42
- new DescListItem do
43
- dt1_desc = make_term do
44
- new StringElement, "label2"
45
- end
46
- end
47
- end
48
- end
49
- @resolv_desc = ReferenceResolver.new(tr_desc, "Label-")
50
-
51
- tr_empty = Tree.new_with_document_struct(DocumentStructure::RD)
52
- de_empty = DocumentElement.new
53
- tr_empty.root = de_empty
54
- @resolv_empty = ReferenceResolver.new(tr_empty, "LABEL")
55
-
56
- tr_arr = Tree.new_with_document_struct(DocumentStructure::RD)
57
- de_arr = DocumentElement.new
58
- tr_arr.root = de_arr
59
-
60
- de_arr.build do
61
- new Headline, 1 do
62
- new StringElement, "a => b"
63
- end
64
- end
65
-
66
- @resolv_arr = ReferenceResolver.new(tr_arr, "label:")
67
-
68
- @rbl_head2 = RBLFile.new("test-head2")
69
- @rbl_desc = RBLFile.new("test-desc")
70
- @rbl_empty = RBLFile.new("test-empty")
71
- @rbl_arr = RBLFile.new("test-arr")
72
- end
73
-
74
- def test_labels_to_string
75
- res = "label1 => label:0\nlabel2 => label:1"
76
- assert_equal(res, RBLFile.labels_to_string(@resolv_head2))
77
-
78
- res2 = "label1 => Label-0\nlabel2 => Label-1"
79
- assert_equal(res2, RBLFile.labels_to_string(@resolv_desc))
80
-
81
- res_empty = ""
82
- assert_equal(res_empty, RBLFile.labels_to_string(@resolv_empty))
83
-
84
- res_arr = "a => b => label:0"
85
- assert_equal(res_arr, RBLFile.labels_to_string(@resolv_arr))
86
- end
87
-
88
- def test_string_to_labels
89
- rbl = RBLFile.new("test-head2")
90
- src_head2 = "label1 => label:0\nlabel2 => label:1"
91
- res_head2 = [["label1", "label:0"], ["label2", "label:1"]]
92
- assert_equal(res_head2, rbl.string_to_labels(src_head2))
93
-
94
- src_head2 = "label1 =>label:0\nlabel2=> label:1"
95
- res_head2 = [["label1", "label:0"], ["label2", "label:1"]]
96
- assert_equal(res_head2, rbl.string_to_labels(src_head2))
97
-
98
- src_desc = "label1 => Label-0\nlabel2 => Label-1"
99
- res_desc = [["label1", "Label-0"], ["label2", "Label-1"]]
100
- assert_equal(res_desc, rbl.string_to_labels(src_desc))
101
-
102
- src_empty = ""
103
- res_empty = []
104
- assert_equal(res_empty, @rbl_empty.string_to_labels(src_empty))
105
-
106
- src_arr = "a => b => label:0"
107
- res_arr = [["a => b", "label:0"]]
108
- assert_equal(res_arr, @rbl_arr.string_to_labels(src_arr))
109
- end
110
-
111
- def test_rbl_file_path
112
- assert_equal("test-head2.rbl", RBLFile.rbl_file_path("test-head2.rd"))
113
- assert_equal("test-head2.rbl", RBLFile.rbl_file_path("test-head2.rb"))
114
- assert_equal("test-desc.rbl", RBLFile.rbl_file_path("test-desc"))
115
- end
116
-
117
- def test_s_create_rbl_file
118
- in_temp_dir do
119
- begin
120
- RBLFile.create_rbl_file("test-head2.rd", @resolv_head2)
121
- assert(File.exist?("test-head2.rbl"))
122
- ensure
123
- remove_file("test-head2.rbl")
124
- end
125
- end
126
- end
127
-
128
- def test_load_rbl_file
129
- in_temp_dir do
130
- spath = [Dir.pwd]
131
- begin
132
- RBLFile.create_rbl_file("test-head2.rd", @resolv_head2)
133
-
134
- rbl_rd = RBLFile.new("test-head2.rd")
135
- rbl_rd.load_rbl_file(spath)
136
- res = [["label1", "label:0"], ["label2", "label:1"]]
137
- assert_equal(res, rbl_rd.labels)
138
-
139
- rbl_no = RBLFile.new("test-head2")
140
- rbl_no.load_rbl_file(spath)
141
- assert_equal(res, rbl_no.labels)
142
- ensure
143
- remove_file("test-head2.rbl")
144
- end
145
- end
146
- end
147
-
148
- def test_refer
149
- spath = ["test/data"]
150
- rbl = RBLFile.new("label")
151
- rbl.load_rbl_file(spath)
152
- assert_equal("label:0", rbl.refer("label1"))
153
- assert_equal("label:1", rbl.refer("label2"))
154
- assert_equal(nil, rbl.refer("label3"))
155
- end
156
- end
@@ -1,43 +0,0 @@
1
- require 'test/unit'
2
-
3
- require 'rd/rbl-suite'
4
- require 'rd/rbl-file'
5
-
6
- include RD
7
-
8
- class TestRBLSuite < Test::Unit::TestCase
9
-
10
- def setup
11
- @suite = RBLSuite.new(["test/data"])
12
- end
13
-
14
- def test_get_rbl_file
15
- assert_equal([], @suite.rbl_files)
16
- rbl = @suite.get_rbl_file("label.rd")
17
- assert_equal(rbl, @suite.get_rbl_file("label.rd"))
18
- assert_equal(1, @suite.rbl_files.size)
19
- end
20
-
21
- def test_add_rbl_file
22
- assert_equal([], @suite.rbl_files)
23
- rbl = @suite.add_rbl_file("label.rd")
24
- assert_kind_of(RBLFile, rbl)
25
- assert_equal(1, @suite.rbl_files.size)
26
- assert_equal("label", @suite.rbl_files[0].filename)
27
- assert_equal(rbl, @suite.rbl_files[0])
28
-
29
- assert_nothing_raised do
30
- @suite.add_rbl_file("not-exist-label.rd")
31
- end
32
- end
33
-
34
- def test_refer
35
- assert_equal(["label", "label:0"], @suite.refer("label1", "label.rd"))
36
- assert_equal(["label2", "Label-0"], @suite.refer("label1", "label2.rd"))
37
- assert_equal(["label", "label:0"], @suite.refer("label1", "label"))
38
- assert_equal(["label", "label:1"], @suite.refer("label2", "label.rd"))
39
- assert_equal(["label", nil], @suite.refer("label3", "label.rd"))
40
- fns = @suite.rbl_files.collect{|i| i.filename }
41
- assert_equal(["label", "label2"], fns)
42
- end
43
- end
@@ -1,496 +0,0 @@
1
- require 'test/unit'
2
-
3
- require 'rd/rd2html-lib'
4
- require 'rd/tree'
5
- require 'rd/element'
6
- require 'rd/block-element'
7
- require 'rd/list'
8
- require 'rd/desclist'
9
- require 'rd/methodlist'
10
- require 'rd/inline-element'
11
- require 'rd/rd-struct'
12
-
13
- include RD
14
-
15
- class TestRD2HTMLVisitor < Test::Unit::TestCase
16
-
17
- def setup
18
- @vis = RD2HTMLVisitor.new
19
- @vis.class.module_eval {
20
- public :xml_decl
21
- public :forward_links, :backward_links
22
- public :document_title
23
- public :html_content_type
24
- public :html_title
25
- public :html_open_tag
26
- public :link_to_css
27
- public :prepare_footnotes
28
- public :make_foottext
29
- }
30
- @ch1 = ["a"]
31
- @ch2 = ["a", "b"]
32
- @ch3 = ["a\n"]
33
- @ch0 = []
34
-
35
- @tr_fn = Tree.new_with_document_struct(DocumentStructure::RD)
36
- @tr_fn.root = DocumentElement.new
37
- fn1, fn2 = nil
38
- @tr_fn.root.build do
39
- new TextBlock do
40
- fn1 = new Footnote do
41
- new StringElement, "footnote 1"
42
- end
43
- fn2 = new Footnote do
44
- new StringElement, "footnote 2"
45
- end
46
- end
47
- end
48
- @fn1_fn = fn1
49
- @fn2_fn = fn2
50
-
51
- @tr2_fn = Tree.new_with_document_struct(DocumentStructure::RD)
52
- @tr2_fn.root = DocumentElement.new
53
- @tr2_fn.root.build do
54
- new Headline, 1
55
- new TextBlock do
56
- new StringElement, "string"
57
- end
58
- end
59
- end
60
-
61
- def test_xml_decl
62
- vis_with_charset = RD2HTMLVisitor.new
63
- vis_with_charset.charset = "CharSet"
64
- assert_equal(%|<?xml version="1.0" encoding="CharSet" ?>|,
65
- vis_with_charset.xml_decl)
66
- vis_no_charset = RD2HTMLVisitor.new
67
- assert_equal(%|<?xml version="1.0" ?>|,
68
- vis_no_charset.xml_decl)
69
- end
70
-
71
- def test_html_open_tag
72
- vis_with_lang = RD2HTMLVisitor.new
73
- vis_with_lang.lang = "Language"
74
- assert_equal(%|<html xmlns="http://www.w3.org/1999/xhtml" lang="Language"|+
75
- %| xml:lang="Language">|, vis_with_lang.html_open_tag)
76
-
77
- vis_no_lang = RD2HTMLVisitor.new
78
- assert_equal(%|<html xmlns="http://www.w3.org/1999/xhtml">|,
79
- vis_no_lang.html_open_tag)
80
- end
81
-
82
- def test_html_title
83
- vis_with_title = RD2HTMLVisitor.new
84
- vis_with_title.title = "Title"
85
- assert_equal("<title>Title</title>", vis_with_title.html_title)
86
-
87
- vis_no_title = RD2HTMLVisitor.new
88
- assert_equal("<title>Untitled</title>", vis_no_title.html_title)
89
- end
90
-
91
- def test_html_content_type
92
- vis_with_charset = RD2HTMLVisitor.new
93
- vis_with_charset.charset = "CharSet"
94
- assert_equal(%|<meta http-equiv="Content-type" | +
95
- %|content="text/html; charset=CharSet" | +
96
- "/>", vis_with_charset.html_content_type)
97
- vis_no_charset = RD2HTMLVisitor.new
98
- assert_equal(nil, vis_no_charset.html_content_type)
99
- end
100
-
101
- def test_link_to_css
102
- vis_with_css = RD2HTMLVisitor.new
103
- vis_with_css.css = "CSS.css"
104
- assert_equal(%|<link href="CSS.css" type="text/css" rel="stylesheet"| +
105
- " />", vis_with_css.link_to_css)
106
- vis_no_css = RD2HTMLVisitor.new
107
- assert_equal(nil, vis_no_css.link_to_css)
108
- end
109
-
110
- def test_forward_links
111
- vis_rel1 = RD2HTMLVisitor.new
112
- vis_rel1.html_link_rel["rel1"] = "REL1"
113
- assert_equal('<link href="REL1" rel="rel1" />', vis_rel1.forward_links)
114
-
115
- vis_rel2 = vis_rel1
116
- vis_rel2.html_link_rel["rel2"] = "REL2"
117
- assert_equal('<link href="REL1" rel="rel1" />' + "\n" +
118
- '<link href="REL2" rel="rel2" />', vis_rel2.forward_links)
119
-
120
- vis_no_rel = RD2HTMLVisitor.new
121
- assert_equal(nil, vis_no_rel.forward_links)
122
- end
123
-
124
- def test_backward_links
125
- vis_rev1 = RD2HTMLVisitor.new
126
- vis_rev1.html_link_rev["rev1"] = "REV1"
127
- assert_equal('<link href="REV1" rev="rev1" />', vis_rev1.backward_links)
128
-
129
- vis_rev2 = vis_rev1
130
- vis_rev2.html_link_rev["rev2"] = "REV2"
131
- assert_equal('<link href="REV1" rev="rev1" />' + "\n" +
132
- '<link href="REV2" rev="rev2" />', vis_rev2.backward_links)
133
-
134
- vis_no_rev = RD2HTMLVisitor.new
135
- assert_equal(nil, vis_no_rev.backward_links)
136
- end
137
-
138
-
139
- def test_document_title
140
- vis_titled = RD2HTMLVisitor.new
141
- vis_titled.title = "Title"
142
- assert_equal("Title", vis_titled.document_title)
143
-
144
- vis_with_filename = RD2HTMLVisitor.new
145
- vis_with_filename.filename = "FileName"
146
- assert_equal("FileName", vis_with_filename.document_title)
147
-
148
- vis_untitled = RD2HTMLVisitor.new
149
- assert_equal("Untitled", vis_untitled.document_title)
150
- end
151
-
152
- def test_apply_to_Headline
153
- tr = Tree.new_with_document_struct(DocumentStructure::RD)
154
- tr.root = DocumentElement.new
155
- hl1, hl2 = nil
156
- tr.root.build do
157
- hl1 = new Headline, 1 do
158
- new StringElement, "headline 1"
159
- end
160
- hl2 = new Headline, 2 do
161
- new StringElement, "headline 2"
162
- end
163
- end
164
- @vis.prepare_labels(tr, "label:")
165
-
166
- assert_equal(expect_for_hl1(@ch1), @vis.apply_to_Headline(hl1, @ch1))
167
- assert_equal(expect_for_hl1(@ch2), @vis.apply_to_Headline(hl1, @ch2))
168
- assert_equal(expect_for_hl1(@ch0), @vis.apply_to_Headline(hl1, @ch0))
169
- assert_equal(expect_for_hl2(@ch1), @vis.apply_to_Headline(hl2, @ch1))
170
- assert_equal(expect_for_hl2(@ch2), @vis.apply_to_Headline(hl2, @ch2))
171
- assert_equal(expect_for_hl2(@ch0), @vis.apply_to_Headline(hl2, @ch0))
172
- end
173
-
174
- def expect_for_hl1(children)
175
- %|<h1><a name="label:0" id="label:0">#{children.join('')}</a></h1><!-- RDLabel: "headline 1" -->|
176
- end
177
-
178
- def expect_for_hl2(children)
179
- %|<h2><a name="label:1" id="label:1">#{children.join('')}</a></h2><!-- RDLabel: "headline 2" -->|
180
- end
181
-
182
- def test_apply_to_TextBlock
183
- tb = TextBlock.new
184
- assert_equal("<p>a</p>", @vis.apply_to_TextBlock(tb, @ch1))
185
- assert_equal("<p>ab</p>", @vis.apply_to_TextBlock(tb, @ch2))
186
- assert_equal("<p>a</p>", @vis.apply_to_TextBlock(tb, @ch3))
187
- assert_equal("<p></p>", @vis.apply_to_TextBlock(tb, @ch0))
188
-
189
- tb_in_list = TextBlock.new
190
- li = ItemListItem.new
191
- li.add_child_under_document_struct(tb_in_list, DocumentStructure::RD)
192
- assert_equal("a", @vis.apply_to_TextBlock(tb_in_list, @ch1))
193
- assert_equal("ab", @vis.apply_to_TextBlock(tb_in_list, @ch2))
194
- assert_equal("a", @vis.apply_to_TextBlock(tb_in_list, @ch3))
195
- assert_equal("", @vis.apply_to_TextBlock(tb_in_list, @ch0))
196
-
197
- tb1_in_list2 = TextBlock.new
198
- tb2_in_list2 = TextBlock.new
199
- li2 = ItemListItem.new
200
- li2.add_children_under_document_struct([tb1_in_list2, tb2_in_list2],
201
- DocumentStructure::RD)
202
- assert_equal("<p>a</p>", @vis.apply_to_TextBlock(tb1_in_list2, @ch1))
203
- assert_equal("<p>ab</p>", @vis.apply_to_TextBlock(tb1_in_list2, @ch2))
204
- assert_equal("<p>a</p>", @vis.apply_to_TextBlock(tb1_in_list2, @ch3))
205
- assert_equal("<p></p>", @vis.apply_to_TextBlock(tb1_in_list2, @ch0))
206
- end
207
-
208
- def test_apply_to_Verbatim
209
- verb1 = Verbatim.new "aaa"
210
- assert_equal("<pre>aaa</pre>", @vis.apply_to_Verbatim(verb1))
211
- verb2 = Verbatim.new "aaa\n"
212
- assert_equal("<pre>aaa</pre>", @vis.apply_to_Verbatim(verb2))
213
- verb3 = Verbatim.new "aaa\nbbb"
214
- assert_equal("<pre>aaa\nbbb</pre>", @vis.apply_to_Verbatim(verb3))
215
- verb_empty = Verbatim.new ""
216
- assert_equal("<pre></pre>", @vis.apply_to_Verbatim(verb_empty))
217
- verb_amp = Verbatim.new "&"
218
- assert_equal("<pre>&amp;</pre>", @vis.apply_to_Verbatim(verb_amp))
219
- verb_lt = Verbatim.new "<"
220
- assert_equal("<pre>&lt;</pre>", @vis.apply_to_Verbatim(verb_lt))
221
- verb_gt = Verbatim.new ">"
222
- assert_equal("<pre>&gt;</pre>", @vis.apply_to_Verbatim(verb_gt))
223
-
224
- verb3 = Verbatim.new ["aaa\n", "bbb"]
225
- assert_equal("<pre>aaa\nbbb</pre>", @vis.apply_to_Verbatim(verb3))
226
- end
227
-
228
- def test_apply_to_ItemList
229
- list = ItemList.new
230
- assert_equal("<ul>\na\n</ul>", @vis.apply_to_ItemList(list, @ch1))
231
- assert_equal("<ul>\na\nb\n</ul>", @vis.apply_to_ItemList(list, @ch2))
232
- assert_equal("<ul>\na\n</ul>", @vis.apply_to_ItemList(list, @ch3))
233
- assert_equal("<ul>\n\n</ul>", @vis.apply_to_ItemList(list, @ch0))
234
- end
235
-
236
- def test_apply_to_EnumList
237
- list = EnumList.new
238
- assert_equal("<ol>\na\n</ol>", @vis.apply_to_EnumList(list, @ch1))
239
- assert_equal("<ol>\na\nb\n</ol>", @vis.apply_to_EnumList(list, @ch2))
240
- assert_equal("<ol>\na\n</ol>", @vis.apply_to_EnumList(list, @ch3))
241
- assert_equal("<ol>\n\n</ol>", @vis.apply_to_EnumList(list, @ch0))
242
- end
243
-
244
- def test_apply_to_DescList
245
- list = DescList.new
246
- assert_equal("<dl>\na\n</dl>", @vis.apply_to_DescList(list, @ch1))
247
- assert_equal("<dl>\na\nb\n</dl>", @vis.apply_to_DescList(list, @ch2))
248
- assert_equal("<dl>\na\n</dl>", @vis.apply_to_DescList(list, @ch3))
249
- assert_equal("<dl>\n\n</dl>", @vis.apply_to_DescList(list, @ch0))
250
- end
251
-
252
- def test_apply_to_MethodList
253
- list = MethodList.new
254
- assert_equal("<dl>\na\n</dl>", @vis.apply_to_MethodList(list, @ch1))
255
- assert_equal("<dl>\na\nb\n</dl>", @vis.apply_to_MethodList(list, @ch2))
256
- assert_equal("<dl>\na\n</dl>", @vis.apply_to_MethodList(list, @ch3))
257
- assert_equal("<dl>\n\n</dl>", @vis.apply_to_MethodList(list, @ch0))
258
- end
259
-
260
- def test_apply_to_ItemListItem
261
- item = ItemListItem.new
262
- assert_equal("<li>a</li>", @vis.apply_to_ItemListItem(item, @ch1))
263
- assert_equal("<li>a\nb</li>", @vis.apply_to_ItemListItem(item, @ch2))
264
- assert_equal("<li>a</li>", @vis.apply_to_ItemListItem(item, @ch3))
265
- assert_equal("<li></li>", @vis.apply_to_ItemListItem(item, @ch0))
266
- end
267
-
268
- def test_apply_to_EnumListItem
269
- item = EnumListItem.new
270
- assert_equal("<li>a</li>", @vis.apply_to_EnumListItem(item, @ch1))
271
- assert_equal("<li>a\nb</li>", @vis.apply_to_EnumListItem(item, @ch2))
272
- assert_equal("<li>a</li>", @vis.apply_to_EnumListItem(item, @ch3))
273
- assert_equal("<li></li>", @vis.apply_to_EnumListItem(item, @ch0))
274
- end
275
-
276
- def test_apply_to_DescListItem
277
- tr = Tree.new_with_document_struct(DocumentStructure::RD)
278
- tr.root = DocumentElement.new
279
- di1, di2 = nil
280
- tr.root.build do
281
- new DescList do
282
- di1 = new DescListItem do
283
- make_term do
284
- new StringElement, "desclist 1"
285
- end
286
- end
287
- di2 = new DescListItem do
288
- make_term do
289
- new StringElement, "desclist 2"
290
- end
291
- end
292
- end
293
- end
294
-
295
- @vis.prepare_labels(tr, "label:")
296
-
297
- assert_equal(expect_for_di1_with_child("term1", @ch1),
298
- @vis.apply_to_DescListItem(di1, ["term1"], @ch1))
299
- assert_equal(expect_for_di1_with_child("term1term2", @ch1),
300
- @vis.apply_to_DescListItem(di1, ["term1", "term2"], @ch1))
301
- assert_equal(expect_for_di1_with_child("term1", @ch2),
302
- @vis.apply_to_DescListItem(di1, ["term1"], @ch2))
303
- assert_equal(expect_for_di1_with_child("term1", @ch3),
304
- @vis.apply_to_DescListItem(di1, ["term1"], @ch3))
305
- assert_equal(expect_for_di1_no_child("term1"),
306
- @vis.apply_to_DescListItem(di1, ["term1"], @ch0))
307
- assert_equal(expect_for_di1_no_child("term1term2"),
308
- @vis.apply_to_DescListItem(di1, ["term1", "term2"], @ch0))
309
- assert_equal(expect_for_di2_with_child("term1", @ch1),
310
- @vis.apply_to_DescListItem(di2, ["term1"], @ch1))
311
- assert_equal(expect_for_di2_no_child("term1"),
312
- @vis.apply_to_DescListItem(di2, ["term1"], @ch0))
313
-
314
- end
315
-
316
- def expect_for_di1_with_child(term, children)
317
- %|<dt><a name="label:0" id="label:0">#{term}</a></dt><!-- RDLabel: "desclist 1" -->\n| +
318
- %|<dd>\n#{children.join("\n").chomp}\n</dd>|
319
- end
320
-
321
- def expect_for_di1_no_child(term)
322
- %|<dt><a name="label:0" id="label:0">#{term}</a></dt><!-- RDLabel: "desclist 1" -->|
323
- end
324
-
325
- def expect_for_di2_with_child(term, children)
326
- %|<dt><a name="label:1" id="label:1">#{term}</a></dt><!-- RDLabel: "desclist 2" -->\n| +
327
- %|<dd>\n#{children.join("\n").chomp}\n</dd>|
328
- end
329
-
330
- def expect_for_di2_no_child(term)
331
- %|<dt><a name="label:1" id="label:1">#{term}</a></dt><!-- RDLabel: "desclist 2" -->|
332
- end
333
-
334
- # MethodListItem ...
335
-
336
- def check_apply_to_NonterminalInline(type, tag)
337
- element = type.new
338
- name = type.to_s.sub(/RD::/, "")
339
-
340
- assert_equal("<#{tag}>a</#{tag}>",
341
- @vis.send("apply_to_#{name}", element, @ch1))
342
- assert_equal("<#{tag}>ab</#{tag}>",
343
- @vis.send("apply_to_#{name}", element, @ch2))
344
- assert_equal("<#{tag}>a\n</#{tag}>",
345
- @vis.send("apply_to_#{name}", element, @ch3))
346
- assert_equal("<#{tag}></#{tag}>",
347
- @vis.send("apply_to_#{name}", element, @ch0))
348
- end
349
-
350
- def test_apply_to_Emphasis
351
- check_apply_to_NonterminalInline(Emphasis, "em")
352
- end
353
-
354
- def test_apply_to_Code
355
- check_apply_to_NonterminalInline(Code, "code")
356
- end
357
-
358
- def test_apply_to_Var
359
- check_apply_to_NonterminalInline(Var, "var")
360
- end
361
-
362
- def test_apply_to_Keyboard
363
- check_apply_to_NonterminalInline(Keyboard, "kbd")
364
- end
365
-
366
- def test_apply_to_StringElement
367
- se1 = StringElement.new "a"
368
- assert_equal("a", @vis.apply_to_StringElement(se1))
369
- se2 = StringElement.new "a\nb"
370
- assert_equal("a\nb", @vis.apply_to_StringElement(se2))
371
- se_empty = StringElement.new ""
372
- assert_equal("", @vis.apply_to_StringElement(se_empty))
373
- se_ws = StringElement.new " "
374
- assert_equal(" ", @vis.apply_to_StringElement(se_ws))
375
- se_lt = StringElement.new "<"
376
- assert_equal("&lt;", @vis.apply_to_StringElement(se_lt))
377
- se_gt = StringElement.new ">"
378
- assert_equal("&gt;", @vis.apply_to_StringElement(se_gt))
379
- se_amp = StringElement.new "&"
380
- assert_equal("&amp;", @vis.apply_to_StringElement(se_amp))
381
- end
382
-
383
- def test_apply_to_Verb
384
- verb1 = Verb.new "a"
385
- assert_equal("a", @vis.apply_to_Verb(verb1))
386
- verb2 = Verb.new "a\nb"
387
- assert_equal("a\nb", @vis.apply_to_Verb(verb2))
388
- verb_empty = Verb.new ""
389
- assert_equal("", @vis.apply_to_Verb(verb_empty))
390
- verb_ws = Verb.new " "
391
- assert_equal(" ", @vis.apply_to_Verb(verb_ws))
392
- verb_lt = Verb.new "<"
393
- assert_equal("&lt;", @vis.apply_to_Verb(verb_lt))
394
- verb_gt = Verb.new ">"
395
- assert_equal("&gt;", @vis.apply_to_Verb(verb_gt))
396
- verb_amp = Verb.new "&"
397
- assert_equal("&amp;", @vis.apply_to_Verb(verb_amp))
398
- end
399
-
400
- def test_apply_to_Footnote
401
- @vis.prepare_footnotes(@tr_fn)
402
- assert_equal([], @vis.foottexts)
403
-
404
- assert_equal(expect_for_footnote(1),
405
- @vis.apply_to_Footnote(@fn1_fn, ["footnote 1"]))
406
- assert_equal([["footnote 1"]], @vis.foottexts)
407
-
408
- assert_equal(expect_for_footnote(2),
409
- @vis.apply_to_Footnote(@fn2_fn, ["footnote", " 2"]))
410
- assert_equal([["footnote 1"], ["footnote", " 2"]], @vis.foottexts)
411
-
412
- @vis.prepare_footnotes(@tr2_fn)
413
- assert_raises(ArgumentError) do
414
- @vis.apply_to_Footnote(@fn2_fn, [])
415
- end
416
- end
417
-
418
- def expect_for_footnote(num)
419
- %Q|<a name="footmark-#{num}" id="footmark-#{num}" href="#foottext-#{num}">|+
420
- %Q|<sup><small>*#{num}</small></sup></a>|
421
- end
422
-
423
- def test_get_footnote_num
424
- @vis.prepare_footnotes(@tr_fn)
425
- assert_equal(1, @vis.get_footnote_num(@fn1_fn))
426
- assert_equal(2, @vis.get_footnote_num(@fn2_fn))
427
- assert_equal(nil, @vis.get_footnote_num(Footnote.new))
428
- @vis.prepare_footnotes(@tr2_fn)
429
- assert_equal(nil, @vis.get_footnote_num(@fn1_fn))
430
-
431
- assert_raises(ArgumentError) do
432
- @vis.get_footnote_num(Headline.new(1))
433
- end
434
- end
435
-
436
- def test_prepare_footnotes
437
- @vis.prepare_footnotes(@tr_fn)
438
- assert_equal([@fn1_fn, @fn2_fn], @vis.footnotes)
439
-
440
- @vis.prepare_footnotes(@tr2_fn)
441
- assert_equal([], @vis.footnotes)
442
- end
443
-
444
- def test_add_foottext
445
- @vis.prepare_footnotes(@tr_fn)
446
- assert_equal([], @vis.foottexts)
447
- @vis.add_foottext(@vis.get_footnote_num(@fn1_fn), ["footnote 1"])
448
- assert_equal([["footnote 1"]], @vis.foottexts)
449
- @vis.add_foottext(@vis.get_footnote_num(@fn2_fn), ["footnote", "2"])
450
- assert_equal([["footnote 1"], ["footnote", "2"]], @vis.foottexts)
451
- assert_raises(ArgumentError) do
452
- @vis.add_foottext(3, "footnote 3")
453
- end
454
- end
455
-
456
- def test_apply_to_Foottext
457
- @vis.prepare_footnotes(@tr_fn)
458
-
459
- exp1 = %|<a name="foottext-1" id="foottext-1" href="#footmark-1">| +
460
- %|<sup><small>*1</small></sup></a>| +
461
- %|<small>footnote 1</small><br />|
462
- assert_equal(exp1, @vis.apply_to_Foottext(@fn1_fn, ["footnote 1"]))
463
- exp2 = %|<a name="foottext-2" id="foottext-2" href="#footmark-2">| +
464
- %|<sup><small>*2</small></sup></a>| +
465
- %|<small>footnote 2</small><br />|
466
- assert_equal(exp2, @vis.apply_to_Foottext(@fn2_fn, ["footnote", " 2"]))
467
-
468
- @vis.prepare_footnotes(@tr2_fn)
469
- assert_raises(ArgumentError) do
470
- @vis.apply_to_Foottext(@fn1_fn, ["footnote 1"])
471
- end
472
- end
473
-
474
- def test_make_foottext
475
- @vis.prepare_footnotes(@tr_fn)
476
- ft1 = ["footnote 1"]
477
- ft2 = ["footnote", " 2"]
478
- @vis.add_foottext(@vis.get_footnote_num(@fn1_fn), ft1)
479
- @vis.add_foottext(@vis.get_footnote_num(@fn2_fn), ft2)
480
- exp1 = @vis.apply_to_Foottext(@fn1_fn, ft1)
481
- exp2 = @vis.apply_to_Foottext(@fn2_fn, ft2)
482
- assert_equal(%|<hr />\n<p class="foottext">\n#{exp1}\n#{exp2}\n</p>|, @vis.make_foottext)
483
-
484
- @vis.prepare_footnotes(@tr2_fn)
485
- assert_equal(nil, @vis.make_foottext)
486
- end
487
-
488
- def test_hyphen_escape
489
- assert_equal("&shy;&shy;", @vis.hyphen_escape("--"))
490
- assert_equal("-", @vis.hyphen_escape("-"))
491
- assert_equal("&shy;&shy;-", @vis.hyphen_escape("---"))
492
- assert_equal("- -", @vis.hyphen_escape("- -"))
493
- assert_equal("aa&shy;&shy;bb", @vis.hyphen_escape("aa--bb"))
494
- assert_equal("", @vis.hyphen_escape(""))
495
- end
496
- end